libc-0.2.66/.cirrus.yml010064400007650000024000000024551355140103400130470ustar0000000000000000task: name: nightly x86_64-unknown-freebsd-10 freebsd_instance: image: freebsd-10-4-release-amd64 setup_script: - pkg install -y curl - curl https://sh.rustup.rs -sSf --output rustup.sh - sh rustup.sh --default-toolchain nightly -y --profile=minimal - . $HOME/.cargo/env - rustup default nightly test_script: - . $HOME/.cargo/env - LIBC_CI=1 sh ci/run.sh x86_64-unknown-freebsd task: name: stable x86_64-unknown-freebsd-11 freebsd_instance: image: freebsd-11-3-stable-amd64-v20190801 setup_script: - pkg install -y curl - curl https://sh.rustup.rs -sSf --output rustup.sh - sh rustup.sh -y --profile=minimal - . $HOME/.cargo/env - rustup default stable test_script: - . $HOME/.cargo/env - LIBC_CI=1 sh ci/run.sh x86_64-unknown-freebsd - sh ci/run.sh x86_64-unknown-freebsd task: name: nightly x86_64-unknown-freebsd-12 freebsd_instance: image: freebsd-12-0-release-amd64 setup_script: - pkg install -y curl - curl https://sh.rustup.rs -sSf --output rustup.sh - sh rustup.sh --default-toolchain nightly -y --profile=minimal - . $HOME/.cargo/env - rustup default nightly test_script: - . $HOME/.cargo/env - LIBC_CI=1 sh ci/run.sh x86_64-unknown-freebsd - sh ci/run.sh x86_64-unknown-freebsd libc-0.2.66/.github/issue_template.md010064400007650000024000000017211350541206400156430ustar0000000000000000 libc-0.2.66/.gitignore010064400007650000024000000000331350541206400127210ustar0000000000000000target Cargo.lock *~ style libc-0.2.66/build.rs010064400007650000024000000111641357020644200124100ustar0000000000000000use std::env; use std::process::Command; use std::str; fn main() { let (rustc_minor_ver, is_nightly) = rustc_minor_nightly().expect("Failed to get rustc version"); let rustc_dep_of_std = env::var("CARGO_FEATURE_RUSTC_DEP_OF_STD").is_ok(); 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(); if env::var("CARGO_FEATURE_USE_STD").is_ok() { println!( "cargo:warning=\"libc's use_std cargo feature is deprecated since libc 0.2.55; \ please consider using the `std` cargo feature instead\"" ); } // The ABI of libc used by libstd is backward compatible with FreeBSD 10. // The ABI of libc from crates.io is backward compatible with FreeBSD 11. // // On CI, we detect the actual FreeBSD version and match its ABI exactly, // running tests to ensure that the ABI is correct. match which_freebsd() { Some(10) if libc_ci || rustc_dep_of_std => { println!("cargo:rustc-cfg=freebsd10") } Some(11) if libc_ci => println!("cargo:rustc-cfg=freebsd11"), Some(12) if libc_ci => println!("cargo:rustc-cfg=freebsd12"), Some(13) if libc_ci => println!("cargo:rustc-cfg=freebsd13"), Some(_) | None => println!("cargo:rustc-cfg=freebsd11"), } // On CI: deny all warnings if libc_ci { println!("cargo:rustc-cfg=libc_deny_warnings"); } // Rust >= 1.15 supports private module use: if rustc_minor_ver >= 15 || rustc_dep_of_std { println!("cargo:rustc-cfg=libc_priv_mod_use"); } // Rust >= 1.19 supports unions: if rustc_minor_ver >= 19 || rustc_dep_of_std { println!("cargo:rustc-cfg=libc_union"); } // Rust >= 1.24 supports const mem::size_of: if rustc_minor_ver >= 24 || rustc_dep_of_std { println!("cargo:rustc-cfg=libc_const_size_of"); } // Rust >= 1.25 supports repr(align): if rustc_minor_ver >= 25 || rustc_dep_of_std || align_cargo_feature { println!("cargo:rustc-cfg=libc_align"); } // Rust >= 1.30 supports `core::ffi::c_void`, so libc can just re-export it. // Otherwise, it defines an incompatible type to retaining // backwards-compatibility. if rustc_minor_ver >= 30 || rustc_dep_of_std { println!("cargo:rustc-cfg=libc_core_cvoid"); } // Rust >= 1.33 supports repr(packed(N)) if rustc_minor_ver >= 33 || rustc_dep_of_std { println!("cargo:rustc-cfg=libc_packedN"); } // #[thread_local] is currently unstable if rustc_dep_of_std { println!("cargo:rustc-cfg=libc_thread_local"); } if const_extern_fn_cargo_feature { if !is_nightly || rustc_minor_ver < 40 { panic!("const-extern-fn requires a nightly compiler >= 1.40") } println!("cargo:rustc-cfg=libc_const_extern_fn"); } } fn rustc_minor_nightly() -> Option<(u32, bool)> { macro_rules! otry { ($e:expr) => { match $e { Some(e) => e, None => return None, } }; } let rustc = otry!(env::var_os("RUSTC")); let output = otry!(Command::new(rustc).arg("--version").output().ok()); let version = otry!(str::from_utf8(&output.stdout).ok()); let mut pieces = version.split('.'); if pieces.next() != Some("rustc 1") { return None; } let minor = pieces.next(); // If `rustc` was built from a tarball, its version string // will have neither a git hash nor a commit date // (e.g. "rustc 1.39.0"). Treat this case as non-nightly, // since a nightly build should either come from CI // or a git checkout let nightly_raw = otry!(pieces.next()).split('-').nth(1); let nightly = nightly_raw .map(|raw| raw.starts_with("dev") || raw.starts_with("nightly")) .unwrap_or(false); let minor = otry!(otry!(minor).parse().ok()); Some((minor, nightly)) } fn which_freebsd() -> Option { let output = std::process::Command::new("freebsd-version").output().ok(); if output.is_none() { return None; } let output = output.unwrap(); if !output.status.success() { return None; } let stdout = String::from_utf8(output.stdout).ok(); if stdout.is_none() { return None; } let stdout = stdout.unwrap(); match &stdout { s if s.starts_with("10") => Some(10), s if s.starts_with("11") => Some(11), s if s.starts_with("12") => Some(12), s if s.starts_with("13") => Some(13), _ => None, } } libc-0.2.66/Cargo.toml.orig010064400007650000024000000017501357020645700136400ustar0000000000000000[package] name = "libc" version = "0.2.66" authors = ["The Rust Project Developers"] license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/rust-lang/libc" homepage = "https://github.com/rust-lang/libc" documentation = "http://doc.rust-lang.org/libc" keywords = ["libc", "ffi", "bindings", "operating", "system" ] categories = ["external-ffi-bindings", "no-std", "os"] build = "build.rs" exclude = ["/ci/*", "/azure-pipelines.yml"] description = """ Raw FFI bindings to platform libraries like libc. """ [badges] travis-ci = { repository = "rust-lang/libc" } appveyor = { repository = "rust-lang/libc", project_name = "rust-lang-libs/libc" } [dependencies] rustc-std-workspace-core = { version = "1.0.0", optional = true } [features] default = ["std"] std = [] align = [] rustc-dep-of-std = ['align', 'rustc-std-workspace-core'] extra_traits = [] const-extern-fn = [] # use_std is deprecated, use `std` instead use_std = [ 'std' ] [workspace] members = ["libc-test"] libc-0.2.66/Cargo.toml0000644000000026221357020651700101440ustar00# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # 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 # # 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.66" authors = ["The Rust Project Developers"] build = "build.rs" exclude = ["/ci/*", "/azure-pipelines.yml"] description = "Raw FFI bindings to platform libraries like libc.\n" homepage = "https://github.com/rust-lang/libc" documentation = "http://doc.rust-lang.org/libc" readme = "README.md" 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" [dependencies.rustc-std-workspace-core] version = "1.0.0" optional = true [features] align = [] const-extern-fn = [] default = ["std"] extra_traits = [] rustc-dep-of-std = ["align", "rustc-std-workspace-core"] std = [] use_std = ["std"] [badges.appveyor] project_name = "rust-lang-libs/libc" repository = "rust-lang/libc" [badges.travis-ci] repository = "rust-lang/libc" libc-0.2.66/CONTRIBUTING.md010064400007650000024000000056431354272200600131770ustar0000000000000000# Contributing to `libc` Welcome! If you are reading this document, it means you are interested in contributing to the `libc` crate. ## Adding an API Want to use an API which currently isn't bound in `libc`? It's quite easy to add one! The internal structure of this crate is designed to minimize the number of `#[cfg]` attributes in order to easily be able to add new items which apply to all platforms in the future. As a result, the crate is organized hierarchically based on platform. Each module has a number of `#[cfg]`'d children, but only one is ever actually compiled. Each module then reexports all the contents of its children. This means that for each platform that libc supports, the path from a leaf module to the root will contain all bindings for the platform in question. Consequently, this indicates where an API should be added! Adding an API at a particular level in the hierarchy means that it is supported on all the child platforms of that level. For example, when adding a Unix API it should be added to `src/unix/mod.rs`, but when adding a Linux-only API it should be added to `src/unix/linux_like/linux/mod.rs`. If you're not 100% sure at what level of the hierarchy an API should be added at, fear not! This crate has CI support which tests any binding against all platforms supported, so you'll see failures if an API is added at the wrong level or has different signatures across platforms. With that in mind, the steps for adding a new API are: 1. Determine where in the module hierarchy your API should be added. 2. Add the API. 3. Send a PR to this repo. 4. Wait for CI to pass, fixing errors. 5. Wait for a merge! ### Test before you commit We have two automated tests running on [Azure Pipelines](https://dev.azure.com/rust-lang2/libc/_build?definitionId=1&_a=summary): 1. [`libc-test`](https://github.com/gnzlbg/ctest) - `cd libc-test && cargo test` - Use the `skip_*()` functions in `build.rs` if you really need a workaround. 2. Style checker - `rustc ci/style.rs && ./style src` ### Releasing your change to crates.io Now that you've done the amazing job of landing your new API or your new platform in this crate, the next step is to get that sweet, sweet usage from crates.io! The only next step is to bump the version of libc and then publish it. If you'd like to get a release out ASAP you can follow these steps: 1. Update the version number in `Cargo.toml`, you'll just be bumping the patch version number. 2. Run `cargo update` to regenerate the lockfile to encode your version bump in the lock file. You may pull in some other updated dependencies, that's ok. 3. Send a PR to this repository. It should [look like this][example], but it'd also be nice to fill out the description with a small rationale for the release (any rationale is ok though!) 4. Once merged the release will be tagged and published by one of the libc crate maintainers. [example]: https://github.com/rust-lang/libc/pull/583 libc-0.2.66/LICENSE-APACHE010064400007650000024000000251371353033412400126670ustar0000000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason 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. libc-0.2.66/LICENSE-MIT010064400007650000024000000020571353033412400123730ustar0000000000000000Copyright (c) 2014 The Rust Project Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. libc-0.2.66/README.md010064400007650000024000000073251357020644200122260ustar0000000000000000[![Azure Status]][Azure] [![Cirrus CI Status]][Cirrus CI] [![Latest Version]][crates.io] [![Documentation]][docs.rs] ![License] libc - Raw FFI bindings to platforms' system libraries ==== `libc` provides all of the definitions necessary to easily interoperate with C code (or "C-like" code) on each of the platforms that Rust supports. This includes type definitions (e.g. `c_int`), constants (e.g. `EINVAL`) as well as function headers (e.g. `malloc`). This crate exports all underlying platform types, functions, and constants under the crate root, so all items are accessible as `libc::foo`. The types and values of all the exported APIs match the platform that libc is compiled for. More detailed information about the design of this library can be found in its [associated RFC][rfc]. [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1291-promote-libc.md ## Usage Add the following to your `Cargo.toml`: ```toml [dependencies] libc = "0.2" ``` ## Features * `std`: by default `libc` links to the standard library. Disable this feature remove this dependency and be able to use `libc` in `#![no_std]` crates. * `extra_traits`: all `struct`s implemented in `libc` are `Copy` and `Clone`. This feature derives `Debug`, `Eq`, `Hash`, and `PartialEq`. * `const-extern-fn`: Changes some `extern fn`s into `const extern fn`s. This features requires a nightly rustc * **deprecated**: `use_std` is deprecated, and is equivalent to `std`. ## Rust version support The minimum supported Rust toolchain version is **Rust 1.13.0** . APIs requiring newer Rust features are only available on newer Rust toolchains: | Feature | Version | |----------------------|---------| | `union` | 1.19.0 | | `const mem::size_of` | 1.24.0 | | `repr(align)` | 1.25.0 | | `extra_traits` | 1.25.0 | | `core::ffi::c_void` | 1.30.0 | | `repr(packed(N))` | 1.33.0 | ## Platform support [Platform-specific documentation (master branch)][docs.master]. See [`ci/build.sh`](https://github.com/rust-lang/libc/blob/master/ci/build.sh) for the platforms on which `libc` is guaranteed to build for each Rust toolchain. The test-matrix at [Azure] and [Cirrus CI] show the platforms in which `libc` tests are run.
## License This project is licensed under either of * [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) ([LICENSE-APACHE](LICENSE-APACHE)) * [MIT License](https://opensource.org/licenses/MIT) ([LICENSE-MIT](LICENSE-MIT)) at your option. ## Contributing We welcome all people who want to contribute. Please see the [contributing instructions] for more information. [contributing instructions]: CONTRIBUTING.md Contributions in any form (issues, pull requests, etc.) to this project must adhere to Rust's [Code of Conduct]. [Code of Conduct]: https://www.rust-lang.org/policies/code-of-conduct Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in `libc` by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. [Azure Status]: https://dev.azure.com/rust-lang2/libc/_apis/build/status/rust-lang.libc?branchName=master [Azure]: https://dev.azure.com/rust-lang2/libc/_build/latest?definitionId=1&branchName=master [Cirrus CI]: https://cirrus-ci.com/github/rust-lang/libc [Cirrus CI Status]: https://api.cirrus-ci.com/github/rust-lang/libc.svg [crates.io]: https://crates.io/crates/libc [Latest Version]: https://img.shields.io/crates/v/libc.svg [Documentation]: https://docs.rs/libc/badge.svg [docs.rs]: https://docs.rs/libc [License]: https://img.shields.io/crates/l/libc.svg [docs.master]: https://rust-lang.github.io/libc/#platform-specific-documentation libc-0.2.66/rustfmt.toml010064400007650000024000000000771353644173700133570ustar0000000000000000max_width = 79 comment_width = 79 error_on_line_overflow = truelibc-0.2.66/src/cloudabi/aarch64.rs010064400007650000024000000001351353453276600151210ustar0000000000000000pub type c_char = u8; pub type c_long = i64; pub type c_ulong = u64; pub type wchar_t = u32; libc-0.2.66/src/cloudabi/arm.rs010064400007650000024000000001351353453276600144500ustar0000000000000000pub type c_char = u8; pub type c_long = i32; pub type c_ulong = u32; pub type wchar_t = u32; libc-0.2.66/src/cloudabi/mod.rs010064400007650000024000000265741354107165000144530ustar0000000000000000pub 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 size_t = usize; pub type ptrdiff_t = isize; pub type intptr_t = isize; pub type uintptr_t = usize; pub type ssize_t = isize; pub type in_addr_t = u32; pub type in_port_t = u16; pub type pthread_key_t = usize; pub type pthread_t = usize; pub type sa_family_t = u8; pub type socklen_t = usize; pub type time_t = i64; s! { pub struct addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: ::socklen_t, pub ai_addr: *mut ::sockaddr, pub ai_canonname: *mut ::c_char, pub ai_next: *mut addrinfo, } pub struct in_addr { pub s_addr: in_addr_t, } pub struct in6_addr { pub s6_addr: [u8; 16], } pub struct pthread_attr_t { __detachstate: ::c_int, __stacksize: usize, } pub struct sockaddr { pub sa_family: sa_family_t, pub sa_data: [::c_char; 0], } 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_storage { pub ss_family: ::sa_family_t, __ss_data: [u8; 32], } } pub const INT_MIN: c_int = -2147483648; pub const INT_MAX: c_int = 2147483647; pub const _SC_NPROCESSORS_ONLN: ::c_int = 52; pub const _SC_PAGESIZE: ::c_int = 54; pub const AF_INET: ::c_int = 1; pub const AF_INET6: ::c_int = 2; pub const EACCES: ::c_int = 2; pub const EADDRINUSE: ::c_int = 3; pub const EADDRNOTAVAIL: ::c_int = 4; pub const EAGAIN: ::c_int = 6; pub const ECONNABORTED: ::c_int = 13; pub const ECONNREFUSED: ::c_int = 14; pub const ECONNRESET: ::c_int = 15; pub const EEXIST: ::c_int = 20; pub const EINTR: ::c_int = 27; pub const EINVAL: ::c_int = 28; pub const ENOENT: ::c_int = 44; pub const ENOTCONN: ::c_int = 53; pub const EPERM: ::c_int = 63; pub const EPIPE: ::c_int = 64; pub const ETIMEDOUT: ::c_int = 73; pub const EWOULDBLOCK: ::c_int = EAGAIN; pub const EAI_SYSTEM: ::c_int = 9; pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; pub const PTHREAD_STACK_MIN: ::size_t = 1024; pub const SOCK_DGRAM: ::c_int = 128; pub const SOCK_STREAM: ::c_int = 130; #[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 {} // TODO: fill this out with a struct impl ::Copy for fpos_t {} impl ::Clone for fpos_t { fn clone(&self) -> fpos_t { *self } } extern "C" { 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; pub fn fopen(filename: *const c_char, mode: *const c_char) -> *mut FILE; pub fn freopen( filename: *const c_char, mode: *const c_char, file: *mut FILE, ) -> *mut FILE; pub fn fflush(file: *mut FILE) -> c_int; pub fn fclose(file: *mut FILE) -> c_int; pub fn remove(filename: *const c_char) -> c_int; pub fn rename(oldname: *const c_char, newname: *const c_char) -> c_int; pub fn tmpfile() -> *mut FILE; pub fn setvbuf( stream: *mut FILE, buffer: *mut c_char, mode: c_int, size: size_t, ) -> c_int; pub fn setbuf(stream: *mut FILE, buf: *mut c_char); pub fn getchar() -> c_int; pub fn putchar(c: c_int) -> c_int; pub fn fgetc(stream: *mut FILE) -> c_int; pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char; pub fn fputc(c: c_int, stream: *mut FILE) -> c_int; pub fn fputs(s: *const c_char, stream: *mut FILE) -> c_int; pub fn puts(s: *const c_char) -> c_int; pub fn ungetc(c: c_int, stream: *mut FILE) -> c_int; pub fn fread( ptr: *mut c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; pub fn fwrite( ptr: *const c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int; pub fn ftell(stream: *mut FILE) -> c_long; pub fn rewind(stream: *mut FILE); pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> c_int; pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> c_int; 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 atoi(s: *const c_char) -> c_int; pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double; 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; pub fn malloc(size: size_t) -> *mut c_void; pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void; pub fn free(p: *mut c_void); pub fn abort() -> !; pub fn exit(status: c_int) -> !; pub fn _exit(status: c_int) -> !; pub fn atexit(cb: extern "C" fn()) -> c_int; pub fn system(s: *const c_char) -> c_int; pub fn getenv(s: *const c_char) -> *mut c_char; pub fn getline( lineptr: *mut *mut c_char, n: *mut size_t, stream: *mut FILE, ) -> ssize_t; pub fn strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char; pub fn strncpy( dst: *mut c_char, src: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char; pub fn strncat( s: *mut c_char, ct: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int; pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strdup(cs: *const c_char) -> *mut c_char; pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strcasecmp(s1: *const c_char, s2: *const c_char) -> c_int; pub fn strncasecmp( s1: *const c_char, s2: *const c_char, n: size_t, ) -> c_int; pub fn strlen(cs: *const c_char) -> size_t; pub fn strnlen(cs: *const c_char, maxlen: size_t) -> size_t; pub fn strerror(n: c_int) -> *mut c_char; pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char; pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t; pub fn wcslen(buf: *const wchar_t) -> size_t; pub fn wcstombs( dest: *mut c_char, src: *const wchar_t, n: size_t, ) -> ::size_t; pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void; pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int; pub fn memcpy( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memmove( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void; pub fn abs(i: c_int) -> c_int; pub fn atof(s: *const c_char) -> c_double; pub fn labs(i: c_long) -> c_long; pub fn rand() -> c_int; pub fn srand(seed: c_uint); pub fn arc4random_buf(buf: *const ::c_void, len: ::size_t); pub fn freeaddrinfo(res: *mut addrinfo); pub fn gai_strerror(errcode: ::c_int) -> *const ::c_char; pub fn getaddrinfo( node: *const c_char, service: *const c_char, hints: *const addrinfo, res: *mut *mut addrinfo, ) -> ::c_int; pub fn getsockopt( sockfd: ::c_int, level: ::c_int, optname: ::c_int, optval: *mut ::c_void, optlen: *mut ::socklen_t, ) -> ::c_int; pub fn posix_memalign( memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t, ) -> ::c_int; pub fn pthread_attr_destroy(attr: *mut ::pthread_attr_t) -> ::c_int; pub fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int; pub fn pthread_attr_setstacksize( attr: *mut ::pthread_attr_t, stack_size: ::size_t, ) -> ::c_int; 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 pthread_detach(thread: ::pthread_t) -> ::c_int; pub fn pthread_getspecific(key: pthread_key_t) -> *mut ::c_void; pub fn pthread_join( native: ::pthread_t, value: *mut *mut ::c_void, ) -> ::c_int; pub fn pthread_key_create( key: *mut pthread_key_t, dtor: ::Option, ) -> ::c_int; pub fn pthread_key_delete(key: pthread_key_t) -> ::c_int; pub fn pthread_setspecific( key: pthread_key_t, value: *const ::c_void, ) -> ::c_int; pub fn send( socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int, ) -> ::ssize_t; pub fn sysconf(name: ::c_int) -> ::c_long; } 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 if #[cfg(any(target_arch = "x86"))] { mod x86; pub use self::x86::*; } else if #[cfg(any(target_arch = "x86_64"))] { mod x86_64; pub use self::x86_64::*; } else { // Unknown target_arch } } 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, } } } libc-0.2.66/src/cloudabi/x86.rs010064400007650000024000000001351353453276600143160ustar0000000000000000pub type c_char = i8; pub type c_long = i32; pub type c_ulong = u32; pub type wchar_t = i32; libc-0.2.66/src/cloudabi/x86_64.rs010064400007650000024000000001351353453276600146270ustar0000000000000000pub type c_char = i8; pub type c_long = i64; pub type c_ulong = u64; pub type wchar_t = i32; libc-0.2.66/src/fixed_width_ints.rs010064400007650000024000000014431353775267200154500ustar0000000000000000//! This module contains type aliases for C's fixed-width integer types . //! //! These aliases are deprecated: use the Rust types instead. #[deprecated(since = "0.2.55", note = "Use i8 instead.")] pub type int8_t = i8; #[deprecated(since = "0.2.55", note = "Use i16 instead.")] pub type int16_t = i16; #[deprecated(since = "0.2.55", note = "Use i32 instead.")] pub type int32_t = i32; #[deprecated(since = "0.2.55", note = "Use i64 instead.")] pub type int64_t = i64; #[deprecated(since = "0.2.55", note = "Use u8 instead.")] pub type uint8_t = u8; #[deprecated(since = "0.2.55", note = "Use u16 instead.")] pub type uint16_t = u16; #[deprecated(since = "0.2.55", note = "Use u32 instead.")] pub type uint32_t = u32; #[deprecated(since = "0.2.55", note = "Use u64 instead.")] pub type uint64_t = u64; libc-0.2.66/src/fuchsia/aarch64.rs010064400007650000024000000033741353453276600147710ustar0000000000000000pub type c_char = u8; pub type __u64 = ::c_ulonglong; pub type wchar_t = u32; pub type nlink_t = ::c_ulong; pub type blksize_t = ::c_long; 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, __pad0: ::c_ulong, pub st_size: ::off_t, pub st_blksize: ::blksize_t, __pad1: ::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_uint; 2], } pub struct stat64 { 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, __pad0: ::c_ulong, pub st_size: ::off_t, pub st_blksize: ::blksize_t, __pad1: ::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_uint; 2], } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_ushort, __unused1: ::c_ulong, __unused2: ::c_ulong, } } pub const MINSIGSTKSZ: ::size_t = 6144; pub const SIGSTKSZ: ::size_t = 12288; libc-0.2.66/src/fuchsia/align.rs010064400007650000024000000125501353775267200146320ustar0000000000000000macro_rules! expand_align { () => { s! { #[cfg_attr( any( target_pointer_width = "32", target_arch = "x86_64" ), repr(align(4)))] #[cfg_attr( not(any( target_pointer_width = "32", target_arch = "x86_64" )), repr(align(8)))] pub struct pthread_mutexattr_t { size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } #[cfg_attr(target_pointer_width = "32", repr(align(4)))] #[cfg_attr(target_pointer_width = "64", repr(align(8)))] pub struct pthread_rwlockattr_t { size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], } #[repr(align(4))] pub struct pthread_condattr_t { size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } s_no_extra_traits! { #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "arm", target_arch = "x86_64")), repr(align(4)))] #[cfg_attr(any(target_pointer_width = "64", not(any(target_arch = "arm", target_arch = "x86_64"))), repr(align(8)))] pub struct pthread_mutex_t { size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "arm", target_arch = "x86_64")), repr(align(4)))] #[cfg_attr(any(target_pointer_width = "64", not(any(target_arch = "arm", target_arch = "x86_64"))), repr(align(8)))] pub struct pthread_rwlock_t { size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } #[cfg_attr(target_pointer_width = "32", repr(align(4)))] #[cfg_attr(target_pointer_width = "64", repr(align(8)))] #[cfg_attr(target_arch = "x86", repr(align(4)))] #[cfg_attr(not(target_arch = "x86"), repr(align(8)))] pub struct pthread_cond_t { size: [u8; ::__SIZEOF_PTHREAD_COND_T], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for pthread_cond_t { fn eq(&self, other: &pthread_cond_t) -> bool { self.size .iter() .zip(other.size.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_cond_t {} impl ::fmt::Debug for pthread_cond_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_cond_t") // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_cond_t { fn hash(&self, state: &mut H) { self.size.hash(state); } } impl PartialEq for pthread_mutex_t { fn eq(&self, other: &pthread_mutex_t) -> bool { self.size .iter() .zip(other.size.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_mutex_t {} impl ::fmt::Debug for pthread_mutex_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_mutex_t") // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_mutex_t { fn hash(&self, state: &mut H) { self.size.hash(state); } } impl PartialEq for pthread_rwlock_t { fn eq(&self, other: &pthread_rwlock_t) -> bool { self.size .iter() .zip(other.size.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_rwlock_t {} impl ::fmt::Debug for pthread_rwlock_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_rwlock_t") // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_rwlock_t { fn hash(&self, state: &mut H) { self.size.hash(state); } } } } }; } libc-0.2.66/src/fuchsia/mod.rs010064400007650000024000004404631354141276600143170ustar0000000000000000//! Definitions found commonly among almost all Unix derivatives //! //! More functions and definitions can be found in the more specific modules //! according to the platform in question. // PUB_TYPE 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 locale_t = *mut ::c_void; pub type size_t = usize; pub type ptrdiff_t = isize; pub type intptr_t = isize; pub type uintptr_t = usize; pub type ssize_t = isize; pub type pid_t = i32; pub type uid_t = u32; pub type gid_t = u32; pub type in_addr_t = u32; pub type in_port_t = u16; pub type sighandler_t = ::size_t; pub type cc_t = ::c_uchar; pub type sa_family_t = u16; pub type pthread_key_t = ::c_uint; pub type speed_t = ::c_uint; pub type tcflag_t = ::c_uint; pub type clockid_t = ::c_int; pub type key_t = ::c_int; pub type id_t = ::c_uint; pub type useconds_t = u32; pub type dev_t = u64; pub type socklen_t = u32; pub type pthread_t = c_ulong; pub type mode_t = u32; pub type ino64_t = u64; pub type off64_t = i64; pub type blkcnt64_t = i64; pub type rlim64_t = u64; pub type mqd_t = ::c_int; pub type nfds_t = ::c_ulong; pub type nl_item = ::c_int; pub type idtype_t = ::c_uint; pub type loff_t = ::c_longlong; 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; pub type Elf32_Half = u16; pub type Elf32_Word = u32; pub type Elf32_Off = u32; pub type Elf32_Addr = u32; pub type Elf64_Half = u16; pub type Elf64_Word = u32; pub type Elf64_Off = u64; pub type Elf64_Addr = u64; pub type Elf64_Xword = u64; pub type clock_t = c_long; pub type time_t = c_long; pub type suseconds_t = c_long; pub type ino_t = u64; pub type off_t = i64; pub type blkcnt_t = i64; pub type shmatt_t = ::c_ulong; pub type msgqnum_t = ::c_ulong; pub type msglen_t = ::c_ulong; pub type fsblkcnt_t = ::c_ulonglong; pub type fsfilcnt_t = ::c_ulonglong; pub type rlim_t = ::c_ulonglong; pub type c_long = i64; pub type c_ulong = u64; // FIXME: why are these uninhabited types? that seems... wrong? // Presumably these should be `()` or an `extern type` (when that stabilizes). #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum DIR {} impl ::Copy for DIR {} impl ::Clone for DIR { fn clone(&self) -> DIR { *self } } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum fpos64_t {} // TODO: fill this out with a struct impl ::Copy for fpos64_t {} impl ::Clone for fpos64_t { fn clone(&self) -> fpos64_t { *self } } // PUB_STRUCT s! { pub struct group { pub gr_name: *mut ::c_char, pub gr_passwd: *mut ::c_char, pub gr_gid: ::gid_t, pub gr_mem: *mut *mut ::c_char, } pub struct utimbuf { pub actime: time_t, pub modtime: time_t, } pub struct timeval { pub tv_sec: time_t, pub tv_usec: suseconds_t, } pub struct timespec { pub tv_sec: time_t, pub tv_nsec: ::c_long, } // FIXME: the rlimit and rusage related functions and types don't exist // within zircon. Are there reasons for keeping them around? pub struct rlimit { pub rlim_cur: rlim_t, pub rlim_max: rlim_t, } pub struct rusage { pub ru_utime: timeval, pub ru_stime: timeval, pub ru_maxrss: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad1: u32, pub ru_ixrss: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad2: u32, pub ru_idrss: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad3: u32, pub ru_isrss: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad4: u32, pub ru_minflt: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad5: u32, pub ru_majflt: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad6: u32, pub ru_nswap: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad7: u32, pub ru_inblock: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad8: u32, pub ru_oublock: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad9: u32, pub ru_msgsnd: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad10: u32, pub ru_msgrcv: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad11: u32, pub ru_nsignals: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad12: u32, pub ru_nvcsw: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad13: u32, pub ru_nivcsw: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad14: u32, } pub struct in_addr { pub s_addr: in_addr_t, } pub struct in6_addr { pub s6_addr: [u8; 16], } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct ipv6_mreq { pub ipv6mr_multiaddr: in6_addr, pub ipv6mr_interface: ::c_uint, } pub struct hostent { pub h_name: *mut ::c_char, pub h_aliases: *mut *mut ::c_char, pub h_addrtype: ::c_int, pub h_length: ::c_int, pub h_addr_list: *mut *mut ::c_char, } pub struct iovec { pub iov_base: *mut ::c_void, pub iov_len: ::size_t, } pub struct pollfd { pub fd: ::c_int, pub events: ::c_short, pub revents: ::c_short, } pub struct winsize { pub ws_row: ::c_ushort, pub ws_col: ::c_ushort, pub ws_xpixel: ::c_ushort, pub ws_ypixel: ::c_ushort, } pub struct linger { pub l_onoff: ::c_int, pub l_linger: ::c_int, } pub struct sigval { // Actually a union of an int and a void* pub sival_ptr: *mut ::c_void } // pub struct itimerval { pub it_interval: ::timeval, pub it_value: ::timeval, } // pub struct tms { pub tms_utime: ::clock_t, pub tms_stime: ::clock_t, pub tms_cutime: ::clock_t, pub tms_cstime: ::clock_t, } pub struct servent { pub s_name: *mut ::c_char, pub s_aliases: *mut *mut ::c_char, pub s_port: ::c_int, pub s_proto: *mut ::c_char, } pub struct protoent { pub p_name: *mut ::c_char, pub p_aliases: *mut *mut ::c_char, pub p_proto: ::c_int, } pub struct aiocb { pub aio_fildes: ::c_int, pub aio_lio_opcode: ::c_int, pub aio_reqprio: ::c_int, pub aio_buf: *mut ::c_void, pub aio_nbytes: ::size_t, pub aio_sigevent: ::sigevent, __td: *mut ::c_void, __lock: [::c_int; 2], __err: ::c_int, __ret: ::ssize_t, pub aio_offset: off_t, __next: *mut ::c_void, __prev: *mut ::c_void, #[cfg(target_pointer_width = "32")] __dummy4: [::c_char; 24], #[cfg(target_pointer_width = "64")] __dummy4: [::c_char; 16], } pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } pub struct termios { 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; ::NCCS], pub __c_ispeed: ::speed_t, pub __c_ospeed: ::speed_t, } 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 ucred { pub pid: ::pid_t, pub uid: ::uid_t, pub gid: ::gid_t, } pub struct sockaddr { pub sa_family: sa_family_t, pub sa_data: [::c_char; 14], } pub struct sockaddr_in { pub sin_family: sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [u8; 8], } 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 addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: socklen_t, pub ai_addr: *mut ::sockaddr, pub ai_canonname: *mut c_char, pub ai_next: *mut addrinfo, } pub struct sockaddr_ll { pub sll_family: ::c_ushort, pub sll_protocol: ::c_ushort, pub sll_ifindex: ::c_int, pub sll_hatype: ::c_ushort, pub sll_pkttype: ::c_uchar, pub sll_halen: ::c_uchar, pub sll_addr: [::c_uchar; 8] } pub struct fd_set { fds_bits: [::c_ulong; FD_SETSIZE / ULONG_SIZE], } 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: *const ::c_char, } pub struct sched_param { pub sched_priority: ::c_int, pub sched_ss_low_priority: ::c_int, pub sched_ss_repl_period: ::timespec, pub sched_ss_init_budget: ::timespec, pub sched_ss_max_repl: ::c_int, } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } pub struct epoll_event { pub events: u32, pub u64: u64, } 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_p_sep_by_space: ::c_char, pub int_n_cs_precedes: ::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 rlimit64 { pub rlim_cur: rlim64_t, pub rlim_max: rlim64_t, } pub struct glob_t { pub gl_pathc: ::size_t, pub gl_pathv: *mut *mut c_char, pub gl_offs: ::size_t, pub gl_flags: ::c_int, __unused1: *mut ::c_void, __unused2: *mut ::c_void, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, } 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_ifu: *mut ::sockaddr, // FIXME This should be a union pub ifa_data: *mut ::c_void } pub struct passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, } pub struct spwd { pub sp_namp: *mut ::c_char, pub sp_pwdp: *mut ::c_char, pub sp_lstchg: ::c_long, pub sp_min: ::c_long, pub sp_max: ::c_long, pub sp_warn: ::c_long, pub sp_inact: ::c_long, pub sp_expire: ::c_long, pub sp_flag: ::c_ulong, } 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, #[cfg(target_endian = "little")] pub f_fsid: ::c_ulong, #[cfg(all(target_pointer_width = "32", not(target_arch = "x86_64")))] __f_unused: ::c_int, #[cfg(target_endian = "big")] pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct dqblk { pub dqb_bhardlimit: u64, pub dqb_bsoftlimit: u64, pub dqb_curspace: u64, pub dqb_ihardlimit: u64, pub dqb_isoftlimit: u64, pub dqb_curinodes: u64, pub dqb_btime: u64, pub dqb_itime: u64, pub dqb_valid: u32, } pub struct signalfd_siginfo { pub ssi_signo: u32, pub ssi_errno: i32, pub ssi_code: i32, pub ssi_pid: u32, pub ssi_uid: u32, pub ssi_fd: i32, pub ssi_tid: u32, pub ssi_band: u32, pub ssi_overrun: u32, pub ssi_trapno: u32, pub ssi_status: i32, pub ssi_int: i32, pub ssi_ptr: u64, pub ssi_utime: u64, pub ssi_stime: u64, pub ssi_addr: u64, pub ssi_addr_lsb: u16, _pad2: u16, pub ssi_syscall: i32, pub ssi_call_addr: u64, pub ssi_arch: u32, _pad: [u8; 28], } pub struct itimerspec { pub it_interval: ::timespec, pub it_value: ::timespec, } pub struct fsid_t { __val: [::c_int; 2], } pub struct cpu_set_t { #[cfg(all(target_pointer_width = "32", not(target_arch = "x86_64")))] bits: [u32; 32], #[cfg(not(all(target_pointer_width = "32", not(target_arch = "x86_64"))))] bits: [u64; 16], } pub struct if_nameindex { pub if_index: ::c_uint, pub if_name: *mut ::c_char, } // System V IPC pub struct msginfo { pub msgpool: ::c_int, pub msgmap: ::c_int, pub msgmax: ::c_int, pub msgmnb: ::c_int, pub msgmni: ::c_int, pub msgssz: ::c_int, pub msgtql: ::c_int, pub msgseg: ::c_ushort, } pub struct mmsghdr { pub msg_hdr: ::msghdr, pub msg_len: ::c_uint, } pub struct sembuf { pub sem_num: ::c_ushort, pub sem_op: ::c_short, pub sem_flg: ::c_short, } pub struct input_event { pub time: ::timeval, pub type_: ::__u16, pub code: ::__u16, pub value: ::__s32, } pub struct input_id { pub bustype: ::__u16, pub vendor: ::__u16, pub product: ::__u16, pub version: ::__u16, } pub struct input_absinfo { pub value: ::__s32, pub minimum: ::__s32, pub maximum: ::__s32, pub fuzz: ::__s32, pub flat: ::__s32, pub resolution: ::__s32, } pub struct input_keymap_entry { pub flags: ::__u8, pub len: ::__u8, pub index: ::__u16, pub keycode: ::__u32, pub scancode: [::__u8; 32], } pub struct input_mask { pub type_: ::__u32, pub codes_size: ::__u32, pub codes_ptr: ::__u64, } pub struct ff_replay { pub length: ::__u16, pub delay: ::__u16, } pub struct ff_trigger { pub button: ::__u16, pub interval: ::__u16, } pub struct ff_envelope { pub attack_length: ::__u16, pub attack_level: ::__u16, pub fade_length: ::__u16, pub fade_level: ::__u16, } pub struct ff_constant_effect { pub level: ::__s16, pub envelope: ff_envelope, } pub struct ff_ramp_effect { pub start_level: ::__s16, pub end_level: ::__s16, pub envelope: ff_envelope, } pub struct ff_condition_effect { pub right_saturation: ::__u16, pub left_saturation: ::__u16, pub right_coeff: ::__s16, pub left_coeff: ::__s16, pub deadband: ::__u16, pub center: ::__s16, } pub struct ff_periodic_effect { pub waveform: ::__u16, pub period: ::__u16, pub magnitude: ::__s16, pub offset: ::__s16, pub phase: ::__u16, pub envelope: ff_envelope, pub custom_len: ::__u32, pub custom_data: *mut ::__s16, } pub struct ff_rumble_effect { pub strong_magnitude: ::__u16, pub weak_magnitude: ::__u16, } pub struct ff_effect { pub type_: ::__u16, pub id: ::__s16, pub direction: ::__u16, pub trigger: ff_trigger, pub replay: ff_replay, // FIXME this is actually a union #[cfg(target_pointer_width = "64")] pub u: [u64; 4], #[cfg(target_pointer_width = "32")] pub u: [u32; 7], } 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, pub dlpi_adds: ::c_ulonglong, pub dlpi_subs: ::c_ulonglong, pub dlpi_tls_modid: ::size_t, pub dlpi_tls_data: *mut ::c_void, } 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, } pub struct statfs64 { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct pthread_attr_t { __size: [u64; 7] } pub struct sigset_t { __val: [::c_ulong; 16], } 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: ::c_ulong, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, pub msg_rtime: ::time_t, pub msg_ctime: ::time_t, __msg_cbytes: ::c_ulong, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct statfs { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::c_int, __pad1: ::c_int, pub msg_control: *mut ::c_void, pub msg_controllen: ::socklen_t, __pad2: ::socklen_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::socklen_t, pub __pad1: ::c_int, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct sem_t { __val: [::c_int; 8], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub _pad: [::c_int; 29], _align: [usize; 0], } 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, } } s_no_extra_traits! { pub struct sysinfo { pub uptime: ::c_ulong, pub loads: [::c_ulong; 3], pub totalram: ::c_ulong, pub freeram: ::c_ulong, pub sharedram: ::c_ulong, pub bufferram: ::c_ulong, pub totalswap: ::c_ulong, pub freeswap: ::c_ulong, pub procs: ::c_ushort, pub pad: ::c_ushort, pub totalhigh: ::c_ulong, pub freehigh: ::c_ulong, pub mem_unit: ::c_uint, pub __reserved: [::c_char; 256], } pub struct sockaddr_un { pub sun_family: sa_family_t, pub sun_path: [::c_char; 108] } pub struct sockaddr_storage { pub ss_family: sa_family_t, __ss_align: ::size_t, __ss_pad2: [u8; 128 - 2 * 8], } pub struct utsname { pub sysname: [::c_char; 65], pub nodename: [::c_char; 65], pub release: [::c_char; 65], pub version: [::c_char; 65], pub machine: [::c_char; 65], pub domainname: [::c_char; 65] } pub struct dirent { pub d_ino: ::ino_t, pub d_off: ::off_t, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } pub struct dirent64 { pub d_ino: ::ino64_t, pub d_off: ::off64_t, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } // x32 compatibility // See https://sourceware.org/bugzilla/show_bug.cgi?id=21279 pub struct mq_attr { #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pub mq_flags: i64, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pub mq_maxmsg: i64, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pub mq_msgsize: i64, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pub mq_curmsgs: i64, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pad: [i64; 4], #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub mq_flags: ::c_long, #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub mq_maxmsg: ::c_long, #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub mq_msgsize: ::c_long, #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub mq_curmsgs: ::c_long, #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pad: [::c_long; 4], } pub struct sockaddr_nl { pub nl_family: ::sa_family_t, nl_pad: ::c_ushort, pub nl_pid: u32, pub nl_groups: u32 } pub struct sigevent { pub sigev_value: ::sigval, pub sigev_signo: ::c_int, pub sigev_notify: ::c_int, pub sigev_notify_function: fn(::sigval), pub sigev_notify_attributes: *mut pthread_attr_t, pub __pad: [::c_char; 56 - 3 * 8 /* 8 == sizeof(long) */], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for sysinfo { fn eq(&self, other: &sysinfo) -> bool { self.uptime == other.uptime && self.loads == other.loads && self.totalram == other.totalram && self.freeram == other.freeram && self.sharedram == other.sharedram && self.bufferram == other.bufferram && self.totalswap == other.totalswap && self.freeswap == other.freeswap && self.procs == other.procs && self.pad == other.pad && self.totalhigh == other.totalhigh && self.freehigh == other.freehigh && self.mem_unit == other.mem_unit && self .__reserved .iter() .zip(other.__reserved.iter()) .all(|(a,b)| a == b) } } impl Eq for sysinfo {} impl ::fmt::Debug for sysinfo { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sysinfo") .field("uptime", &self.uptime) .field("loads", &self.loads) .field("totalram", &self.totalram) .field("freeram", &self.freeram) .field("sharedram", &self.sharedram) .field("bufferram", &self.bufferram) .field("totalswap", &self.totalswap) .field("freeswap", &self.freeswap) .field("procs", &self.procs) .field("pad", &self.pad) .field("totalhigh", &self.totalhigh) .field("freehigh", &self.freehigh) .field("mem_unit", &self.mem_unit) // FIXME: .field("__reserved", &self.__reserved) .finish() } } impl ::hash::Hash for sysinfo { fn hash(&self, state: &mut H) { self.uptime.hash(state); self.loads.hash(state); self.totalram.hash(state); self.freeram.hash(state); self.sharedram.hash(state); self.bufferram.hash(state); self.totalswap.hash(state); self.freeswap.hash(state); self.procs.hash(state); self.pad.hash(state); self.totalhigh.hash(state); self.freehigh.hash(state); self.mem_unit.hash(state); self.__reserved.hash(state); } } impl PartialEq for sockaddr_un { fn eq(&self, other: &sockaddr_un) -> bool { self.sun_family == other.sun_family && self .sun_path .iter() .zip(other.sun_path.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_un {} impl ::fmt::Debug for sockaddr_un { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_un") .field("sun_family", &self.sun_family) // FIXME: .field("sun_path", &self.sun_path) .finish() } } impl ::hash::Hash for sockaddr_un { fn hash(&self, state: &mut H) { self.sun_family.hash(state); self.sun_path.hash(state); } } impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.ss_family == other.ss_family && self.__ss_align == other.__ss_align && self .__ss_pad2 .iter() .zip(other.__ss_pad2.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_family", &self.ss_family) .field("__ss_align", &self.__ss_align) // FIXME: .field("__ss_pad2", &self.__ss_pad2) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.ss_family.hash(state); self.__ss_align.hash(state); self.__ss_pad2.hash(state); } } impl PartialEq for utsname { fn eq(&self, other: &utsname) -> bool { self.sysname .iter() .zip(other.sysname.iter()) .all(|(a,b)| a == b) && self .nodename .iter() .zip(other.nodename.iter()) .all(|(a,b)| a == b) && self .release .iter() .zip(other.release.iter()) .all(|(a,b)| a == b) && self .version .iter() .zip(other.version.iter()) .all(|(a,b)| a == b) && self .machine .iter() .zip(other.machine.iter()) .all(|(a,b)| a == b) } } impl Eq for utsname {} impl ::fmt::Debug for utsname { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utsname") // FIXME: .field("sysname", &self.sysname) // FIXME: .field("nodename", &self.nodename) // FIXME: .field("release", &self.release) // FIXME: .field("version", &self.version) // FIXME: .field("machine", &self.machine) .finish() } } impl ::hash::Hash for utsname { fn hash(&self, state: &mut H) { self.sysname.hash(state); self.nodename.hash(state); self.release.hash(state); self.version.hash(state); self.machine.hash(state); } } impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self.d_type == other.d_type && self .d_name .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_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for dirent64 { fn eq(&self, other: &dirent64) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self.d_type == other.d_type && self .d_name .iter() .zip(other.d_name.iter()) .all(|(a,b)| a == b) } } impl Eq for dirent64 {} impl ::fmt::Debug for dirent64 { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("dirent64") .field("d_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent64 { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for mq_attr { fn eq(&self, other: &mq_attr) -> bool { self.mq_flags == other.mq_flags && self.mq_maxmsg == other.mq_maxmsg && self.mq_msgsize == other.mq_msgsize && self.mq_curmsgs == other.mq_curmsgs } } impl Eq for mq_attr {} impl ::fmt::Debug for mq_attr { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("mq_attr") .field("mq_flags", &self.mq_flags) .field("mq_maxmsg", &self.mq_maxmsg) .field("mq_msgsize", &self.mq_msgsize) .field("mq_curmsgs", &self.mq_curmsgs) .finish() } } impl ::hash::Hash for mq_attr { fn hash(&self, state: &mut H) { self.mq_flags.hash(state); self.mq_maxmsg.hash(state); self.mq_msgsize.hash(state); self.mq_curmsgs.hash(state); } } impl PartialEq for sockaddr_nl { fn eq(&self, other: &sockaddr_nl) -> bool { self.nl_family == other.nl_family && self.nl_pid == other.nl_pid && self.nl_groups == other.nl_groups } } impl Eq for sockaddr_nl {} impl ::fmt::Debug for sockaddr_nl { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_nl") .field("nl_family", &self.nl_family) .field("nl_pid", &self.nl_pid) .field("nl_groups", &self.nl_groups) .finish() } } impl ::hash::Hash for sockaddr_nl { fn hash(&self, state: &mut H) { self.nl_family.hash(state); self.nl_pid.hash(state); self.nl_groups.hash(state); } } impl PartialEq for sigevent { fn eq(&self, other: &sigevent) -> bool { self.sigev_value == other.sigev_value && self.sigev_signo == other.sigev_signo && self.sigev_notify == other.sigev_notify && self.sigev_notify_function == other.sigev_notify_function && self.sigev_notify_attributes == other.sigev_notify_attributes } } impl Eq for sigevent {} impl ::fmt::Debug for sigevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigevent") .field("sigev_value", &self.sigev_value) .field("sigev_signo", &self.sigev_signo) .field("sigev_notify", &self.sigev_notify) .field("sigev_notify_function", &self.sigev_notify_function) .field("sigev_notify_attributes", &self.sigev_notify_attributes) .finish() } } impl ::hash::Hash for sigevent { fn hash(&self, state: &mut H) { self.sigev_value.hash(state); self.sigev_signo.hash(state); self.sigev_notify.hash(state); self.sigev_notify_function.hash(state); self.sigev_notify_attributes.hash(state); } } } } // PUB_CONST pub const INT_MIN: c_int = -2147483648; pub const INT_MAX: c_int = 2147483647; 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_FIFO: u8 = 1; pub const DT_CHR: u8 = 2; pub const DT_DIR: u8 = 4; pub const DT_BLK: u8 = 6; pub const DT_REG: u8 = 8; pub const DT_LNK: u8 = 10; pub const DT_SOCK: u8 = 12; pub const FD_CLOEXEC: ::c_int = 0x1; pub const USRQUOTA: ::c_int = 0; pub const GRPQUOTA: ::c_int = 1; pub const SIGIOT: ::c_int = 6; pub const S_ISUID: ::c_int = 0x800; pub const S_ISGID: ::c_int = 0x400; pub const S_ISVTX: ::c_int = 0x200; pub const IF_NAMESIZE: ::size_t = 16; pub const LOG_EMERG: ::c_int = 0; pub const LOG_ALERT: ::c_int = 1; pub const LOG_CRIT: ::c_int = 2; pub const LOG_ERR: ::c_int = 3; pub const LOG_WARNING: ::c_int = 4; pub const LOG_NOTICE: ::c_int = 5; pub const LOG_INFO: ::c_int = 6; pub const LOG_DEBUG: ::c_int = 7; pub const LOG_KERN: ::c_int = 0; pub const LOG_USER: ::c_int = 1 << 3; pub const LOG_MAIL: ::c_int = 2 << 3; pub const LOG_DAEMON: ::c_int = 3 << 3; pub const LOG_AUTH: ::c_int = 4 << 3; pub const LOG_SYSLOG: ::c_int = 5 << 3; pub const LOG_LPR: ::c_int = 6 << 3; pub const LOG_NEWS: ::c_int = 7 << 3; pub const LOG_UUCP: ::c_int = 8 << 3; pub const LOG_LOCAL0: ::c_int = 16 << 3; pub const LOG_LOCAL1: ::c_int = 17 << 3; pub const LOG_LOCAL2: ::c_int = 18 << 3; pub const LOG_LOCAL3: ::c_int = 19 << 3; pub const LOG_LOCAL4: ::c_int = 20 << 3; pub const LOG_LOCAL5: ::c_int = 21 << 3; pub const LOG_LOCAL6: ::c_int = 22 << 3; pub const LOG_LOCAL7: ::c_int = 23 << 3; pub const LOG_PID: ::c_int = 0x01; pub const LOG_CONS: ::c_int = 0x02; pub const LOG_ODELAY: ::c_int = 0x04; pub const LOG_NDELAY: ::c_int = 0x08; pub const LOG_NOWAIT: ::c_int = 0x10; pub const LOG_PRIMASK: ::c_int = 7; pub const LOG_FACMASK: ::c_int = 0x3f8; pub const PRIO_PROCESS: ::c_int = 0; pub const PRIO_PGRP: ::c_int = 1; pub const PRIO_USER: ::c_int = 2; pub const PRIO_MIN: ::c_int = -20; pub const PRIO_MAX: ::c_int = 20; pub const IPPROTO_ICMP: ::c_int = 1; pub const IPPROTO_ICMPV6: ::c_int = 58; pub const IPPROTO_TCP: ::c_int = 6; pub const IPPROTO_UDP: ::c_int = 17; pub const IPPROTO_IP: ::c_int = 0; pub const IPPROTO_IPV6: ::c_int = 41; pub const INADDR_LOOPBACK: in_addr_t = 2130706433; pub const INADDR_ANY: in_addr_t = 0; pub const INADDR_BROADCAST: in_addr_t = 4294967295; pub const INADDR_NONE: in_addr_t = 4294967295; pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; pub const RAND_MAX: ::c_int = 2147483647; 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 F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; // Linux-specific fcntls pub const F_SETLEASE: ::c_int = 1024; pub const F_GETLEASE: ::c_int = 1025; pub const F_NOTIFY: ::c_int = 1026; pub const F_CANCELLK: ::c_int = 1029; pub const F_DUPFD_CLOEXEC: ::c_int = 1030; pub const F_SETPIPE_SZ: ::c_int = 1031; pub const F_GETPIPE_SZ: ::c_int = 1032; pub const F_ADD_SEALS: ::c_int = 1033; pub const F_GET_SEALS: ::c_int = 1034; 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; // TODO(#235): Include file sealing fcntls once we have a way to verify them. pub const SIGTRAP: ::c_int = 5; pub const PTHREAD_CREATE_JOINABLE: ::c_int = 0; pub const PTHREAD_CREATE_DETACHED: ::c_int = 1; pub const CLOCK_REALTIME: ::clockid_t = 0; pub const CLOCK_MONOTONIC: ::clockid_t = 1; pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 2; pub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 3; pub const CLOCK_MONOTONIC_RAW: ::clockid_t = 4; pub const CLOCK_REALTIME_COARSE: ::clockid_t = 5; pub const CLOCK_MONOTONIC_COARSE: ::clockid_t = 6; pub const CLOCK_BOOTTIME: ::clockid_t = 7; pub const CLOCK_REALTIME_ALARM: ::clockid_t = 8; pub const CLOCK_BOOTTIME_ALARM: ::clockid_t = 9; // TODO(#247) Someday our Travis shall have glibc 2.21 (released in Sep // 2014.) See also musl/mod.rs // pub const CLOCK_SGI_CYCLE: ::clockid_t = 10; // pub const CLOCK_TAI: ::clockid_t = 11; pub const TIMER_ABSTIME: ::c_int = 1; pub const RLIMIT_CPU: ::c_int = 0; pub const RLIMIT_FSIZE: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; pub const RLIMIT_STACK: ::c_int = 3; pub const RLIMIT_CORE: ::c_int = 4; pub const RLIMIT_LOCKS: ::c_int = 10; pub const RLIMIT_SIGPENDING: ::c_int = 11; pub const RLIMIT_MSGQUEUE: ::c_int = 12; pub const RLIMIT_NICE: ::c_int = 13; pub const RLIMIT_RTPRIO: ::c_int = 14; pub const RUSAGE_SELF: ::c_int = 0; pub const O_RDONLY: ::c_int = 0; pub const O_WRONLY: ::c_int = 1; pub const O_RDWR: ::c_int = 2; pub const SOCK_CLOEXEC: ::c_int = O_CLOEXEC; pub const S_IFIFO: ::mode_t = 4096; pub const S_IFCHR: ::mode_t = 8192; pub const S_IFBLK: ::mode_t = 24576; pub const S_IFDIR: ::mode_t = 16384; 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 = 61440; pub const S_IRWXU: ::mode_t = 448; pub const S_IXUSR: ::mode_t = 64; pub const S_IWUSR: ::mode_t = 128; pub const S_IRUSR: ::mode_t = 256; pub const S_IRWXG: ::mode_t = 56; pub const S_IXGRP: ::mode_t = 8; pub const S_IWGRP: ::mode_t = 16; pub const S_IRGRP: ::mode_t = 32; pub const S_IRWXO: ::mode_t = 7; pub const S_IXOTH: ::mode_t = 1; pub const S_IWOTH: ::mode_t = 2; pub const S_IROTH: ::mode_t = 4; pub const F_OK: ::c_int = 0; pub const R_OK: ::c_int = 4; pub const W_OK: ::c_int = 2; pub const X_OK: ::c_int = 1; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::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 SIGABRT: ::c_int = 6; pub const SIGFPE: ::c_int = 8; pub const SIGKILL: ::c_int = 9; pub const SIGSEGV: ::c_int = 11; pub const SIGPIPE: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const PROT_NONE: ::c_int = 0; pub const PROT_READ: ::c_int = 1; pub const PROT_WRITE: ::c_int = 2; pub const PROT_EXEC: ::c_int = 4; pub const LC_CTYPE: ::c_int = 0; pub const LC_NUMERIC: ::c_int = 1; pub const LC_TIME: ::c_int = 2; pub const LC_COLLATE: ::c_int = 3; pub const LC_MONETARY: ::c_int = 4; pub const LC_MESSAGES: ::c_int = 5; pub const LC_ALL: ::c_int = 6; pub const LC_CTYPE_MASK: ::c_int = (1 << LC_CTYPE); pub const LC_NUMERIC_MASK: ::c_int = (1 << LC_NUMERIC); pub const LC_TIME_MASK: ::c_int = (1 << LC_TIME); pub const LC_COLLATE_MASK: ::c_int = (1 << LC_COLLATE); pub const LC_MONETARY_MASK: ::c_int = (1 << LC_MONETARY); pub const LC_MESSAGES_MASK: ::c_int = (1 << LC_MESSAGES); // LC_ALL_MASK defined per platform pub const MAP_FILE: ::c_int = 0x0000; pub const MAP_SHARED: ::c_int = 0x0001; pub const MAP_PRIVATE: ::c_int = 0x0002; pub const MAP_FIXED: ::c_int = 0x0010; pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void; // MS_ flags for msync(2) pub const MS_ASYNC: ::c_int = 0x0001; pub const MS_INVALIDATE: ::c_int = 0x0002; pub const MS_SYNC: ::c_int = 0x0004; // MS_ flags for mount(2) pub const MS_RDONLY: ::c_ulong = 0x01; pub const MS_NOSUID: ::c_ulong = 0x02; pub const MS_NODEV: ::c_ulong = 0x04; pub const MS_NOEXEC: ::c_ulong = 0x08; pub const MS_SYNCHRONOUS: ::c_ulong = 0x10; pub const MS_REMOUNT: ::c_ulong = 0x20; pub const MS_MANDLOCK: ::c_ulong = 0x40; pub const MS_DIRSYNC: ::c_ulong = 0x80; pub const MS_NOATIME: ::c_ulong = 0x0400; pub const MS_NODIRATIME: ::c_ulong = 0x0800; pub const MS_BIND: ::c_ulong = 0x1000; pub const MS_MOVE: ::c_ulong = 0x2000; pub const MS_REC: ::c_ulong = 0x4000; pub const MS_SILENT: ::c_ulong = 0x8000; pub const MS_POSIXACL: ::c_ulong = 0x010000; pub const MS_UNBINDABLE: ::c_ulong = 0x020000; pub const MS_PRIVATE: ::c_ulong = 0x040000; pub const MS_SLAVE: ::c_ulong = 0x080000; pub const MS_SHARED: ::c_ulong = 0x100000; 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_ACTIVE: ::c_ulong = 0x40000000; pub const MS_NOUSER: ::c_ulong = 0x80000000; pub const MS_MGC_VAL: ::c_ulong = 0xc0ed0000; pub const MS_MGC_MSK: ::c_ulong = 0xffff0000; pub const MS_RMT_MASK: ::c_ulong = 0x800051; 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 EWOULDBLOCK: ::c_int = EAGAIN; pub const SCM_RIGHTS: ::c_int = 0x01; pub const SCM_CREDENTIALS: ::c_int = 0x02; pub const PROT_GROWSDOWN: ::c_int = 0x1000000; pub const PROT_GROWSUP: ::c_int = 0x2000000; pub const MAP_TYPE: ::c_int = 0x000f; pub const MADV_NORMAL: ::c_int = 0; pub const MADV_RANDOM: ::c_int = 1; pub const MADV_SEQUENTIAL: ::c_int = 2; pub const MADV_WILLNEED: ::c_int = 3; pub const MADV_DONTNEED: ::c_int = 4; pub const MADV_FREE: ::c_int = 8; pub const MADV_REMOVE: ::c_int = 9; pub const MADV_DONTFORK: ::c_int = 10; pub const MADV_DOFORK: ::c_int = 11; pub const MADV_MERGEABLE: ::c_int = 12; pub const MADV_UNMERGEABLE: ::c_int = 13; pub const MADV_HUGEPAGE: ::c_int = 14; pub const MADV_NOHUGEPAGE: ::c_int = 15; pub const MADV_DONTDUMP: ::c_int = 16; pub const MADV_DODUMP: ::c_int = 17; pub const MADV_HWPOISON: ::c_int = 100; pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const IFF_UP: ::c_int = 0x1; pub const IFF_BROADCAST: ::c_int = 0x2; pub const IFF_DEBUG: ::c_int = 0x4; pub const IFF_LOOPBACK: ::c_int = 0x8; pub const IFF_POINTOPOINT: ::c_int = 0x10; pub const IFF_NOTRAILERS: ::c_int = 0x20; pub const IFF_RUNNING: ::c_int = 0x40; pub const IFF_NOARP: ::c_int = 0x80; pub const IFF_PROMISC: ::c_int = 0x100; pub const IFF_ALLMULTI: ::c_int = 0x200; pub const IFF_MASTER: ::c_int = 0x400; pub const IFF_SLAVE: ::c_int = 0x800; pub const IFF_MULTICAST: ::c_int = 0x1000; pub const IFF_PORTSEL: ::c_int = 0x2000; pub const IFF_AUTOMEDIA: ::c_int = 0x4000; pub const IFF_DYNAMIC: ::c_int = 0x8000; pub const IFF_TUN: ::c_int = 0x0001; pub const IFF_TAP: ::c_int = 0x0002; pub const IFF_NO_PI: ::c_int = 0x1000; pub const SOL_IP: ::c_int = 0; pub const SOL_TCP: ::c_int = 6; pub const SOL_UDP: ::c_int = 17; pub const SOL_IPV6: ::c_int = 41; pub const SOL_ICMPV6: ::c_int = 58; pub const SOL_RAW: ::c_int = 255; pub const SOL_DECNET: ::c_int = 261; pub const SOL_X25: ::c_int = 262; pub const SOL_PACKET: ::c_int = 263; pub const SOL_ATM: ::c_int = 264; pub const SOL_AAL: ::c_int = 265; pub const SOL_IRDA: ::c_int = 266; pub const SOL_NETBEUI: ::c_int = 267; pub const SOL_LLC: ::c_int = 268; pub const SOL_DCCP: ::c_int = 269; pub const SOL_NETLINK: ::c_int = 270; pub const SOL_TIPC: ::c_int = 271; pub const AF_UNSPEC: ::c_int = 0; pub const AF_UNIX: ::c_int = 1; pub const AF_LOCAL: ::c_int = 1; pub const AF_INET: ::c_int = 2; pub const AF_AX25: ::c_int = 3; pub const AF_IPX: ::c_int = 4; pub const AF_APPLETALK: ::c_int = 5; pub const AF_NETROM: ::c_int = 6; pub const AF_BRIDGE: ::c_int = 7; pub const AF_ATMPVC: ::c_int = 8; pub const AF_X25: ::c_int = 9; pub const AF_INET6: ::c_int = 10; pub const AF_ROSE: ::c_int = 11; pub const AF_DECnet: ::c_int = 12; pub const AF_NETBEUI: ::c_int = 13; pub const AF_SECURITY: ::c_int = 14; pub const AF_KEY: ::c_int = 15; pub const AF_NETLINK: ::c_int = 16; pub const AF_ROUTE: ::c_int = AF_NETLINK; pub const AF_PACKET: ::c_int = 17; pub const AF_ASH: ::c_int = 18; pub const AF_ECONET: ::c_int = 19; pub const AF_ATMSVC: ::c_int = 20; pub const AF_RDS: ::c_int = 21; pub const AF_SNA: ::c_int = 22; pub const AF_IRDA: ::c_int = 23; pub const AF_PPPOX: ::c_int = 24; pub const AF_WANPIPE: ::c_int = 25; pub const AF_LLC: ::c_int = 26; pub const AF_CAN: ::c_int = 29; pub const AF_TIPC: ::c_int = 30; pub const AF_BLUETOOTH: ::c_int = 31; pub const AF_IUCV: ::c_int = 32; pub const AF_RXRPC: ::c_int = 33; pub const AF_ISDN: ::c_int = 34; pub const AF_PHONET: ::c_int = 35; pub const AF_IEEE802154: ::c_int = 36; pub const AF_CAIF: ::c_int = 37; pub const AF_ALG: ::c_int = 38; pub const PF_UNSPEC: ::c_int = AF_UNSPEC; pub const PF_UNIX: ::c_int = AF_UNIX; pub const PF_LOCAL: ::c_int = AF_LOCAL; pub const PF_INET: ::c_int = AF_INET; pub const PF_AX25: ::c_int = AF_AX25; pub const PF_IPX: ::c_int = AF_IPX; pub const PF_APPLETALK: ::c_int = AF_APPLETALK; pub const PF_NETROM: ::c_int = AF_NETROM; pub const PF_BRIDGE: ::c_int = AF_BRIDGE; pub const PF_ATMPVC: ::c_int = AF_ATMPVC; pub const PF_X25: ::c_int = AF_X25; pub const PF_INET6: ::c_int = AF_INET6; pub const PF_ROSE: ::c_int = AF_ROSE; pub const PF_DECnet: ::c_int = AF_DECnet; pub const PF_NETBEUI: ::c_int = AF_NETBEUI; pub const PF_SECURITY: ::c_int = AF_SECURITY; pub const PF_KEY: ::c_int = AF_KEY; pub const PF_NETLINK: ::c_int = AF_NETLINK; pub const PF_ROUTE: ::c_int = AF_ROUTE; pub const PF_PACKET: ::c_int = AF_PACKET; pub const PF_ASH: ::c_int = AF_ASH; pub const PF_ECONET: ::c_int = AF_ECONET; pub const PF_ATMSVC: ::c_int = AF_ATMSVC; pub const PF_RDS: ::c_int = AF_RDS; pub const PF_SNA: ::c_int = AF_SNA; pub const PF_IRDA: ::c_int = AF_IRDA; pub const PF_PPPOX: ::c_int = AF_PPPOX; pub const PF_WANPIPE: ::c_int = AF_WANPIPE; pub const PF_LLC: ::c_int = AF_LLC; pub const PF_CAN: ::c_int = AF_CAN; pub const PF_TIPC: ::c_int = AF_TIPC; pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH; pub const PF_IUCV: ::c_int = AF_IUCV; pub const PF_RXRPC: ::c_int = AF_RXRPC; pub const PF_ISDN: ::c_int = AF_ISDN; pub const PF_PHONET: ::c_int = AF_PHONET; pub const PF_IEEE802154: ::c_int = AF_IEEE802154; pub const PF_CAIF: ::c_int = AF_CAIF; pub const PF_ALG: ::c_int = AF_ALG; pub const SOMAXCONN: ::c_int = 128; pub const MSG_OOB: ::c_int = 1; pub const MSG_PEEK: ::c_int = 2; pub const MSG_DONTROUTE: ::c_int = 4; pub const MSG_CTRUNC: ::c_int = 8; pub const MSG_TRUNC: ::c_int = 0x20; pub const MSG_DONTWAIT: ::c_int = 0x40; pub const MSG_EOR: ::c_int = 0x80; pub const MSG_WAITALL: ::c_int = 0x100; pub const MSG_FIN: ::c_int = 0x200; pub const MSG_SYN: ::c_int = 0x400; pub const MSG_CONFIRM: ::c_int = 0x800; pub const MSG_RST: ::c_int = 0x1000; pub const MSG_ERRQUEUE: ::c_int = 0x2000; pub const MSG_NOSIGNAL: ::c_int = 0x4000; pub const MSG_MORE: ::c_int = 0x8000; pub const MSG_WAITFORONE: ::c_int = 0x10000; pub const MSG_FASTOPEN: ::c_int = 0x20000000; pub const MSG_CMSG_CLOEXEC: ::c_int = 0x40000000; 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_MULTICAST_IF: ::c_int = 32; pub const IP_MULTICAST_TTL: ::c_int = 33; pub const IP_MULTICAST_LOOP: ::c_int = 34; pub const IP_TTL: ::c_int = 2; pub const IP_HDRINCL: ::c_int = 3; pub const IP_ADD_MEMBERSHIP: ::c_int = 35; pub const IP_DROP_MEMBERSHIP: ::c_int = 36; pub const IP_TRANSPARENT: ::c_int = 19; pub const IPV6_UNICAST_HOPS: ::c_int = 16; pub const IPV6_MULTICAST_IF: ::c_int = 17; pub const IPV6_MULTICAST_HOPS: ::c_int = 18; pub const IPV6_MULTICAST_LOOP: ::c_int = 19; pub const IPV6_ADD_MEMBERSHIP: ::c_int = 20; pub const IPV6_DROP_MEMBERSHIP: ::c_int = 21; pub const IPV6_V6ONLY: ::c_int = 26; pub const TCP_NODELAY: ::c_int = 1; pub const TCP_MAXSEG: ::c_int = 2; pub const TCP_CORK: ::c_int = 3; pub const TCP_KEEPIDLE: ::c_int = 4; pub const TCP_KEEPINTVL: ::c_int = 5; pub const TCP_KEEPCNT: ::c_int = 6; pub const TCP_SYNCNT: ::c_int = 7; pub const TCP_LINGER2: ::c_int = 8; pub const TCP_DEFER_ACCEPT: ::c_int = 9; 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 SO_DEBUG: ::c_int = 1; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const LOCK_SH: ::c_int = 1; pub const LOCK_EX: ::c_int = 2; pub const LOCK_NB: ::c_int = 4; pub const LOCK_UN: ::c_int = 8; pub const SS_ONSTACK: ::c_int = 1; pub const SS_DISABLE: ::c_int = 2; pub const PATH_MAX: ::c_int = 4096; 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 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 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_DETACH: ::c_int = 0x2; pub const MNT_EXPIRE: ::c_int = 0x4; pub const Q_GETFMT: ::c_int = 0x800004; pub const Q_GETINFO: ::c_int = 0x800005; pub const Q_SETINFO: ::c_int = 0x800006; pub const QIF_BLIMITS: u32 = 1; pub const QIF_SPACE: u32 = 2; pub const QIF_ILIMITS: u32 = 4; pub const QIF_INODES: u32 = 8; pub const QIF_BTIME: u32 = 16; pub const QIF_ITIME: u32 = 32; pub const QIF_LIMITS: u32 = 5; 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; pub const Q_GETQUOTA: ::c_int = 0x800007; pub const Q_SETQUOTA: ::c_int = 0x800008; pub const TCIOFF: ::c_int = 2; pub const TCION: ::c_int = 3; pub const TCOOFF: ::c_int = 0; pub const TCOON: ::c_int = 1; pub const TCIFLUSH: ::c_int = 0; pub const TCOFLUSH: ::c_int = 1; pub const TCIOFLUSH: ::c_int = 2; pub const NL0: ::c_int = 0x00000000; pub const NL1: ::c_int = 0x00000100; pub const TAB0: ::c_int = 0x00000000; pub const CR0: ::c_int = 0x00000000; pub const FF0: ::c_int = 0x00000000; pub const BS0: ::c_int = 0x00000000; pub const VT0: ::c_int = 0x00000000; pub const VERASE: usize = 2; pub const VKILL: usize = 3; pub const VINTR: usize = 0; pub const VQUIT: usize = 1; pub const VLNEXT: usize = 15; pub const IGNBRK: ::tcflag_t = 0x00000001; pub const BRKINT: ::tcflag_t = 0x00000002; pub const IGNPAR: ::tcflag_t = 0x00000004; pub const PARMRK: ::tcflag_t = 0x00000008; pub const INPCK: ::tcflag_t = 0x00000010; pub const ISTRIP: ::tcflag_t = 0x00000020; pub const INLCR: ::tcflag_t = 0x00000040; pub const IGNCR: ::tcflag_t = 0x00000080; pub const ICRNL: ::tcflag_t = 0x00000100; pub const IXANY: ::tcflag_t = 0x00000800; pub const IMAXBEL: ::tcflag_t = 0x00002000; pub const OPOST: ::tcflag_t = 0x1; pub const CS5: ::tcflag_t = 0x00000000; pub const CRTSCTS: ::tcflag_t = 0x80000000; pub const ECHO: ::tcflag_t = 0x00000008; pub const OCRNL: ::tcflag_t = 0o000010; pub const ONOCR: ::tcflag_t = 0o000020; pub const ONLRET: ::tcflag_t = 0o000040; pub const OFILL: ::tcflag_t = 0o000100; pub const OFDEL: ::tcflag_t = 0o000200; pub const CLONE_VM: ::c_int = 0x100; pub const CLONE_FS: ::c_int = 0x200; pub const CLONE_FILES: ::c_int = 0x400; pub const CLONE_SIGHAND: ::c_int = 0x800; pub const CLONE_PTRACE: ::c_int = 0x2000; pub const CLONE_VFORK: ::c_int = 0x4000; pub const CLONE_PARENT: ::c_int = 0x8000; pub const CLONE_THREAD: ::c_int = 0x10000; pub const CLONE_NEWNS: ::c_int = 0x20000; pub const CLONE_SYSVSEM: ::c_int = 0x40000; pub const CLONE_SETTLS: ::c_int = 0x80000; pub const CLONE_PARENT_SETTID: ::c_int = 0x100000; 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_NEWUTS: ::c_int = 0x04000000; pub const CLONE_NEWIPC: ::c_int = 0x08000000; pub const CLONE_NEWUSER: ::c_int = 0x10000000; pub const CLONE_NEWPID: ::c_int = 0x20000000; pub const CLONE_NEWNET: ::c_int = 0x40000000; pub const CLONE_IO: ::c_int = 0x80000000; pub const CLONE_NEWCGROUP: ::c_int = 0x02000000; pub const WNOHANG: ::c_int = 0x00000001; pub const WUNTRACED: ::c_int = 0x00000002; pub const WSTOPPED: ::c_int = WUNTRACED; pub const WEXITED: ::c_int = 0x00000004; pub const WCONTINUED: ::c_int = 0x00000008; pub const WNOWAIT: ::c_int = 0x01000000; // ::Options set using PTRACE_SETOPTIONS. pub const PTRACE_O_TRACESYSGOOD: ::c_int = 0x00000001; pub const PTRACE_O_TRACEFORK: ::c_int = 0x00000002; pub const PTRACE_O_TRACEVFORK: ::c_int = 0x00000004; pub const PTRACE_O_TRACECLONE: ::c_int = 0x00000008; 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_EXITKILL: ::c_int = 0x00100000; pub const PTRACE_O_SUSPEND_SECCOMP: ::c_int = 0x00200000; 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; pub const PTRACE_EVENT_VFORK: ::c_int = 2; pub const PTRACE_EVENT_CLONE: ::c_int = 3; pub const PTRACE_EVENT_EXEC: ::c_int = 4; pub const PTRACE_EVENT_VFORK_DONE: ::c_int = 5; pub const PTRACE_EVENT_EXIT: ::c_int = 6; pub const PTRACE_EVENT_SECCOMP: ::c_int = 7; // PTRACE_EVENT_STOP was added to glibc in 2.26 // pub const PTRACE_EVENT_STOP: ::c_int = 128; pub const __WNOTHREAD: ::c_int = 0x20000000; pub const __WALL: ::c_int = 0x40000000; pub const __WCLONE: ::c_int = 0x80000000; pub const SPLICE_F_MOVE: ::c_uint = 0x01; pub const SPLICE_F_NONBLOCK: ::c_uint = 0x02; pub const SPLICE_F_MORE: ::c_uint = 0x04; pub const SPLICE_F_GIFT: ::c_uint = 0x08; pub const RTLD_LOCAL: ::c_int = 0; pub const RTLD_LAZY: ::c_int = 1; pub const POSIX_FADV_NORMAL: ::c_int = 0; pub const POSIX_FADV_RANDOM: ::c_int = 1; pub const POSIX_FADV_SEQUENTIAL: ::c_int = 2; pub const POSIX_FADV_WILLNEED: ::c_int = 3; pub const AT_FDCWD: ::c_int = -100; pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x100; pub const AT_REMOVEDIR: ::c_int = 0x200; pub const AT_SYMLINK_FOLLOW: ::c_int = 0x400; pub const AT_NO_AUTOMOUNT: ::c_int = 0x800; pub const AT_EMPTY_PATH: ::c_int = 0x1000; pub const LOG_CRON: ::c_int = 9 << 3; pub const LOG_AUTHPRIV: ::c_int = 10 << 3; pub const LOG_FTP: ::c_int = 11 << 3; pub const LOG_PERROR: ::c_int = 0x20; pub const PIPE_BUF: usize = 4096; pub const SI_LOAD_SHIFT: ::c_uint = 16; pub const SIGEV_SIGNAL: ::c_int = 0; pub const SIGEV_NONE: ::c_int = 1; pub const SIGEV_THREAD: ::c_int = 2; pub const P_ALL: idtype_t = 0; pub const P_PID: idtype_t = 1; pub const P_PGID: idtype_t = 2; pub const UTIME_OMIT: c_long = 1073741822; pub const UTIME_NOW: c_long = 1073741823; pub const POLLIN: ::c_short = 0x1; pub const POLLPRI: ::c_short = 0x2; pub const POLLOUT: ::c_short = 0x4; pub const POLLERR: ::c_short = 0x8; pub const POLLHUP: ::c_short = 0x10; pub const POLLNVAL: ::c_short = 0x20; pub const POLLRDNORM: ::c_short = 0x040; pub const POLLRDBAND: ::c_short = 0x080; 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 RUSAGE_THREAD: ::c_int = 1; pub const RUSAGE_CHILDREN: ::c_int = -1; 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; pub const FILENAME_MAX: ::c_uint = 4096; pub const L_tmpnam: ::c_uint = 20; pub const _PC_LINK_MAX: ::c_int = 0; pub const _PC_MAX_CANON: ::c_int = 1; pub const _PC_MAX_INPUT: ::c_int = 2; pub const _PC_NAME_MAX: ::c_int = 3; pub const _PC_PATH_MAX: ::c_int = 4; pub const _PC_PIPE_BUF: ::c_int = 5; pub const _PC_CHOWN_RESTRICTED: ::c_int = 6; pub const _PC_NO_TRUNC: ::c_int = 7; pub const _PC_VDISABLE: ::c_int = 8; pub const _PC_SYNC_IO: ::c_int = 9; pub const _PC_ASYNC_IO: ::c_int = 10; pub const _PC_PRIO_IO: ::c_int = 11; pub const _PC_SOCK_MAXBUF: ::c_int = 12; pub const _PC_FILESIZEBITS: ::c_int = 13; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 14; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 15; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 16; pub const _PC_REC_XFER_ALIGN: ::c_int = 17; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 18; pub const _PC_SYMLINK_MAX: ::c_int = 19; pub const _PC_2_SYMLINKS: ::c_int = 20; pub const _SC_ARG_MAX: ::c_int = 0; pub const _SC_CHILD_MAX: ::c_int = 1; pub const _SC_CLK_TCK: ::c_int = 2; pub const _SC_NGROUPS_MAX: ::c_int = 3; pub const _SC_OPEN_MAX: ::c_int = 4; pub const _SC_STREAM_MAX: ::c_int = 5; pub const _SC_TZNAME_MAX: ::c_int = 6; pub const _SC_JOB_CONTROL: ::c_int = 7; pub const _SC_SAVED_IDS: ::c_int = 8; pub const _SC_REALTIME_SIGNALS: ::c_int = 9; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 10; pub const _SC_TIMERS: ::c_int = 11; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 12; pub const _SC_PRIORITIZED_IO: ::c_int = 13; pub const _SC_SYNCHRONIZED_IO: ::c_int = 14; pub const _SC_FSYNC: ::c_int = 15; pub const _SC_MAPPED_FILES: ::c_int = 16; pub const _SC_MEMLOCK: ::c_int = 17; pub const _SC_MEMLOCK_RANGE: ::c_int = 18; pub const _SC_MEMORY_PROTECTION: ::c_int = 19; pub const _SC_MESSAGE_PASSING: ::c_int = 20; pub const _SC_SEMAPHORES: ::c_int = 21; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 22; pub const _SC_AIO_LISTIO_MAX: ::c_int = 23; pub const _SC_AIO_MAX: ::c_int = 24; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 25; pub const _SC_DELAYTIMER_MAX: ::c_int = 26; pub const _SC_MQ_OPEN_MAX: ::c_int = 27; pub const _SC_MQ_PRIO_MAX: ::c_int = 28; pub const _SC_VERSION: ::c_int = 29; pub const _SC_PAGESIZE: ::c_int = 30; pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; pub const _SC_RTSIG_MAX: ::c_int = 31; pub const _SC_SEM_NSEMS_MAX: ::c_int = 32; pub const _SC_SEM_VALUE_MAX: ::c_int = 33; pub const _SC_SIGQUEUE_MAX: ::c_int = 34; pub const _SC_TIMER_MAX: ::c_int = 35; pub const _SC_BC_BASE_MAX: ::c_int = 36; pub const _SC_BC_DIM_MAX: ::c_int = 37; pub const _SC_BC_SCALE_MAX: ::c_int = 38; pub const _SC_BC_STRING_MAX: ::c_int = 39; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 40; pub const _SC_EXPR_NEST_MAX: ::c_int = 42; pub const _SC_LINE_MAX: ::c_int = 43; pub const _SC_RE_DUP_MAX: ::c_int = 44; pub const _SC_2_VERSION: ::c_int = 46; pub const _SC_2_C_BIND: ::c_int = 47; pub const _SC_2_C_DEV: ::c_int = 48; pub const _SC_2_FORT_DEV: ::c_int = 49; pub const _SC_2_FORT_RUN: ::c_int = 50; pub const _SC_2_SW_DEV: ::c_int = 51; pub const _SC_2_LOCALEDEF: ::c_int = 52; pub const _SC_UIO_MAXIOV: ::c_int = 60; pub const _SC_IOV_MAX: ::c_int = 60; pub const _SC_THREADS: ::c_int = 67; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 68; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 69; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 70; pub const _SC_LOGIN_NAME_MAX: ::c_int = 71; pub const _SC_TTY_NAME_MAX: ::c_int = 72; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 73; pub const _SC_THREAD_KEYS_MAX: ::c_int = 74; pub const _SC_THREAD_STACK_MIN: ::c_int = 75; pub const _SC_THREAD_THREADS_MAX: ::c_int = 76; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 77; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 78; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 79; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 80; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 81; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 82; pub const _SC_NPROCESSORS_CONF: ::c_int = 83; pub const _SC_NPROCESSORS_ONLN: ::c_int = 84; pub const _SC_PHYS_PAGES: ::c_int = 85; pub const _SC_AVPHYS_PAGES: ::c_int = 86; pub const _SC_ATEXIT_MAX: ::c_int = 87; pub const _SC_PASS_MAX: ::c_int = 88; pub const _SC_XOPEN_VERSION: ::c_int = 89; pub const _SC_XOPEN_XCU_VERSION: ::c_int = 90; pub const _SC_XOPEN_UNIX: ::c_int = 91; pub const _SC_XOPEN_CRYPT: ::c_int = 92; pub const _SC_XOPEN_ENH_I18N: ::c_int = 93; pub const _SC_XOPEN_SHM: ::c_int = 94; pub const _SC_2_CHAR_TERM: ::c_int = 95; pub const _SC_2_UPE: ::c_int = 97; pub const _SC_XOPEN_XPG2: ::c_int = 98; pub const _SC_XOPEN_XPG3: ::c_int = 99; pub const _SC_XOPEN_XPG4: ::c_int = 100; pub const _SC_NZERO: ::c_int = 109; pub const _SC_XBS5_ILP32_OFF32: ::c_int = 125; pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 126; pub const _SC_XBS5_LP64_OFF64: ::c_int = 127; pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 128; pub const _SC_XOPEN_LEGACY: ::c_int = 129; pub const _SC_XOPEN_REALTIME: ::c_int = 130; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 131; pub const _SC_ADVISORY_INFO: ::c_int = 132; pub const _SC_BARRIERS: ::c_int = 133; pub const _SC_CLOCK_SELECTION: ::c_int = 137; pub const _SC_CPUTIME: ::c_int = 138; pub const _SC_THREAD_CPUTIME: ::c_int = 139; pub const _SC_MONOTONIC_CLOCK: ::c_int = 149; pub const _SC_READER_WRITER_LOCKS: ::c_int = 153; pub const _SC_SPIN_LOCKS: ::c_int = 154; pub const _SC_REGEXP: ::c_int = 155; pub const _SC_SHELL: ::c_int = 157; pub const _SC_SPAWN: ::c_int = 159; pub const _SC_SPORADIC_SERVER: ::c_int = 160; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 161; pub const _SC_TIMEOUTS: ::c_int = 164; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 165; pub const _SC_2_PBS: ::c_int = 168; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 169; pub const _SC_2_PBS_LOCATE: ::c_int = 170; pub const _SC_2_PBS_MESSAGE: ::c_int = 171; pub const _SC_2_PBS_TRACK: ::c_int = 172; pub const _SC_SYMLOOP_MAX: ::c_int = 173; pub const _SC_STREAMS: ::c_int = 174; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 175; pub const _SC_V6_ILP32_OFF32: ::c_int = 176; pub const _SC_V6_ILP32_OFFBIG: ::c_int = 177; pub const _SC_V6_LP64_OFF64: ::c_int = 178; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 179; pub const _SC_HOST_NAME_MAX: ::c_int = 180; pub const _SC_TRACE: ::c_int = 181; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 182; pub const _SC_TRACE_INHERIT: ::c_int = 183; pub const _SC_TRACE_LOG: ::c_int = 184; pub const _SC_IPV6: ::c_int = 235; pub const _SC_RAW_SOCKETS: ::c_int = 236; pub const _SC_V7_ILP32_OFF32: ::c_int = 237; pub const _SC_V7_ILP32_OFFBIG: ::c_int = 238; pub const _SC_V7_LP64_OFF64: ::c_int = 239; pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 240; pub const _SC_SS_REPL_MAX: ::c_int = 241; pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 242; pub const _SC_TRACE_NAME_MAX: ::c_int = 243; pub const _SC_TRACE_SYS_MAX: ::c_int = 244; pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 245; pub const _SC_XOPEN_STREAMS: ::c_int = 246; pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 247; pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 248; pub const RLIM_SAVED_MAX: ::rlim_t = RLIM_INFINITY; pub const RLIM_SAVED_CUR: ::rlim_t = RLIM_INFINITY; pub const GLOB_ERR: ::c_int = 1 << 0; pub const GLOB_MARK: ::c_int = 1 << 1; pub const GLOB_NOSORT: ::c_int = 1 << 2; pub const GLOB_DOOFFS: ::c_int = 1 << 3; pub const GLOB_NOCHECK: ::c_int = 1 << 4; pub const GLOB_APPEND: ::c_int = 1 << 5; pub const GLOB_NOESCAPE: ::c_int = 1 << 6; pub const GLOB_NOSPACE: ::c_int = 1; pub const GLOB_ABORTED: ::c_int = 2; pub const GLOB_NOMATCH: ::c_int = 3; 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 S_IEXEC: mode_t = 64; pub const S_IWRITE: mode_t = 128; pub const S_IREAD: mode_t = 256; pub const F_LOCK: ::c_int = 1; pub const F_TEST: ::c_int = 3; pub const F_TLOCK: ::c_int = 2; pub const F_ULOCK: ::c_int = 0; pub const IFF_LOWER_UP: ::c_int = 0x10000; pub const IFF_DORMANT: ::c_int = 0x20000; pub const IFF_ECHO: ::c_int = 0x40000; pub const ST_RDONLY: ::c_ulong = 1; pub const ST_NOSUID: ::c_ulong = 2; pub const ST_NODEV: ::c_ulong = 4; pub const ST_NOEXEC: ::c_ulong = 8; pub const ST_SYNCHRONOUS: ::c_ulong = 16; pub const ST_MANDLOCK: ::c_ulong = 64; pub const ST_WRITE: ::c_ulong = 128; pub const ST_APPEND: ::c_ulong = 256; pub const ST_IMMUTABLE: ::c_ulong = 512; pub const ST_NOATIME: ::c_ulong = 1024; pub const ST_NODIRATIME: ::c_ulong = 2048; pub const RTLD_NEXT: *mut ::c_void = -1i64 as *mut ::c_void; 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], }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { size: [0; __SIZEOF_PTHREAD_COND_T], }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { size: [0; __SIZEOF_PTHREAD_RWLOCK_T], }; } 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_PROCESS_PRIVATE: ::c_int = 0; pub const PTHREAD_PROCESS_SHARED: ::c_int = 1; pub const __SIZEOF_PTHREAD_COND_T: usize = 48; pub const RENAME_NOREPLACE: ::c_int = 1; pub const RENAME_EXCHANGE: ::c_int = 2; pub const RENAME_WHITEOUT: ::c_int = 4; pub const SCHED_OTHER: ::c_int = 0; pub const SCHED_FIFO: ::c_int = 1; pub const SCHED_RR: ::c_int = 2; pub const SCHED_BATCH: ::c_int = 3; pub const SCHED_IDLE: ::c_int = 5; // netinet/in.h // NOTE: These are in addition to the constants defined in src/unix/mod.rs // IPPROTO_IP defined in src/unix/mod.rs /// Hop-by-hop option header pub const IPPROTO_HOPOPTS: ::c_int = 0; // IPPROTO_ICMP defined in src/unix/mod.rs /// group mgmt protocol pub const IPPROTO_IGMP: ::c_int = 2; /// for compatibility pub const IPPROTO_IPIP: ::c_int = 4; // IPPROTO_TCP defined in src/unix/mod.rs /// exterior gateway protocol pub const IPPROTO_EGP: ::c_int = 8; /// pup pub const IPPROTO_PUP: ::c_int = 12; // IPPROTO_UDP defined in src/unix/mod.rs /// xns idp pub const IPPROTO_IDP: ::c_int = 22; /// tp-4 w/ class negotiation pub const IPPROTO_TP: ::c_int = 29; /// DCCP pub const IPPROTO_DCCP: ::c_int = 33; // IPPROTO_IPV6 defined in src/unix/mod.rs /// IP6 routing header pub const IPPROTO_ROUTING: ::c_int = 43; /// IP6 fragmentation header pub const IPPROTO_FRAGMENT: ::c_int = 44; /// resource reservation pub const IPPROTO_RSVP: ::c_int = 46; /// General Routing Encap. pub const IPPROTO_GRE: ::c_int = 47; /// IP6 Encap Sec. Payload pub const IPPROTO_ESP: ::c_int = 50; /// IP6 Auth Header pub const IPPROTO_AH: ::c_int = 51; // IPPROTO_ICMPV6 defined in src/unix/mod.rs /// IP6 no next header pub const IPPROTO_NONE: ::c_int = 59; /// IP6 destination option pub const IPPROTO_DSTOPTS: ::c_int = 60; pub const IPPROTO_MTP: ::c_int = 92; pub const IPPROTO_BEETPH: ::c_int = 94; /// encapsulation header pub const IPPROTO_ENCAP: ::c_int = 98; /// Protocol indep. multicast pub const IPPROTO_PIM: ::c_int = 103; /// IP Payload Comp. Protocol pub const IPPROTO_COMP: ::c_int = 108; /// SCTP pub const IPPROTO_SCTP: ::c_int = 132; pub const IPPROTO_MH: ::c_int = 135; pub const IPPROTO_UDPLITE: ::c_int = 136; pub const IPPROTO_MPLS: ::c_int = 137; /// raw IP packet pub const IPPROTO_RAW: ::c_int = 255; pub const IPPROTO_MAX: ::c_int = 256; pub const AF_IB: ::c_int = 27; pub const AF_MPLS: ::c_int = 28; pub const AF_NFC: ::c_int = 39; pub const AF_VSOCK: ::c_int = 40; pub const PF_IB: ::c_int = AF_IB; pub const PF_MPLS: ::c_int = AF_MPLS; pub const PF_NFC: ::c_int = AF_NFC; pub const PF_VSOCK: ::c_int = AF_VSOCK; // 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 MSG_STAT: ::c_int = 11; pub const MSG_INFO: ::c_int = 12; pub const MSG_NOERROR: ::c_int = 0o10000; pub const MSG_EXCEPT: ::c_int = 0o20000; pub const MSG_COPY: ::c_int = 0o40000; pub const SHM_R: ::c_int = 0o400; pub const SHM_W: ::c_int = 0o200; pub const SHM_RDONLY: ::c_int = 0o10000; pub const SHM_RND: ::c_int = 0o20000; pub const SHM_REMAP: ::c_int = 0o40000; pub const SHM_EXEC: ::c_int = 0o100000; pub const SHM_LOCK: ::c_int = 11; 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; pub const QFMT_VFS_V1: ::c_int = 4; pub const EFD_SEMAPHORE: ::c_int = 0x1; pub const LOG_NFACILITIES: ::c_int = 24; pub const SEM_FAILED: *mut ::sem_t = 0 as *mut sem_t; pub const RB_AUTOBOOT: ::c_int = 0x01234567u32 as i32; pub const RB_HALT_SYSTEM: ::c_int = 0xcdef0123u32 as i32; pub const RB_ENABLE_CAD: ::c_int = 0x89abcdefu32 as i32; pub const RB_DISABLE_CAD: ::c_int = 0x00000000u32 as i32; pub const RB_POWER_OFF: ::c_int = 0x4321fedcu32 as i32; pub const RB_SW_SUSPEND: ::c_int = 0xd000fce2u32 as i32; pub const RB_KEXEC: ::c_int = 0x45584543u32 as i32; 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_FAMILY: ::c_int = -6; pub const EAI_SOCKTYPE: ::c_int = -7; pub const EAI_SERVICE: ::c_int = -8; pub const EAI_MEMORY: ::c_int = -10; pub const EAI_OVERFLOW: ::c_int = -12; 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 SYNC_FILE_RANGE_WAIT_BEFORE: ::c_uint = 1; pub const SYNC_FILE_RANGE_WRITE: ::c_uint = 2; pub const SYNC_FILE_RANGE_WAIT_AFTER: ::c_uint = 4; pub const EAI_SYSTEM: ::c_int = -11; pub const AIO_CANCELED: ::c_int = 0; pub const AIO_NOTCANCELED: ::c_int = 1; pub const AIO_ALLDONE: ::c_int = 2; pub const LIO_READ: ::c_int = 0; pub const LIO_WRITE: ::c_int = 1; pub const LIO_NOP: ::c_int = 2; pub const LIO_WAIT: ::c_int = 0; pub const LIO_NOWAIT: ::c_int = 1; pub const MREMAP_MAYMOVE: ::c_int = 1; pub const MREMAP_FIXED: ::c_int = 2; pub const PR_SET_PDEATHSIG: ::c_int = 1; pub const PR_GET_PDEATHSIG: ::c_int = 2; pub const PR_GET_DUMPABLE: ::c_int = 3; pub const PR_SET_DUMPABLE: ::c_int = 4; pub const PR_GET_UNALIGN: ::c_int = 5; pub const PR_SET_UNALIGN: ::c_int = 6; pub const PR_UNALIGN_NOPRINT: ::c_int = 1; pub const PR_UNALIGN_SIGBUS: ::c_int = 2; pub const PR_GET_KEEPCAPS: ::c_int = 7; pub const PR_SET_KEEPCAPS: ::c_int = 8; pub const PR_GET_FPEMU: ::c_int = 9; pub const PR_SET_FPEMU: ::c_int = 10; pub const PR_FPEMU_NOPRINT: ::c_int = 1; pub const PR_FPEMU_SIGFPE: ::c_int = 2; pub const PR_GET_FPEXC: ::c_int = 11; pub const PR_SET_FPEXC: ::c_int = 12; pub const PR_FP_EXC_SW_ENABLE: ::c_int = 0x80; pub const PR_FP_EXC_DIV: ::c_int = 0x010000; pub const PR_FP_EXC_OVF: ::c_int = 0x020000; pub const PR_FP_EXC_UND: ::c_int = 0x040000; pub const PR_FP_EXC_RES: ::c_int = 0x080000; pub const PR_FP_EXC_INV: ::c_int = 0x100000; pub const PR_FP_EXC_DISABLED: ::c_int = 0; pub const PR_FP_EXC_NONRECOV: ::c_int = 1; pub const PR_FP_EXC_ASYNC: ::c_int = 2; pub const PR_FP_EXC_PRECISE: ::c_int = 3; pub const PR_GET_TIMING: ::c_int = 13; pub const PR_SET_TIMING: ::c_int = 14; pub const PR_TIMING_STATISTICAL: ::c_int = 0; pub const PR_TIMING_TIMESTAMP: ::c_int = 1; pub const PR_SET_NAME: ::c_int = 15; pub const PR_GET_NAME: ::c_int = 16; pub const PR_GET_ENDIAN: ::c_int = 19; pub const PR_SET_ENDIAN: ::c_int = 20; pub const PR_ENDIAN_BIG: ::c_int = 0; pub const PR_ENDIAN_LITTLE: ::c_int = 1; pub const PR_ENDIAN_PPC_LITTLE: ::c_int = 2; pub const PR_GET_SECCOMP: ::c_int = 21; pub const PR_SET_SECCOMP: ::c_int = 22; pub const PR_CAPBSET_READ: ::c_int = 23; pub const PR_CAPBSET_DROP: ::c_int = 24; pub const PR_GET_TSC: ::c_int = 25; pub const PR_SET_TSC: ::c_int = 26; pub const PR_TSC_ENABLE: ::c_int = 1; pub const PR_TSC_SIGSEGV: ::c_int = 2; pub const PR_GET_SECUREBITS: ::c_int = 27; pub const PR_SET_SECUREBITS: ::c_int = 28; pub const PR_SET_TIMERSLACK: ::c_int = 29; pub const PR_GET_TIMERSLACK: ::c_int = 30; pub const PR_TASK_PERF_EVENTS_DISABLE: ::c_int = 31; pub const PR_TASK_PERF_EVENTS_ENABLE: ::c_int = 32; pub const PR_MCE_KILL: ::c_int = 33; pub const PR_MCE_KILL_CLEAR: ::c_int = 0; pub const PR_MCE_KILL_SET: ::c_int = 1; pub const PR_MCE_KILL_LATE: ::c_int = 0; pub const PR_MCE_KILL_EARLY: ::c_int = 1; pub const PR_MCE_KILL_DEFAULT: ::c_int = 2; pub const PR_MCE_KILL_GET: ::c_int = 34; pub const PR_SET_MM: ::c_int = 35; pub const PR_SET_MM_START_CODE: ::c_int = 1; pub const PR_SET_MM_END_CODE: ::c_int = 2; pub const PR_SET_MM_START_DATA: ::c_int = 3; pub const PR_SET_MM_END_DATA: ::c_int = 4; pub const PR_SET_MM_START_STACK: ::c_int = 5; pub const PR_SET_MM_START_BRK: ::c_int = 6; pub const PR_SET_MM_BRK: ::c_int = 7; pub const PR_SET_MM_ARG_START: ::c_int = 8; pub const PR_SET_MM_ARG_END: ::c_int = 9; pub const PR_SET_MM_ENV_START: ::c_int = 10; pub const PR_SET_MM_ENV_END: ::c_int = 11; pub const PR_SET_MM_AUXV: ::c_int = 12; pub const PR_SET_MM_EXE_FILE: ::c_int = 13; pub const PR_SET_MM_MAP: ::c_int = 14; pub const PR_SET_MM_MAP_SIZE: ::c_int = 15; pub const PR_SET_PTRACER: ::c_int = 0x59616d61; pub const PR_SET_CHILD_SUBREAPER: ::c_int = 36; pub const PR_GET_CHILD_SUBREAPER: ::c_int = 37; pub const PR_SET_NO_NEW_PRIVS: ::c_int = 38; pub const PR_GET_NO_NEW_PRIVS: ::c_int = 39; pub const PR_GET_TID_ADDRESS: ::c_int = 40; pub const PR_SET_THP_DISABLE: ::c_int = 41; pub const PR_GET_THP_DISABLE: ::c_int = 42; pub const PR_MPX_ENABLE_MANAGEMENT: ::c_int = 43; pub const PR_MPX_DISABLE_MANAGEMENT: ::c_int = 44; pub const PR_SET_FP_MODE: ::c_int = 45; pub const PR_GET_FP_MODE: ::c_int = 46; pub const PR_FP_MODE_FR: ::c_int = 1 << 0; pub const PR_FP_MODE_FRE: ::c_int = 1 << 1; pub const PR_CAP_AMBIENT: ::c_int = 47; pub const PR_CAP_AMBIENT_IS_SET: ::c_int = 1; pub const PR_CAP_AMBIENT_RAISE: ::c_int = 2; pub const PR_CAP_AMBIENT_LOWER: ::c_int = 3; pub const PR_CAP_AMBIENT_CLEAR_ALL: ::c_int = 4; pub const ITIMER_REAL: ::c_int = 0; pub const ITIMER_VIRTUAL: ::c_int = 1; pub const ITIMER_PROF: ::c_int = 2; 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; pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02; pub const FALLOC_FL_COLLAPSE_RANGE: ::c_int = 0x08; pub const FALLOC_FL_ZERO_RANGE: ::c_int = 0x10; pub const FALLOC_FL_INSERT_RANGE: ::c_int = 0x20; pub const FALLOC_FL_UNSHARE_RANGE: ::c_int = 0x40; // On Linux, libc doesn't define this constant, libattr does instead. // We still define it for Linux as it's defined by libc on other platforms, // and it's mentioned in the man pages for getxattr and setxattr. pub const ENOATTR: ::c_int = ::ENODATA; pub const SO_ORIGINAL_DST: ::c_int = 80; pub const IUTF8: ::tcflag_t = 0x00004000; pub const CMSPAR: ::tcflag_t = 0o10000000000; pub const MFD_CLOEXEC: ::c_uint = 0x0001; pub const MFD_ALLOW_SEALING: ::c_uint = 0x0002; // 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_NUM: u32 = 8; 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 SFD_CLOEXEC: ::c_int = 0x080000; pub const NCCS: usize = 32; pub const O_TRUNC: ::c_int = 0x00040000; pub const O_NOATIME: ::c_int = 0x00002000; pub const O_CLOEXEC: ::c_int = 0x00000100; pub const O_TMPFILE: ::c_int = 0x00004000; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const BUFSIZ: ::c_uint = 1024; pub const TMP_MAX: ::c_uint = 10000; pub const FOPEN_MAX: ::c_uint = 1000; pub const O_PATH: ::c_int = 0x00400000; pub const O_EXEC: ::c_int = O_PATH; pub const O_SEARCH: ::c_int = O_PATH; pub const O_ACCMODE: ::c_int = (03 | O_SEARCH); pub const O_NDELAY: ::c_int = O_NONBLOCK; pub const NI_MAXHOST: ::socklen_t = 255; pub const PTHREAD_STACK_MIN: ::size_t = 2048; pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; 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 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 SIGUNUSED: ::c_int = ::SIGSYS; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8; pub const CPU_SETSIZE: ::c_int = 128; pub const PTRACE_TRACEME: ::c_int = 0; pub const PTRACE_PEEKTEXT: ::c_int = 1; pub const PTRACE_PEEKDATA: ::c_int = 2; pub const PTRACE_PEEKUSER: ::c_int = 3; pub const PTRACE_POKETEXT: ::c_int = 4; pub const PTRACE_POKEDATA: ::c_int = 5; pub const PTRACE_POKEUSER: ::c_int = 6; pub const PTRACE_CONT: ::c_int = 7; pub const PTRACE_KILL: ::c_int = 8; pub const PTRACE_SINGLESTEP: ::c_int = 9; pub const PTRACE_GETREGS: ::c_int = 12; pub const PTRACE_SETREGS: ::c_int = 13; pub const PTRACE_GETFPREGS: ::c_int = 14; pub const PTRACE_SETFPREGS: ::c_int = 15; pub const PTRACE_ATTACH: ::c_int = 16; pub const PTRACE_DETACH: ::c_int = 17; pub const PTRACE_GETFPXREGS: ::c_int = 18; pub const PTRACE_SETFPXREGS: ::c_int = 19; pub const PTRACE_SYSCALL: ::c_int = 24; 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_SEIZE: ::c_int = 0x4206; 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 EFD_NONBLOCK: ::c_int = ::O_NONBLOCK; pub const SFD_NONBLOCK: ::c_int = ::O_NONBLOCK; pub const TCSANOW: ::c_int = 0; pub const TCSADRAIN: ::c_int = 1; pub const TCSAFLUSH: ::c_int = 2; pub const TIOCINQ: ::c_int = ::FIONREAD; pub const RTLD_GLOBAL: ::c_int = 0x100; pub const RTLD_NOLOAD: ::c_int = 0x4; // TODO(#247) Temporarily musl-specific (available since musl 0.9.12 / Linux // kernel 3.10). See also notbsd/mod.rs pub const CLOCK_SGI_CYCLE: ::clockid_t = 10; pub const CLOCK_TAI: ::clockid_t = 11; 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 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 SO_BINDTODEVICE: ::c_int = 25; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_MARK: ::c_int = 36; 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 __SIZEOF_PTHREAD_RWLOCK_T: usize = 56; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; pub const O_ASYNC: ::c_int = 0x00000400; pub const FIOCLEX: ::c_int = 0x5451; 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 O_APPEND: ::c_int = 0x00100000; pub const O_CREAT: ::c_int = 0x00010000; pub const O_EXCL: ::c_int = 0x00020000; pub const O_NOCTTY: ::c_int = 0x00000200; pub const O_NONBLOCK: ::c_int = 0x00000010; pub const O_SYNC: ::c_int = (0x00000040 | O_DSYNC); pub const O_RSYNC: ::c_int = O_SYNC; pub const O_DSYNC: ::c_int = 0x00000020; pub const SOCK_NONBLOCK: ::c_int = 2048; 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 SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOL_SOCKET: ::c_int = 1; 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 EDEADLOCK: ::c_int = EDEADLK; pub const EMULTIHOP: ::c_int = 72; 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 ENOTSUP: ::c_int = EOPNOTSUPP; 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 ERFKILL: ::c_int = 132; pub const EHWPOISON: ::c_int = 133; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; 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 EXTPROC: ::tcflag_t = 0x00010000; pub const MAP_HUGETLB: ::c_int = 0x040000; 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 VEOF: usize = 4; 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 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 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; pub const O_DIRECTORY: ::c_int = 0x00080000; pub const O_DIRECT: ::c_int = 0x00000800; pub const O_LARGEFILE: ::c_int = 0x00001000; pub const O_NOFOLLOW: ::c_int = 0x00000080; // intentionally not public, only used for fd_set cfg_if! { if #[cfg(target_pointer_width = "32")] { const ULONG_SIZE: usize = 32; } else if #[cfg(target_pointer_width = "64")] { const ULONG_SIZE: usize = 64; } else { // Unknown target_pointer_width } } // END_PUB_CONST f! { pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () { let fd = fd as usize; let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; (*set).fds_bits[fd / size] &= !(1 << (fd % size)); return } 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 } pub fn FD_SET(fd: ::c_int, set: *mut fd_set) -> () { let fd = fd as usize; let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; (*set).fds_bits[fd / size] |= 1 << (fd % size); return } pub fn FD_ZERO(set: *mut fd_set) -> () { for slot in (*set).fds_bits.iter_mut() { *slot = 0; } } pub fn WIFSTOPPED(status: ::c_int) -> bool { (status & 0xff) == 0x7f } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WIFCONTINUED(status: ::c_int) -> bool { status == 0xffff } pub fn WIFSIGNALED(status: ::c_int) -> bool { ((status & 0x7f) + 1) as i8 >= 2 } pub fn WTERMSIG(status: ::c_int) -> ::c_int { status & 0x7f } pub fn WIFEXITED(status: ::c_int) -> bool { (status & 0x7f) == 0 } pub fn WEXITSTATUS(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WCOREDUMP(status: ::c_int) -> bool { (status & 0x80) != 0 } pub fn QCMD(cmd: ::c_int, type_: ::c_int) -> ::c_int { (cmd << 8) | (type_ & 0x00ff) } pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () { for slot in cpuset.bits.iter_mut() { *slot = 0; } } 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); 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); 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); 0 != (cpuset.bits[idx] & (1 << offset)) } pub fn CPU_EQUAL(set1: &cpu_set_t, set2: &cpu_set_t) -> bool { set1.bits == set2.bits } pub fn major(dev: ::dev_t) -> ::c_uint { let mut major = 0; major |= (dev & 0x00000000000fff00) >> 8; major |= (dev & 0xfffff00000000000) >> 32; major as ::c_uint } pub fn minor(dev: ::dev_t) -> ::c_uint { let mut minor = 0; minor |= (dev & 0x00000000000000ff) >> 0; minor |= (dev & 0x00000ffffff00000) >> 12; minor as ::c_uint } pub fn makedev(major: ::c_uint, minor: ::c_uint) -> ::dev_t { let major = major as ::dev_t; let minor = minor as ::dev_t; let mut dev = 0; dev |= (major & 0x00000fff) << 8; dev |= (major & 0xfffff000) << 32; dev |= (minor & 0x000000ff) << 0; dev |= (minor & 0xffffff00) << 12; dev } } // EXTERN_FN #[link(name = "c")] #[link(name = "fdio")] extern "C" {} #[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 {} // TODO: fill this out with a struct impl ::Copy for fpos_t {} impl ::Clone for fpos_t { fn clone(&self) -> fpos_t { *self } } extern "C" { 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; pub fn fopen(filename: *const c_char, mode: *const c_char) -> *mut FILE; pub fn freopen( filename: *const c_char, mode: *const c_char, file: *mut FILE, ) -> *mut FILE; pub fn fflush(file: *mut FILE) -> c_int; pub fn fclose(file: *mut FILE) -> c_int; pub fn remove(filename: *const c_char) -> c_int; pub fn rename(oldname: *const c_char, newname: *const c_char) -> c_int; pub fn tmpfile() -> *mut FILE; pub fn setvbuf( stream: *mut FILE, buffer: *mut c_char, mode: c_int, size: size_t, ) -> c_int; pub fn setbuf(stream: *mut FILE, buf: *mut c_char); pub fn getchar() -> c_int; pub fn putchar(c: c_int) -> c_int; pub fn fgetc(stream: *mut FILE) -> c_int; pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char; pub fn fputc(c: c_int, stream: *mut FILE) -> c_int; pub fn fputs(s: *const c_char, stream: *mut FILE) -> c_int; pub fn puts(s: *const c_char) -> c_int; pub fn ungetc(c: c_int, stream: *mut FILE) -> c_int; pub fn fread( ptr: *mut c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; pub fn fwrite( ptr: *const c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int; pub fn ftell(stream: *mut FILE) -> c_long; pub fn rewind(stream: *mut FILE); pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> c_int; pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> c_int; 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 atoi(s: *const c_char) -> c_int; pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double; 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; pub fn malloc(size: size_t) -> *mut c_void; pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void; pub fn free(p: *mut c_void); pub fn abort() -> !; pub fn exit(status: c_int) -> !; pub fn _exit(status: c_int) -> !; pub fn atexit(cb: extern "C" fn()) -> c_int; pub fn system(s: *const c_char) -> c_int; pub fn getenv(s: *const c_char) -> *mut c_char; pub fn strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char; pub fn strncpy( dst: *mut c_char, src: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char; pub fn strncat( s: *mut c_char, ct: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int; pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strdup(cs: *const c_char) -> *mut c_char; pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strlen(cs: *const c_char) -> size_t; pub fn strnlen(cs: *const c_char, maxlen: size_t) -> size_t; pub fn strerror(n: c_int) -> *mut c_char; pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char; pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t; pub fn wcslen(buf: *const wchar_t) -> size_t; pub fn wcstombs( dest: *mut c_char, src: *const wchar_t, n: size_t, ) -> ::size_t; pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void; pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int; pub fn memcpy( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memmove( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void; pub fn abs(i: c_int) -> c_int; pub fn atof(s: *const c_char) -> c_double; pub fn labs(i: c_long) -> c_long; pub fn rand() -> c_int; pub fn srand(seed: c_uint); pub fn getpwnam(name: *const ::c_char) -> *mut passwd; pub fn getpwuid(uid: ::uid_t) -> *mut passwd; pub fn fprintf( stream: *mut ::FILE, format: *const ::c_char, ... ) -> ::c_int; pub fn printf(format: *const ::c_char, ...) -> ::c_int; pub fn snprintf( s: *mut ::c_char, n: ::size_t, format: *const ::c_char, ... ) -> ::c_int; pub fn sprintf(s: *mut ::c_char, format: *const ::c_char, ...) -> ::c_int; pub fn fscanf( stream: *mut ::FILE, format: *const ::c_char, ... ) -> ::c_int; pub fn scanf(format: *const ::c_char, ...) -> ::c_int; pub fn sscanf(s: *const ::c_char, format: *const ::c_char, ...) -> ::c_int; pub fn getchar_unlocked() -> ::c_int; pub fn putchar_unlocked(c: ::c_int) -> ::c_int; pub fn socket(domain: ::c_int, ty: ::c_int, protocol: ::c_int) -> ::c_int; pub fn connect( socket: ::c_int, address: *const sockaddr, len: socklen_t, ) -> ::c_int; pub fn listen(socket: ::c_int, backlog: ::c_int) -> ::c_int; pub fn accept( socket: ::c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> ::c_int; pub fn getpeername( socket: ::c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> ::c_int; pub fn getsockname( socket: ::c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> ::c_int; pub fn setsockopt( socket: ::c_int, level: ::c_int, name: ::c_int, value: *const ::c_void, option_len: socklen_t, ) -> ::c_int; pub fn socketpair( domain: ::c_int, type_: ::c_int, protocol: ::c_int, socket_vector: *mut ::c_int, ) -> ::c_int; pub fn sendto( socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int, addr: *const sockaddr, addrlen: socklen_t, ) -> ::ssize_t; pub fn shutdown(socket: ::c_int, how: ::c_int) -> ::c_int; pub fn chmod(path: *const c_char, mode: mode_t) -> ::c_int; pub fn fchmod(fd: ::c_int, mode: mode_t) -> ::c_int; pub fn fstat(fildes: ::c_int, buf: *mut stat) -> ::c_int; pub fn mkdir(path: *const c_char, mode: mode_t) -> ::c_int; pub fn stat(path: *const c_char, buf: *mut stat) -> ::c_int; pub fn pclose(stream: *mut ::FILE) -> ::c_int; pub fn fdopen(fd: ::c_int, mode: *const c_char) -> *mut ::FILE; pub fn fileno(stream: *mut ::FILE) -> ::c_int; pub fn open(path: *const c_char, oflag: ::c_int, ...) -> ::c_int; pub fn creat(path: *const c_char, mode: mode_t) -> ::c_int; pub fn fcntl(fd: ::c_int, cmd: ::c_int, ...) -> ::c_int; pub fn opendir(dirname: *const c_char) -> *mut ::DIR; pub fn readdir(dirp: *mut ::DIR) -> *mut ::dirent; pub fn readdir_r( dirp: *mut ::DIR, entry: *mut ::dirent, result: *mut *mut ::dirent, ) -> ::c_int; pub fn closedir(dirp: *mut ::DIR) -> ::c_int; pub fn rewinddir(dirp: *mut ::DIR); pub fn openat( dirfd: ::c_int, pathname: *const ::c_char, flags: ::c_int, ... ) -> ::c_int; pub fn fchmodat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, flags: ::c_int, ) -> ::c_int; pub fn fchown(fd: ::c_int, owner: ::uid_t, group: ::gid_t) -> ::c_int; pub fn fchownat( dirfd: ::c_int, pathname: *const ::c_char, owner: ::uid_t, group: ::gid_t, flags: ::c_int, ) -> ::c_int; pub fn fstatat( dirfd: ::c_int, pathname: *const ::c_char, buf: *mut stat, flags: ::c_int, ) -> ::c_int; pub fn linkat( olddirfd: ::c_int, oldpath: *const ::c_char, newdirfd: ::c_int, newpath: *const ::c_char, flags: ::c_int, ) -> ::c_int; pub fn mkdirat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, ) -> ::c_int; pub fn readlinkat( dirfd: ::c_int, pathname: *const ::c_char, buf: *mut ::c_char, bufsiz: ::size_t, ) -> ::ssize_t; pub fn renameat( olddirfd: ::c_int, oldpath: *const ::c_char, newdirfd: ::c_int, newpath: *const ::c_char, ) -> ::c_int; pub fn symlinkat( target: *const ::c_char, newdirfd: ::c_int, linkpath: *const ::c_char, ) -> ::c_int; pub fn unlinkat( dirfd: ::c_int, pathname: *const ::c_char, flags: ::c_int, ) -> ::c_int; pub fn access(path: *const c_char, amode: ::c_int) -> ::c_int; pub fn alarm(seconds: ::c_uint) -> ::c_uint; pub fn chdir(dir: *const c_char) -> ::c_int; pub fn chown(path: *const c_char, uid: uid_t, gid: gid_t) -> ::c_int; pub fn lchown(path: *const c_char, uid: uid_t, gid: gid_t) -> ::c_int; pub fn close(fd: ::c_int) -> ::c_int; pub fn dup(fd: ::c_int) -> ::c_int; pub fn dup2(src: ::c_int, dst: ::c_int) -> ::c_int; pub fn execl(path: *const c_char, arg0: *const c_char, ...) -> ::c_int; pub fn execle( path: *const ::c_char, arg0: *const ::c_char, ... ) -> ::c_int; pub fn execlp( file: *const ::c_char, arg0: *const ::c_char, ... ) -> ::c_int; pub fn execv(prog: *const c_char, argv: *const *const c_char) -> ::c_int; pub fn execve( prog: *const c_char, argv: *const *const c_char, envp: *const *const c_char, ) -> ::c_int; pub fn execvp(c: *const c_char, argv: *const *const c_char) -> ::c_int; pub fn fork() -> pid_t; pub fn fpathconf(filedes: ::c_int, name: ::c_int) -> c_long; pub fn getcwd(buf: *mut c_char, size: ::size_t) -> *mut c_char; pub fn getegid() -> gid_t; pub fn geteuid() -> uid_t; pub fn getgid() -> gid_t; pub fn getgroups(ngroups_max: ::c_int, groups: *mut gid_t) -> ::c_int; pub fn getlogin() -> *mut c_char; pub fn getopt( argc: ::c_int, argv: *const *mut c_char, optstr: *const c_char, ) -> ::c_int; pub fn getpgid(pid: pid_t) -> pid_t; pub fn getpgrp() -> pid_t; pub fn getpid() -> pid_t; pub fn getppid() -> pid_t; pub fn getuid() -> uid_t; pub fn isatty(fd: ::c_int) -> ::c_int; pub fn link(src: *const c_char, dst: *const c_char) -> ::c_int; pub fn lseek(fd: ::c_int, offset: off_t, whence: ::c_int) -> off_t; pub fn pathconf(path: *const c_char, name: ::c_int) -> c_long; pub fn pause() -> ::c_int; pub fn pipe(fds: *mut ::c_int) -> ::c_int; pub fn posix_memalign( memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t, ) -> ::c_int; pub fn read(fd: ::c_int, buf: *mut ::c_void, count: ::size_t) -> ::ssize_t; pub fn rmdir(path: *const c_char) -> ::c_int; pub fn seteuid(uid: uid_t) -> ::c_int; pub fn setegid(gid: gid_t) -> ::c_int; pub fn setgid(gid: gid_t) -> ::c_int; pub fn setpgid(pid: pid_t, pgid: pid_t) -> ::c_int; pub fn setsid() -> pid_t; pub fn setuid(uid: uid_t) -> ::c_int; pub fn sleep(secs: ::c_uint) -> ::c_uint; pub fn nanosleep(rqtp: *const timespec, rmtp: *mut timespec) -> ::c_int; pub fn tcgetpgrp(fd: ::c_int) -> pid_t; pub fn tcsetpgrp(fd: ::c_int, pgrp: ::pid_t) -> ::c_int; pub fn ttyname(fd: ::c_int) -> *mut c_char; pub fn unlink(c: *const c_char) -> ::c_int; pub fn wait(status: *mut ::c_int) -> pid_t; pub fn waitpid( pid: pid_t, status: *mut ::c_int, options: ::c_int, ) -> pid_t; pub fn write( fd: ::c_int, buf: *const ::c_void, count: ::size_t, ) -> ::ssize_t; pub fn pread( fd: ::c_int, buf: *mut ::c_void, count: ::size_t, offset: off_t, ) -> ::ssize_t; pub fn pwrite( fd: ::c_int, buf: *const ::c_void, count: ::size_t, offset: off_t, ) -> ::ssize_t; pub fn umask(mask: mode_t) -> mode_t; pub fn utime(file: *const c_char, buf: *const utimbuf) -> ::c_int; pub fn kill(pid: pid_t, sig: ::c_int) -> ::c_int; pub fn mlock(addr: *const ::c_void, len: ::size_t) -> ::c_int; pub fn munlock(addr: *const ::c_void, len: ::size_t) -> ::c_int; pub fn mlockall(flags: ::c_int) -> ::c_int; pub fn munlockall() -> ::c_int; pub fn mmap( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, flags: ::c_int, fd: ::c_int, offset: off_t, ) -> *mut ::c_void; pub fn munmap(addr: *mut ::c_void, len: ::size_t) -> ::c_int; pub fn if_nametoindex(ifname: *const c_char) -> ::c_uint; pub fn if_indextoname( ifindex: ::c_uint, ifname: *mut ::c_char, ) -> *mut ::c_char; pub fn lstat(path: *const c_char, buf: *mut stat) -> ::c_int; pub fn fsync(fd: ::c_int) -> ::c_int; pub fn setenv( name: *const c_char, val: *const c_char, overwrite: ::c_int, ) -> ::c_int; pub fn unsetenv(name: *const c_char) -> ::c_int; pub fn symlink(path1: *const c_char, path2: *const c_char) -> ::c_int; pub fn ftruncate(fd: ::c_int, length: off_t) -> ::c_int; pub fn signal(signum: ::c_int, handler: sighandler_t) -> sighandler_t; pub fn realpath( pathname: *const ::c_char, resolved: *mut ::c_char, ) -> *mut ::c_char; pub fn flock(fd: ::c_int, operation: ::c_int) -> ::c_int; pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; pub fn times(buf: *mut ::tms) -> ::clock_t; pub fn pthread_self() -> ::pthread_t; pub fn pthread_join( native: ::pthread_t, value: *mut *mut ::c_void, ) -> ::c_int; pub fn pthread_exit(value: *mut ::c_void) -> !; pub fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int; pub fn pthread_attr_destroy(attr: *mut ::pthread_attr_t) -> ::c_int; pub fn pthread_attr_setstacksize( attr: *mut ::pthread_attr_t, stack_size: ::size_t, ) -> ::c_int; pub fn pthread_attr_setdetachstate( attr: *mut ::pthread_attr_t, state: ::c_int, ) -> ::c_int; pub fn pthread_detach(thread: ::pthread_t) -> ::c_int; pub fn sched_yield() -> ::c_int; pub fn pthread_key_create( key: *mut pthread_key_t, dtor: ::Option, ) -> ::c_int; pub fn pthread_key_delete(key: pthread_key_t) -> ::c_int; pub fn pthread_getspecific(key: pthread_key_t) -> *mut ::c_void; pub fn pthread_setspecific( key: pthread_key_t, value: *const ::c_void, ) -> ::c_int; pub fn pthread_mutex_init( lock: *mut pthread_mutex_t, attr: *const pthread_mutexattr_t, ) -> ::c_int; pub fn pthread_mutex_destroy(lock: *mut pthread_mutex_t) -> ::c_int; pub fn pthread_mutex_lock(lock: *mut pthread_mutex_t) -> ::c_int; pub fn pthread_mutex_trylock(lock: *mut pthread_mutex_t) -> ::c_int; pub fn pthread_mutex_unlock(lock: *mut pthread_mutex_t) -> ::c_int; pub fn pthread_mutexattr_init(attr: *mut pthread_mutexattr_t) -> ::c_int; pub fn pthread_mutexattr_destroy( attr: *mut pthread_mutexattr_t, ) -> ::c_int; pub fn pthread_mutexattr_settype( attr: *mut pthread_mutexattr_t, _type: ::c_int, ) -> ::c_int; pub fn pthread_cond_init( cond: *mut pthread_cond_t, attr: *const pthread_condattr_t, ) -> ::c_int; pub fn pthread_cond_wait( cond: *mut pthread_cond_t, lock: *mut pthread_mutex_t, ) -> ::c_int; pub fn pthread_cond_timedwait( cond: *mut pthread_cond_t, lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn pthread_cond_signal(cond: *mut pthread_cond_t) -> ::c_int; pub fn pthread_cond_broadcast(cond: *mut pthread_cond_t) -> ::c_int; pub fn pthread_cond_destroy(cond: *mut pthread_cond_t) -> ::c_int; pub fn pthread_condattr_init(attr: *mut pthread_condattr_t) -> ::c_int; pub fn pthread_condattr_destroy(attr: *mut pthread_condattr_t) -> ::c_int; pub fn pthread_rwlock_init( lock: *mut pthread_rwlock_t, attr: *const pthread_rwlockattr_t, ) -> ::c_int; pub fn pthread_rwlock_destroy(lock: *mut pthread_rwlock_t) -> ::c_int; pub fn pthread_rwlock_rdlock(lock: *mut pthread_rwlock_t) -> ::c_int; pub fn pthread_rwlock_tryrdlock(lock: *mut pthread_rwlock_t) -> ::c_int; pub fn pthread_rwlock_wrlock(lock: *mut pthread_rwlock_t) -> ::c_int; pub fn pthread_rwlock_trywrlock(lock: *mut pthread_rwlock_t) -> ::c_int; pub fn pthread_rwlock_unlock(lock: *mut pthread_rwlock_t) -> ::c_int; pub fn pthread_rwlockattr_init(attr: *mut pthread_rwlockattr_t) -> ::c_int; pub fn pthread_rwlockattr_destroy( attr: *mut pthread_rwlockattr_t, ) -> ::c_int; pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::c_int; pub fn getsockopt( sockfd: ::c_int, level: ::c_int, optname: ::c_int, optval: *mut ::c_void, optlen: *mut ::socklen_t, ) -> ::c_int; pub fn raise(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; pub fn dlopen(filename: *const ::c_char, flag: ::c_int) -> *mut ::c_void; pub fn dlerror() -> *mut ::c_char; pub fn dlsym( handle: *mut ::c_void, symbol: *const ::c_char, ) -> *mut ::c_void; pub fn dlclose(handle: *mut ::c_void) -> ::c_int; pub fn dladdr(addr: *const ::c_void, info: *mut Dl_info) -> ::c_int; pub fn getaddrinfo( node: *const c_char, service: *const c_char, hints: *const addrinfo, res: *mut *mut addrinfo, ) -> ::c_int; pub fn freeaddrinfo(res: *mut addrinfo); pub fn gai_strerror(errcode: ::c_int) -> *const ::c_char; pub fn res_init() -> ::c_int; pub fn gmtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm; pub fn localtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm; pub fn mktime(tm: *mut tm) -> time_t; pub fn time(time: *mut time_t) -> time_t; pub fn gmtime(time_p: *const time_t) -> *mut tm; pub fn localtime(time_p: *const time_t) -> *mut tm; pub fn mknod( pathname: *const ::c_char, mode: ::mode_t, dev: ::dev_t, ) -> ::c_int; pub fn uname(buf: *mut ::utsname) -> ::c_int; pub fn gethostname(name: *mut ::c_char, len: ::size_t) -> ::c_int; pub fn getservbyname( name: *const ::c_char, proto: *const ::c_char, ) -> *mut servent; pub fn getprotobyname(name: *const ::c_char) -> *mut protoent; pub fn getprotobynumber(proto: ::c_int) -> *mut protoent; pub fn usleep(secs: ::c_uint) -> ::c_int; pub fn send( socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int, ) -> ::ssize_t; pub fn recv( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, ) -> ::ssize_t; pub fn putenv(string: *mut c_char) -> ::c_int; pub fn poll(fds: *mut pollfd, nfds: nfds_t, timeout: ::c_int) -> ::c_int; pub fn select( nfds: ::c_int, readfs: *mut fd_set, writefds: *mut fd_set, errorfds: *mut fd_set, timeout: *mut timeval, ) -> ::c_int; pub fn setlocale( category: ::c_int, locale: *const ::c_char, ) -> *mut ::c_char; pub fn localeconv() -> *mut lconv; pub fn sem_destroy(sem: *mut sem_t) -> ::c_int; pub fn sem_wait(sem: *mut sem_t) -> ::c_int; pub fn sem_trywait(sem: *mut sem_t) -> ::c_int; pub fn sem_post(sem: *mut sem_t) -> ::c_int; pub fn sem_init( sem: *mut sem_t, pshared: ::c_int, value: ::c_uint, ) -> ::c_int; pub fn statvfs(path: *const c_char, buf: *mut statvfs) -> ::c_int; pub fn fstatvfs(fd: ::c_int, buf: *mut statvfs) -> ::c_int; pub fn readlink( path: *const c_char, buf: *mut c_char, bufsz: ::size_t, ) -> ::ssize_t; pub fn sigemptyset(set: *mut sigset_t) -> ::c_int; pub fn sigaddset(set: *mut sigset_t, signum: ::c_int) -> ::c_int; pub fn sigfillset(set: *mut sigset_t) -> ::c_int; pub fn sigdelset(set: *mut sigset_t, signum: ::c_int) -> ::c_int; pub fn sigismember(set: *const sigset_t, signum: ::c_int) -> ::c_int; pub fn sigprocmask( how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t, ) -> ::c_int; pub fn sigpending(set: *mut sigset_t) -> ::c_int; pub fn timegm(tm: *mut ::tm) -> time_t; pub fn getsid(pid: pid_t) -> pid_t; pub fn sysconf(name: ::c_int) -> ::c_long; pub fn mkfifo(path: *const c_char, mode: mode_t) -> ::c_int; pub fn pselect( nfds: ::c_int, readfs: *mut fd_set, writefds: *mut fd_set, errorfds: *mut fd_set, timeout: *const timespec, sigmask: *const sigset_t, ) -> ::c_int; pub fn fseeko( stream: *mut ::FILE, offset: ::off_t, whence: ::c_int, ) -> ::c_int; pub fn ftello(stream: *mut ::FILE) -> ::off_t; pub fn tcdrain(fd: ::c_int) -> ::c_int; pub fn cfgetispeed(termios: *const ::termios) -> ::speed_t; pub fn cfgetospeed(termios: *const ::termios) -> ::speed_t; pub fn cfmakeraw(termios: *mut ::termios); pub fn cfsetispeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int; pub fn cfsetospeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int; pub fn cfsetspeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int; pub fn tcgetattr(fd: ::c_int, termios: *mut ::termios) -> ::c_int; pub fn tcsetattr( fd: ::c_int, optional_actions: ::c_int, termios: *const ::termios, ) -> ::c_int; pub fn tcflow(fd: ::c_int, action: ::c_int) -> ::c_int; pub fn tcflush(fd: ::c_int, action: ::c_int) -> ::c_int; pub fn tcgetsid(fd: ::c_int) -> ::pid_t; pub fn tcsendbreak(fd: ::c_int, duration: ::c_int) -> ::c_int; pub fn mkstemp(template: *mut ::c_char) -> ::c_int; pub fn mkdtemp(template: *mut ::c_char) -> *mut ::c_char; pub fn tmpnam(ptr: *mut ::c_char) -> *mut ::c_char; pub fn openlog(ident: *const ::c_char, logopt: ::c_int, facility: ::c_int); pub fn closelog(); pub fn setlogmask(maskpri: ::c_int) -> ::c_int; pub fn syslog(priority: ::c_int, message: *const ::c_char, ...); pub fn grantpt(fd: ::c_int) -> ::c_int; pub fn posix_openpt(flags: ::c_int) -> ::c_int; pub fn ptsname(fd: ::c_int) -> *mut ::c_char; pub fn unlockpt(fd: ::c_int) -> ::c_int; pub fn fdatasync(fd: ::c_int) -> ::c_int; pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_settime( clk_id: ::clockid_t, tp: *const ::timespec, ) -> ::c_int; pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; pub fn pthread_getattr_np( native: ::pthread_t, attr: *mut ::pthread_attr_t, ) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, stacksize: *mut ::size_t, ) -> ::c_int; pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; pub fn setgroups(ngroups: ::size_t, ptr: *const ::gid_t) -> ::c_int; pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int; pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int; pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int; pub fn memrchr( cx: *const ::c_void, c: ::c_int, n: ::size_t, ) -> *mut ::c_void; pub fn posix_fadvise( fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int, ) -> ::c_int; pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int; pub fn utimensat( dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int, ) -> ::c_int; pub fn duplocale(base: ::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 uselocale(loc: ::locale_t) -> ::locale_t; pub fn fdopendir(fd: ::c_int) -> *mut ::DIR; pub fn mknodat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, dev: dev_t, ) -> ::c_int; pub fn pthread_condattr_getclock( attr: *const pthread_condattr_t, clock_id: *mut clockid_t, ) -> ::c_int; pub fn pthread_condattr_setclock( attr: *mut pthread_condattr_t, clock_id: ::clockid_t, ) -> ::c_int; pub fn accept4( fd: ::c_int, addr: *mut ::sockaddr, len: *mut ::socklen_t, flg: ::c_int, ) -> ::c_int; pub fn ptsname_r( fd: ::c_int, buf: *mut ::c_char, buflen: ::size_t, ) -> ::c_int; pub fn clearenv() -> ::c_int; pub fn waitid( idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int, ) -> ::c_int; pub fn setreuid(ruid: ::uid_t, euid: ::uid_t) -> ::c_int; pub fn setregid(rgid: ::gid_t, egid: ::gid_t) -> ::c_int; pub fn getresuid( ruid: *mut ::uid_t, euid: *mut ::uid_t, suid: *mut ::uid_t, ) -> ::c_int; pub fn getresgid( rgid: *mut ::gid_t, egid: *mut ::gid_t, sgid: *mut ::gid_t, ) -> ::c_int; pub fn acct(filename: *const ::c_char) -> ::c_int; pub fn brk(addr: *mut ::c_void) -> ::c_int; pub fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int; pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int; pub fn openpty( amaster: *mut ::c_int, aslave: *mut ::c_int, name: *mut ::c_char, termp: *const termios, winp: *const ::winsize, ) -> ::c_int; pub fn execvpe( file: *const ::c_char, argv: *const *const ::c_char, envp: *const *const ::c_char, ) -> ::c_int; pub fn fexecve( fd: ::c_int, argv: *const *const ::c_char, envp: *const *const ::c_char, ) -> ::c_int; pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int; pub fn setpwent(); pub fn endpwent(); pub fn getpwent() -> *mut passwd; pub fn shm_open( name: *const c_char, oflag: ::c_int, mode: mode_t, ) -> ::c_int; // System V IPC 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 ftok(pathname: *const ::c_char, proj_id: ::c_int) -> ::key_t; pub fn semget(key: ::key_t, nsems: ::c_int, semflag: ::c_int) -> ::c_int; pub fn semop( semid: ::c_int, sops: *mut ::sembuf, nsops: ::size_t, ) -> ::c_int; pub fn semctl( semid: ::c_int, semnum: ::c_int, cmd: ::c_int, ... ) -> ::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 msgrcv( msqid: ::c_int, msgp: *mut ::c_void, msgsz: ::size_t, msgtyp: ::c_long, msgflg: ::c_int, ) -> ::ssize_t; pub fn msgsnd( msqid: ::c_int, msgp: *const ::c_void, msgsz: ::size_t, msgflg: ::c_int, ) -> ::c_int; pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn __errno_location() -> *mut ::c_int; pub fn fallocate( fd: ::c_int, mode: ::c_int, offset: ::off_t, len: ::off_t, ) -> ::c_int; pub fn posix_fallocate( fd: ::c_int, offset: ::off_t, len: ::off_t, ) -> ::c_int; pub fn readahead( fd: ::c_int, offset: ::off64_t, count: ::size_t, ) -> ::ssize_t; pub fn signalfd( fd: ::c_int, mask: *const ::sigset_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, flags: ::c_int, new_value: *const itimerspec, old_value: *mut itimerspec, ) -> ::c_int; pub fn pwritev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn preadv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn quotactl( cmd: ::c_int, special: *const ::c_char, id: ::c_int, data: *mut ::c_char, ) -> ::c_int; pub fn dup3(oldfd: ::c_int, newfd: ::c_int, flags: ::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; pub fn sigtimedwait( set: *const sigset_t, info: *mut siginfo_t, timeout: *const ::timespec, ) -> ::c_int; pub fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::c_int; pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::socklen_t, serv: *mut ::c_char, sevlen: ::socklen_t, flags: ::c_int, ) -> ::c_int; pub fn reboot(how_to: ::c_int) -> ::c_int; pub fn setfsgid(gid: ::gid_t) -> ::c_int; pub fn setfsuid(uid: ::uid_t) -> ::c_int; // Not available now on Android pub fn mkfifoat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, ) -> ::c_int; pub fn if_nameindex() -> *mut if_nameindex; pub fn if_freenameindex(ptr: *mut if_nameindex); pub fn sync_file_range( fd: ::c_int, offset: ::off64_t, nbytes: ::off64_t, flags: ::c_uint, ) -> ::c_int; pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int; pub fn freeifaddrs(ifa: *mut ::ifaddrs); pub fn glob( pattern: *const c_char, flags: ::c_int, errfunc: ::Option< extern "C" fn(epath: *const c_char, errno: ::c_int) -> ::c_int, >, pglob: *mut ::glob_t, ) -> ::c_int; pub fn globfree(pglob: *mut ::glob_t); pub fn posix_madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn shm_unlink(name: *const ::c_char) -> ::c_int; pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long); pub fn telldir(dirp: *mut ::DIR) -> ::c_long; pub fn madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn msync( addr: *mut ::c_void, len: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn recvfrom( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::ssize_t; pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int; pub fn futimes(fd: ::c_int, times: *const ::timeval) -> ::c_int; pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char; pub fn bind( socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t, ) -> ::c_int; pub fn writev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn readv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn sendmsg( fd: ::c_int, msg: *const ::msghdr, flags: ::c_int, ) -> ::ssize_t; pub fn recvmsg( fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int, ) -> ::ssize_t; pub fn getdomainname(name: *mut ::c_char, len: ::size_t) -> ::c_int; pub fn setdomainname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn vhangup() -> ::c_int; pub fn sendmmsg( sockfd: ::c_int, msgvec: *mut mmsghdr, vlen: ::c_uint, flags: ::c_int, ) -> ::c_int; pub fn recvmmsg( sockfd: ::c_int, msgvec: *mut mmsghdr, vlen: ::c_uint, flags: ::c_int, timeout: *mut ::timespec, ) -> ::c_int; pub fn sync(); 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; pub fn sched_setaffinity( pid: ::pid_t, cpusetsize: ::size_t, cpuset: *const cpu_set_t, ) -> ::c_int; pub fn umount(target: *const ::c_char) -> ::c_int; pub fn sched_get_priority_max(policy: ::c_int) -> ::c_int; pub fn tee( fd_in: ::c_int, fd_out: ::c_int, len: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn settimeofday( tv: *const ::timeval, tz: *const ::timezone, ) -> ::c_int; pub fn splice( fd_in: ::c_int, off_in: *mut ::loff_t, fd_out: ::c_int, off_out: *mut ::loff_t, len: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int; pub fn sched_rr_get_interval(pid: ::pid_t, tp: *mut ::timespec) -> ::c_int; pub fn sem_timedwait( sem: *mut sem_t, abstime: *const ::timespec, ) -> ::c_int; pub fn sem_getvalue(sem: *mut sem_t, sval: *mut ::c_int) -> ::c_int; pub fn sched_setparam( pid: ::pid_t, param: *const ::sched_param, ) -> ::c_int; pub fn swapoff(puath: *const ::c_char) -> ::c_int; pub fn vmsplice( fd: ::c_int, iov: *const ::iovec, nr_segs: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn mount( src: *const ::c_char, target: *const ::c_char, fstype: *const ::c_char, flags: ::c_ulong, data: *const ::c_void, ) -> ::c_int; pub fn personality(persona: ::c_ulong) -> ::c_int; pub fn sched_getparam(pid: ::pid_t, param: *mut ::sched_param) -> ::c_int; pub fn ppoll( fds: *mut ::pollfd, nfds: nfds_t, timeout: *const ::timespec, sigmask: *const sigset_t, ) -> ::c_int; pub fn pthread_mutex_timedlock( lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn clone( cb: extern "C" fn(*mut ::c_void) -> ::c_int, child_stack: *mut ::c_void, flags: ::c_int, arg: *mut ::c_void, ... ) -> ::c_int; pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int; pub fn clock_nanosleep( clk_id: ::clockid_t, flags: ::c_int, rqtp: *const ::timespec, rmtp: *mut ::timespec, ) -> ::c_int; pub fn pthread_attr_getguardsize( attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int; pub fn umount2(target: *const ::c_char, flags: ::c_int) -> ::c_int; pub fn swapon(path: *const ::c_char, swapflags: ::c_int) -> ::c_int; pub fn sched_setscheduler( pid: ::pid_t, policy: ::c_int, param: *const ::sched_param, ) -> ::c_int; pub fn sigsuspend(mask: *const ::sigset_t) -> ::c_int; pub fn getgrgid_r( gid: ::gid_t, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::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; pub fn getgrnam_r( name: *const ::c_char, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; pub fn initgroups(user: *const ::c_char, group: ::gid_t) -> ::c_int; 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_cancel(thread: ::pthread_t) -> ::c_int; pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int; pub fn sem_unlink(name: *const ::c_char) -> ::c_int; pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; pub fn getpwnam_r( name: *const ::c_char, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int; pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; pub fn getgrgid(gid: ::gid_t) -> *mut ::group; pub fn getgrouplist( user: *const ::c_char, group: ::gid_t, groups: *mut ::gid_t, ngroups: *mut ::c_int, ) -> ::c_int; pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE; pub fn faccessat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::c_int, flags: ::c_int, ) -> ::c_int; 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 dl_iterate_phdr( callback: ::Option< unsafe extern "C" fn( info: *mut ::dl_phdr_info, size: ::size_t, data: *mut ::c_void, ) -> ::c_int, >, data: *mut ::c_void, ) -> ::c_int; } cfg_if! { if #[cfg(target_arch = "aarch64")] { mod aarch64; pub use self::aarch64::*; } else if #[cfg(any(target_arch = "x86_64"))] { mod x86_64; pub use self::x86_64::*; } else { // Unknown target_arch } } cfg_if! { if #[cfg(libc_align)] { #[macro_use] mod align; } else { #[macro_use] mod no_align; } } expand_align!(); 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, } } } libc-0.2.66/src/fuchsia/no_align.rs010064400007650000024000000116541353775267200153320ustar0000000000000000macro_rules! expand_align { () => { s! { pub struct pthread_mutexattr_t { #[cfg(target_arch = "x86_64")] __align: [::c_int; 0], #[cfg(not(target_arch = "x86_64"))] __align: [::c_long; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } pub struct pthread_rwlockattr_t { __align: [::c_long; 0], size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], } pub struct pthread_condattr_t { __align: [::c_int; 0], size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } s_no_extra_traits! { pub struct pthread_mutex_t { #[cfg(any(target_arch = "arm", all(target_arch = "x86_64", target_pointer_width = "32")))] __align: [::c_long; 0], #[cfg(not(any(target_arch = "arm", all(target_arch = "x86_64", target_pointer_width = "32"))))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } pub struct pthread_rwlock_t { __align: [::c_long; 0], __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } pub struct pthread_cond_t { __align: [*const ::c_void; 0], #[cfg(not(target_env = "musl"))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_COND_T], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for pthread_cond_t { fn eq(&self, other: &pthread_cond_t) -> bool { // Ignore __align field self.size .iter() .zip(other.size.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_cond_t {} impl ::fmt::Debug for pthread_cond_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_cond_t") // Ignore __align field // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_cond_t { fn hash(&self, state: &mut H) { // Ignore __align field self.size.hash(state); } } impl PartialEq for pthread_mutex_t { fn eq(&self, other: &pthread_mutex_t) -> bool { // Ignore __align field self.size .iter() .zip(other.size.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_mutex_t {} impl ::fmt::Debug for pthread_mutex_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_mutex_t") // Ignore __align field // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_mutex_t { fn hash(&self, state: &mut H) { // Ignore __align field self.size.hash(state); } } impl PartialEq for pthread_rwlock_t { fn eq(&self, other: &pthread_rwlock_t) -> bool { // Ignore __align field self.size .iter() .zip(other.size.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_rwlock_t {} impl ::fmt::Debug for pthread_rwlock_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_rwlock_t") // Ignore __align field // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_rwlock_t { fn hash(&self, state: &mut H) { // Ignore __align field self.size.hash(state); } } } } }; } libc-0.2.66/src/fuchsia/x86_64.rs010064400007650000024000000107061353453276600144740ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; pub type nlink_t = u64; pub type blksize_t = ::c_long; pub type __u64 = ::c_ulonglong; s! { pub struct stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 3], } pub struct stat64 { pub st_dev: ::dev_t, pub st_ino: ::ino64_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt64_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, __reserved: [::c_long; 3], } pub struct mcontext_t { __private: [u64; 32], } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_int, __unused1: ::c_long, __unused2: ::c_long } } s_no_extra_traits! { 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, __private: [u8; 512], } } 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 && self .__private .iter() .zip(other.__private.iter()) .all(|(a,b)| a == b) } } 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_stack", &self.uc_stack) .field("uc_mcontext", &self.uc_mcontext) .field("uc_sigmask", &self.uc_sigmask) // FIXME: .field("__private", &self.__private) .finish() } } impl ::hash::Hash for ucontext_t { fn hash(&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); self.__private.hash(state); } } } } // offsets in user_regs_structs, from sys/reg.h pub const R15: ::c_int = 0; pub const R14: ::c_int = 1; pub const R13: ::c_int = 2; pub const R12: ::c_int = 3; pub const RBP: ::c_int = 4; pub const RBX: ::c_int = 5; pub const R11: ::c_int = 6; pub const R10: ::c_int = 7; pub const R9: ::c_int = 8; pub const R8: ::c_int = 9; pub const RAX: ::c_int = 10; pub const RCX: ::c_int = 11; pub const RDX: ::c_int = 12; pub const RSI: ::c_int = 13; pub const RDI: ::c_int = 14; pub const ORIG_RAX: ::c_int = 15; pub const RIP: ::c_int = 16; pub const CS: ::c_int = 17; pub const EFLAGS: ::c_int = 18; pub const RSP: ::c_int = 19; pub const SS: ::c_int = 20; pub const FS_BASE: ::c_int = 21; pub const GS_BASE: ::c_int = 22; pub const DS: ::c_int = 23; pub const ES: ::c_int = 24; pub const FS: ::c_int = 25; pub const GS: ::c_int = 26; pub const MAP_32BIT: ::c_int = 0x0040; pub const SIGSTKSZ: ::size_t = 8192; pub const MINSIGSTKSZ: ::size_t = 2048; libc-0.2.66/src/hermit/aarch64.rs010064400007650000024000000000561353453276600146310ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; libc-0.2.66/src/hermit/mod.rs010064400007650000024000000040451353453276600141620ustar0000000000000000// Copyright 2018 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. // libc port for HermitCore (https://hermitcore.org) // // Ported by Colin Fink // and Stefan Lankes 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 size_t = usize; pub type ptrdiff_t = isize; pub type intptr_t = isize; pub type uintptr_t = usize; pub type ssize_t = isize; pub type c_long = i64; pub type c_ulong = u64; pub type wint_t = u32; pub type wctype_t = i64; pub type regoff_t = size_t; pub type off_t = c_long; cfg_if! { if #[cfg(target_arch = "aarch64")] { mod aarch64; pub use self::aarch64::*; } else if #[cfg(target_arch = "x86_64")] { mod x86_64; pub use self::x86_64::*; } else { // Unknown target_arch } } 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, } } } libc-0.2.66/src/hermit/x86_64.rs010064400007650000024000000000561353453276600143370ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; libc-0.2.66/src/lib.rs010064400007650000024000000106141357020644200126450ustar0000000000000000// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. //! libc - Raw FFI bindings to platforms' system libraries //! //! [Documentation for other platforms][pd]. //! //! [pd]: https://rust-lang.github.io/libc/#platform-specific-documentation #![crate_name = "libc"] #![crate_type = "rlib"] #![cfg_attr(libc_deny_warnings, deny(warnings))] #![allow( bad_style, overflowing_literals, improper_ctypes, unknown_lints, redundant_semicolon )] // Attributes needed when building as part of the standard library #![cfg_attr( feature = "rustc-dep-of-std", feature(cfg_target_vendor, link_cfg, no_core) )] #![cfg_attr(libc_thread_local, feature(thread_local))] // Enable extra lints: #![cfg_attr(feature = "extra_traits", deny(missing_debug_implementations))] #![deny(missing_copy_implementations, safe_packed_borrows)] #![no_std] #![cfg_attr(feature = "rustc-dep-of-std", no_core)] #![cfg_attr(target_os = "redox", feature(static_nobundle))] #![cfg_attr(libc_const_extern_fn, feature(const_extern_fn))] #[macro_use] mod macros; cfg_if! { if #[cfg(feature = "rustc-dep-of-std")] { extern crate rustc_std_workspace_core as core; #[allow(unused_imports)] use core::iter; #[allow(unused_imports)] use core::option; } } cfg_if! { if #[cfg(libc_priv_mod_use)] { #[cfg(libc_core_cvoid)] #[allow(unused_imports)] use core::ffi; #[allow(unused_imports)] use core::fmt; #[allow(unused_imports)] use core::hash; #[allow(unused_imports)] use core::num; #[allow(unused_imports)] use core::mem; #[doc(hidden)] #[allow(unused_imports)] use core::clone::Clone; #[doc(hidden)] #[allow(unused_imports)] use core::marker::Copy; #[doc(hidden)] #[allow(unused_imports)] use core::option::Option; } else { #[doc(hidden)] #[allow(unused_imports)] pub use core::fmt; #[doc(hidden)] #[allow(unused_imports)] pub use core::hash; #[doc(hidden)] #[allow(unused_imports)] pub use core::num; #[doc(hidden)] #[allow(unused_imports)] pub use core::mem; #[doc(hidden)] #[allow(unused_imports)] pub use core::clone::Clone; #[doc(hidden)] #[allow(unused_imports)] pub use core::marker::Copy; #[doc(hidden)] #[allow(unused_imports)] pub use core::option::Option; } } cfg_if! { if #[cfg(windows)] { mod fixed_width_ints; pub use fixed_width_ints::*; mod windows; pub use windows::*; } else if #[cfg(target_os = "cloudabi")] { mod fixed_width_ints; pub use fixed_width_ints::*; mod cloudabi; pub use cloudabi::*; } else if #[cfg(target_os = "fuchsia")] { mod fixed_width_ints; pub use fixed_width_ints::*; mod fuchsia; pub use fuchsia::*; } else if #[cfg(target_os = "switch")] { mod fixed_width_ints; pub use fixed_width_ints::*; mod switch; pub use switch::*; } else if #[cfg(target_os = "vxworks")] { mod fixed_width_ints; pub use fixed_width_ints::*; mod vxworks; pub use vxworks::*; } else if #[cfg(unix)] { mod fixed_width_ints; pub use fixed_width_ints::*; mod unix; pub use unix::*; } else if #[cfg(target_os = "hermit")] { mod fixed_width_ints; pub use fixed_width_ints::*; mod hermit; pub use hermit::*; } else if #[cfg(all(target_env = "sgx", target_vendor = "fortanix"))] { mod fixed_width_ints; pub use fixed_width_ints::*; mod sgx; pub use sgx::*; } else if #[cfg(any(target_env = "wasi", target_os = "wasi"))] { mod fixed_width_ints; pub use fixed_width_ints::*; mod wasi; pub use wasi::*; } else { // non-supported targets: empty... } } libc-0.2.66/src/macros.rs010064400007650000024000000211231357020644200133600ustar0000000000000000/// A macro for defining #[cfg] if-else statements. /// /// This is similar to the `if/elif` C preprocessor macro by allowing definition /// of a cascade of `#[cfg]` cases, emitting the implementation which matches /// first. /// /// This allows you to conveniently provide a long list #[cfg]'d blocks of code /// without having to rewrite each clause multiple times. #[allow(unused_macros)] macro_rules! cfg_if { // match if/else chains with a final `else` ($( if #[cfg($($meta:meta),*)] { $($it:item)* } ) else * else { $($it2:item)* }) => { cfg_if! { @__items () ; $( ( ($($meta),*) ($($it)*) ), )* ( () ($($it2)*) ), } }; // match if/else chains lacking a final `else` ( if #[cfg($($i_met:meta),*)] { $($i_it:item)* } $( else if #[cfg($($e_met:meta),*)] { $($e_it:item)* } )* ) => { cfg_if! { @__items () ; ( ($($i_met),*) ($($i_it)*) ), $( ( ($($e_met),*) ($($e_it)*) ), )* ( () () ), } }; // Internal and recursive macro to emit all the items // // Collects all the negated cfgs in a list at the beginning and after the // semicolon is all the remaining items (@__items ($($not:meta,)*) ; ) => {}; (@__items ($($not:meta,)*) ; ( ($($m:meta),*) ($($it:item)*) ), $($rest:tt)*) => { // Emit all items within one block, applying an approprate #[cfg]. The // #[cfg] will require all `$m` matchers specified and must also negate // all previous matchers. cfg_if! { @__apply cfg(all($($m,)* not(any($($not),*)))), $($it)* } // Recurse to emit all other items in `$rest`, and when we do so add all // our `$m` matchers to the list of `$not` matchers as future emissions // will have to negate everything we just matched as well. cfg_if! { @__items ($($not,)* $($m,)*) ; $($rest)* } }; // Internal macro to Apply a cfg attribute to a list of items (@__apply $m:meta, $($it:item)*) => { $(#[$m] $it)* }; } #[allow(unused_macros)] macro_rules! s { ($($(#[$attr:meta])* pub $t:ident $i:ident { $($field:tt)* })*) => ($( s!(it: $(#[$attr])* pub $t $i { $($field)* }); )*); (it: $(#[$attr:meta])* pub union $i:ident { $($field:tt)* }) => ( compile_error!("unions cannot derive extra traits, use s_no_extra_traits instead"); ); (it: $(#[$attr:meta])* pub struct $i:ident { $($field:tt)* }) => ( __item! { #[repr(C)] #[cfg_attr(feature = "extra_traits", derive(Debug, Eq, Hash, PartialEq))] #[allow(deprecated)] $(#[$attr])* pub struct $i { $($field)* } } #[allow(deprecated)] impl ::Copy for $i {} #[allow(deprecated)] impl ::Clone for $i { fn clone(&self) -> $i { *self } } ); } #[allow(unused_macros)] macro_rules! s_no_extra_traits { ($($(#[$attr:meta])* pub $t:ident $i:ident { $($field:tt)* })*) => ($( s_no_extra_traits!(it: $(#[$attr])* pub $t $i { $($field)* }); )*); (it: $(#[$attr:meta])* pub union $i:ident { $($field:tt)* }) => ( cfg_if! { if #[cfg(libc_union)] { __item! { #[repr(C)] $(#[$attr])* pub union $i { $($field)* } } impl ::Copy for $i {} impl ::Clone for $i { fn clone(&self) -> $i { *self } } } } ); (it: $(#[$attr:meta])* pub struct $i:ident { $($field:tt)* }) => ( __item! { #[repr(C)] $(#[$attr])* pub struct $i { $($field)* } } impl ::Copy for $i {} impl ::Clone for $i { fn clone(&self) -> $i { *self } } ); } // This is a pretty horrible hack to allow us to conditionally mark // some functions as 'const', without requiring users of this macro // to care about the "const-extern-fn" feature. // // When 'const-extern-fn' is enabled, we emit the captured 'const' keyword // in the expanded function. // // When 'const-extern-fn' is disabled, we always emit a plain 'pub unsafe extern fn'. // Note that the expression matched by the macro is exactly the same - this allows // users of this macro to work whether or not 'const-extern-fn' is enabled // // Unfortunately, we need to duplicate most of this macro between the 'cfg_if' blocks. // This is because 'const unsafe extern fn' won't even parse on older compilers, // so we need to avoid emitting it at all of 'const-extern-fn'. // // Specifically, moving the 'cfg_if' into the macro body will *not* work. // Doing so would cause the '#[cfg(feature = "const-extern-fn")]' to be emiited // into user code. The 'cfg' gate will not stop Rust from trying to parse the // 'pub const unsafe extern fn', so users would get a compiler error even when // the 'const-extern-fn' feature is disabled // // Note that users of this macro need to place 'const' in a weird position // (after the closing ')' for the arguments, but before the return type). // This was the only way I could satisfy the following two requirements: // 1. Avoid ambuguity errors from 'macro_rules!' (which happen when writing '$foo:ident fn' // 2. Allow users of this macro to mix 'pub fn foo' and 'pub const fn bar' within the same // 'f!' block cfg_if! { if #[cfg(libc_const_extern_fn)] { #[allow(unused_macros)] macro_rules! f { ($(pub $({$constness:ident})* fn $i:ident( $($arg:ident: $argty:ty),* ) -> $ret:ty { $($body:stmt);* })*) => ($( #[inline] pub $($constness)* unsafe extern fn $i($($arg: $argty),* ) -> $ret { $($body);* } )*) } #[allow(unused_macros)] macro_rules! const_fn { ($($({$constness:ident})* fn $i:ident( $($arg:ident: $argty:ty),* ) -> $ret:ty { $($body:stmt);* })*) => ($( #[inline] $($constness)* fn $i($($arg: $argty),* ) -> $ret { $($body);* } )*) } } else { #[allow(unused_macros)] macro_rules! f { ($(pub $({$constness:ident})* fn $i:ident( $($arg:ident: $argty:ty),* ) -> $ret:ty { $($body:stmt);* })*) => ($( #[inline] pub unsafe extern fn $i($($arg: $argty),* ) -> $ret { $($body);* } )*) } #[allow(unused_macros)] macro_rules! const_fn { ($($({$constness:ident})* fn $i:ident( $($arg:ident: $argty:ty),* ) -> $ret:ty { $($body:stmt);* })*) => ($( #[inline] fn $i($($arg: $argty),* ) -> $ret { $($body);* } )*) } } } #[allow(unused_macros)] macro_rules! __item { ($i:item) => { $i }; } #[allow(unused_macros)] macro_rules! align_const { ($($(#[$attr:meta])* pub const $name:ident : $t1:ty = $t2:ident { $($field:tt)* };)*) => ($( #[cfg(libc_align)] $(#[$attr])* pub const $name : $t1 = $t2 { $($field)* }; #[cfg(not(libc_align))] $(#[$attr])* pub const $name : $t1 = $t2 { $($field)* __align: [], }; )*) } // 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 `mach` crate instead", )] #[allow(deprecated)] pub const $id: $ty = $expr; }; ($(pub const $id:ident: $ty:ty = $expr:expr;)*) => { $( deprecated_mach!( pub const $id: $ty = $expr; ); )* }; (pub type $id:ident = $ty:ty;) => { #[deprecated( since = "0.2.55", note = "Use the `mach` crate instead", )] #[allow(deprecated)] pub type $id = $ty; }; ($(pub type $id:ident = $ty:ty;)*) => { $( deprecated_mach!( pub type $id = $ty; ); )* } } libc-0.2.66/src/sgx.rs010064400007650000024000000023011353453276600127050ustar0000000000000000//! SGX C types definition 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 size_t = usize; pub type ptrdiff_t = isize; pub type intptr_t = isize; pub type uintptr_t = usize; pub type ssize_t = isize; pub type c_char = i8; pub type c_long = i64; pub type c_ulong = u64; pub const INT_MIN: c_int = -2147483648; pub const INT_MAX: c_int = 2147483647; 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, } } } libc-0.2.66/src/switch.rs010064400007650000024000000023621353775267200134170ustar0000000000000000//! Switch C type definitions 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 size_t = usize; pub type ptrdiff_t = isize; pub type intptr_t = isize; pub type uintptr_t = usize; pub type ssize_t = isize; pub type off_t = i64; pub type c_char = u8; pub type c_long = i64; pub type c_ulong = u64; pub type wchar_t = u32; pub const INT_MIN: c_int = -2147483648; pub const INT_MAX: c_int = 2147483647; 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, } } } libc-0.2.66/src/unix/align.rs010064400007650000024000000001341354141541700141520ustar0000000000000000s! { #[repr(align(4))] pub struct in6_addr { pub s6_addr: [u8; 16], } } libc-0.2.66/src/unix/bsd/apple/b32/align.rs010064400007650000024000000002251355140103400164010ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f64; 2] } } libc-0.2.66/src/unix/bsd/apple/b32/mod.rs010064400007650000024000000062211354141276600161050ustar0000000000000000//! 32-bit specific Apple (ios/darwin) definitions pub type c_long = i32; pub type c_ulong = u32; pub type boolean_t = ::c_int; s! { pub struct if_data { 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: u32, pub ifi_ipackets: u32, pub ifi_ierrors: u32, pub ifi_opackets: u32, pub ifi_oerrors: u32, pub ifi_collisions: u32, pub ifi_ibytes: u32, pub ifi_obytes: u32, pub ifi_imcasts: u32, pub ifi_omcasts: u32, pub ifi_iqdrops: u32, pub ifi_noproto: u32, pub ifi_recvtiming: u32, pub ifi_xmittiming: u32, pub ifi_lastchange: ::timeval, pub ifi_unused2: u32, pub ifi_hwassist: u32, pub ifi_reserved1: u32, pub ifi_reserved2: u32, } pub struct bpf_hdr { pub bh_tstamp: ::timeval, pub bh_caplen: u32, pub bh_datalen: u32, pub bh_hdrlen: ::c_ushort, } } s_no_extra_traits! { pub struct pthread_attr_t { __sig: c_long, __opaque: [::c_char; 36] } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for pthread_attr_t { fn eq(&self, other: &pthread_attr_t) -> bool { self.__sig == other.__sig && self.__opaque .iter() .zip(other.__opaque.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_attr_t {} impl ::fmt::Debug for pthread_attr_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_attr_t") .field("__sig", &self.__sig) // FIXME: .field("__opaque", &self.__opaque) .finish() } } impl ::hash::Hash for pthread_attr_t { fn hash(&self, state: &mut H) { self.__sig.hash(state); self.__opaque.hash(state); } } } } #[doc(hidden)] #[deprecated(since = "0.2.55")] pub const NET_RT_MAXID: ::c_int = 10; pub const __PTHREAD_MUTEX_SIZE__: usize = 40; pub const __PTHREAD_COND_SIZE__: usize = 24; pub const __PTHREAD_CONDATTR_SIZE__: usize = 4; pub const __PTHREAD_RWLOCK_SIZE__: usize = 124; pub const __PTHREAD_RWLOCKATTR_SIZE__: usize = 12; pub const TIOCTIMESTAMP: ::c_ulong = 0x40087459; pub const TIOCDCDTIMESTAMP: ::c_ulong = 0x40087458; pub const BIOCSETF: ::c_ulong = 0x80084267; pub const BIOCSRTIMEOUT: ::c_ulong = 0x8008426d; pub const BIOCGRTIMEOUT: ::c_ulong = 0x4008426e; pub const BIOCSETFNR: ::c_ulong = 0x8008427e; extern "C" { pub fn exchangedata( path1: *const ::c_char, path2: *const ::c_char, options: ::c_ulong, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/bsd/apple/b64/align.rs010064400007650000024000000002251355140103400164060ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f64; 2] } } libc-0.2.66/src/unix/bsd/apple/b64/mod.rs010064400007650000024000000063501354141276600161150ustar0000000000000000//! 64-bit specific Apple (ios/darwin) definitions pub type c_long = i64; pub type c_ulong = u64; pub type boolean_t = ::c_uint; s! { pub struct timeval32 { pub tv_sec: i32, pub tv_usec: i32, } pub struct if_data { 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: u32, pub ifi_ipackets: u32, pub ifi_ierrors: u32, pub ifi_opackets: u32, pub ifi_oerrors: u32, pub ifi_collisions: u32, pub ifi_ibytes: u32, pub ifi_obytes: u32, pub ifi_imcasts: u32, pub ifi_omcasts: u32, pub ifi_iqdrops: u32, pub ifi_noproto: u32, pub ifi_recvtiming: u32, pub ifi_xmittiming: u32, pub ifi_lastchange: timeval32, pub ifi_unused2: u32, pub ifi_hwassist: u32, pub ifi_reserved1: u32, pub ifi_reserved2: u32, } pub struct bpf_hdr { pub bh_tstamp: ::timeval32, pub bh_caplen: u32, pub bh_datalen: u32, pub bh_hdrlen: ::c_ushort, } } s_no_extra_traits! { pub struct pthread_attr_t { __sig: c_long, __opaque: [::c_char; 56] } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for pthread_attr_t { fn eq(&self, other: &pthread_attr_t) -> bool { self.__sig == other.__sig && self.__opaque .iter() .zip(other.__opaque.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_attr_t {} impl ::fmt::Debug for pthread_attr_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_attr_t") .field("__sig", &self.__sig) // FIXME: .field("__opaque", &self.__opaque) .finish() } } impl ::hash::Hash for pthread_attr_t { fn hash(&self, state: &mut H) { self.__sig.hash(state); self.__opaque.hash(state); } } } } #[doc(hidden)] #[deprecated(since = "0.2.55")] pub const NET_RT_MAXID: ::c_int = 11; pub const __PTHREAD_MUTEX_SIZE__: usize = 56; pub const __PTHREAD_COND_SIZE__: usize = 40; pub const __PTHREAD_CONDATTR_SIZE__: usize = 8; pub const __PTHREAD_RWLOCK_SIZE__: usize = 192; pub const __PTHREAD_RWLOCKATTR_SIZE__: usize = 16; pub const TIOCTIMESTAMP: ::c_ulong = 0x40107459; pub const TIOCDCDTIMESTAMP: ::c_ulong = 0x40107458; pub const BIOCSETF: ::c_ulong = 0x80104267; pub const BIOCSRTIMEOUT: ::c_ulong = 0x8010426d; pub const BIOCGRTIMEOUT: ::c_ulong = 0x4010426e; pub const BIOCSETFNR: ::c_ulong = 0x8010427e; extern "C" { pub fn exchangedata( path1: *const ::c_char, path2: *const ::c_char, options: ::c_uint, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/bsd/apple/mod.rs010064400007650000024000003567271357020644200155340ustar0000000000000000//! Apple (ios/darwin)-specific definitions //! //! This covers *-apple-* triples currently pub type c_char = i8; pub type clock_t = c_ulong; pub type time_t = c_long; pub type suseconds_t = i32; pub type dev_t = i32; pub type ino_t = u64; pub type mode_t = u16; pub type nlink_t = u16; pub type blksize_t = i32; pub type rlim_t = u64; pub type pthread_key_t = c_ulong; pub type sigset_t = u32; pub type clockid_t = ::c_uint; pub type fsblkcnt_t = ::c_uint; pub type fsfilcnt_t = ::c_uint; pub type speed_t = ::c_ulong; pub type tcflag_t = ::c_ulong; pub type nl_item = ::c_int; pub type id_t = ::c_uint; pub type sem_t = ::c_int; pub type idtype_t = ::c_uint; pub type integer_t = ::c_int; pub type cpu_type_t = integer_t; pub type cpu_subtype_t = integer_t; pub type posix_spawnattr_t = *mut ::c_void; pub type posix_spawn_file_actions_t = *mut ::c_void; pub type key_t = ::c_int; pub type shmatt_t = ::c_ushort; 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; } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } s! { pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct aiocb { pub aio_fildes: ::c_int, pub aio_offset: ::off_t, pub aio_buf: *mut ::c_void, pub aio_nbytes: ::size_t, pub aio_reqprio: ::c_int, pub aio_sigevent: sigevent, pub aio_lio_opcode: ::c_int } pub struct glob_t { pub gl_pathc: ::size_t, __unused1: ::c_int, pub gl_offs: ::size_t, __unused2: ::c_int, pub gl_pathv: *mut *mut ::c_char, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, __unused6: *mut ::c_void, __unused7: *mut ::c_void, __unused8: *mut ::c_void, } pub struct addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: ::socklen_t, pub ai_canonname: *mut ::c_char, pub ai_addr: *mut ::sockaddr, pub ai_next: *mut addrinfo, } #[deprecated( since = "0.2.55", note = "Use the `mach` crate instead", )] pub struct mach_timebase_info { pub numer: u32, pub denom: u32, } pub struct stat { pub st_dev: dev_t, pub st_mode: mode_t, pub st_nlink: nlink_t, pub st_ino: ino_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_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: u32, pub st_gen: u32, pub st_lspare: i32, pub st_qspare: [i64; 2], } pub struct pthread_mutexattr_t { __sig: ::c_long, __opaque: [u8; 8], } pub struct pthread_condattr_t { __sig: ::c_long, __opaque: [u8; __PTHREAD_CONDATTR_SIZE__], } pub struct pthread_rwlockattr_t { __sig: ::c_long, __opaque: [u8; __PTHREAD_RWLOCKATTR_SIZE__], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub si_pid: ::pid_t, pub si_uid: ::uid_t, pub si_status: ::c_int, pub si_addr: *mut ::c_void, //Requires it to be union for tests //pub si_value: ::sigval, _pad: [usize; 9], } pub struct sigaction { // FIXME: this field is actually a union pub sa_sigaction: ::sighandler_t, pub sa_mask: sigset_t, pub sa_flags: ::c_int, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct fstore_t { pub fst_flags: ::c_uint, pub fst_posmode: ::c_int, pub fst_offset: ::off_t, pub fst_length: ::off_t, pub fst_bytesalloc: ::off_t, } pub struct radvisory { pub ra_offset: ::off_t, pub ra_count: ::c_int, } 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 struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } pub struct sockaddr_in { pub sin_len: u8, pub sin_family: ::sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [::c_char; 8], } pub struct kevent64_s { pub ident: u64, pub filter: i16, pub flags: u16, pub fflags: u32, pub data: i64, pub udata: u64, pub ext: [u64; 2], } pub struct dqblk { pub dqb_bhardlimit: u64, pub dqb_bsoftlimit: u64, pub dqb_curbytes: u64, pub dqb_ihardlimit: u32, pub dqb_isoftlimit: u32, pub dqb_curinodes: u32, pub dqb_btime: u32, pub dqb_itime: u32, pub dqb_id: u32, pub dqb_spare: [u32; 4], } pub struct if_msghdr { 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_data: if_data, } pub struct termios { pub c_iflag: ::tcflag_t, pub c_oflag: ::tcflag_t, pub c_cflag: ::tcflag_t, pub c_lflag: ::tcflag_t, pub c_cc: [::cc_t; ::NCCS], pub c_ispeed: ::speed_t, pub c_ospeed: ::speed_t, } pub struct flock { pub l_start: ::off_t, pub l_len: ::off_t, pub l_pid: ::pid_t, pub l_type: ::c_short, pub l_whence: ::c_short, } pub struct sf_hdtr { pub headers: *mut ::iovec, pub hdr_cnt: ::c_int, pub trailers: *mut ::iovec, pub trl_cnt: ::c_int, } 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 proc_taskinfo { pub pti_virtual_size: u64, pub pti_resident_size: u64, pub pti_total_user: u64, pub pti_total_system: u64, pub pti_threads_user: u64, pub pti_threads_system: u64, pub pti_policy: i32, pub pti_faults: i32, pub pti_pageins: i32, pub pti_cow_faults: i32, pub pti_messages_sent: i32, pub pti_messages_received: i32, pub pti_syscalls_mach: i32, pub pti_syscalls_unix: i32, pub pti_csw: i32, pub pti_threadnum: i32, pub pti_numrunning: i32, pub pti_priority: i32, } pub struct proc_bsdinfo { pub pbi_flags: u32, pub pbi_status: u32, pub pbi_xstatus: u32, pub pbi_pid: u32, pub pbi_ppid: u32, pub pbi_uid: ::uid_t, pub pbi_gid: ::gid_t, pub pbi_ruid: ::uid_t, pub pbi_rgid: ::gid_t, pub pbi_svuid: ::uid_t, pub pbi_svgid: ::gid_t, pub rfu_1: u32, pub pbi_comm: [::c_char; MAXCOMLEN], pub pbi_name: [::c_char; 32], // MAXCOMLEN * 2, but macro isn't happy... pub pbi_nfiles: u32, pub pbi_pgid: u32, pub pbi_pjobc: u32, pub e_tdev: u32, pub e_tpgid: u32, pub pbi_nice: i32, pub pbi_start_tvsec: u64, pub pbi_start_tvusec: u64, } pub struct proc_taskallinfo { pub pbsd: proc_bsdinfo, pub ptinfo: proc_taskinfo, } pub struct xsw_usage { pub xsu_total: u64, pub xsu_avail: u64, pub xsu_used: u64, pub xsu_pagesize: u32, pub xsu_encrypted: ::boolean_t, } pub struct xucred { pub cr_version: ::c_uint, pub cr_uid: ::uid_t, pub cr_ngroups: ::c_short, pub cr_groups: [::gid_t;16] } #[deprecated( since = "0.2.55", note = "Use the `mach` crate instead", )] pub struct mach_header { pub magic: u32, pub cputype: cpu_type_t, pub cpusubtype: cpu_subtype_t, pub filetype: u32, pub ncmds: u32, pub sizeofcmds: u32, pub flags: u32, } #[deprecated( since = "0.2.55", note = "Use the `mach` crate instead", )] pub struct mach_header_64 { pub magic: u32, pub cputype: cpu_type_t, pub cpusubtype: cpu_subtype_t, pub filetype: u32, pub ncmds: u32, pub sizeofcmds: u32, pub flags: u32, pub reserved: u32, } pub struct segment_command { pub cmd: u32, pub cmdsize: u32, pub segname: [::c_char; 16], pub vmaddr: u32, pub vmsize: u32, pub fileoff: u32, pub filesize: u32, pub maxprot: vm_prot_t, pub initprot: vm_prot_t, pub nsects: u32, pub flags: u32, } pub struct segment_command_64 { pub cmd: u32, pub cmdsize: u32, pub segname: [::c_char; 16], pub vmaddr: u64, pub vmsize: u64, pub fileoff: u64, pub filesize: u64, pub maxprot: vm_prot_t, pub initprot: vm_prot_t, pub nsects: u32, pub flags: u32, } pub struct load_command { pub cmd: u32, pub cmdsize: u32, } pub struct sockaddr_dl { pub sdl_len: ::c_uchar, pub sdl_family: ::c_uchar, pub sdl_index: ::c_ushort, pub sdl_type: ::c_uchar, pub sdl_nlen: ::c_uchar, pub sdl_alen: ::c_uchar, pub sdl_slen: ::c_uchar, pub sdl_data: [::c_char; 12], } pub struct sockaddr_inarp { pub sin_len: ::c_uchar, pub sin_family: ::c_uchar, pub sin_port: ::c_ushort, pub sin_addr: ::in_addr, pub sin_srcaddr: ::in_addr, pub sin_tos: ::c_ushort, pub sin_other: ::c_ushort, } pub struct sockaddr_ctl { pub sc_len: ::c_uchar, pub sc_family: ::c_uchar, pub ss_sysaddr: u16, pub sc_id: u32, pub sc_unit: u32, pub sc_reserved: [u32; 5], } pub struct in_pktinfo { pub ipi_ifindex: ::c_uint, pub ipi_spec_dst: ::in_addr, pub ipi_addr: ::in_addr, } pub struct in6_pktinfo { pub ipi6_addr: ::in6_addr, pub ipi6_ifindex: ::c_uint, } // sys/ipc.h: pub struct ipc_perm { pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub _seq: ::c_ushort, pub _key: ::key_t, } // sys/sem.h pub struct sembuf { pub sem_num: ::c_ushort, pub sem_op: ::c_short, pub sem_flg: ::c_short, } // sys/shm.h pub struct arphdr { pub ar_hrd: u16, pub ar_pro: u16, pub ar_hln: u8, pub ar_pln: u8, pub ar_op: u16, } pub struct in_addr { pub s_addr: ::in_addr_t, } } s_no_extra_traits! { #[cfg_attr(libc_packedN, repr(packed(4)))] pub struct kevent { pub ident: ::uintptr_t, pub filter: i16, pub flags: u16, pub fflags: u32, pub data: ::intptr_t, pub udata: *mut ::c_void, } #[cfg_attr(libc_packedN, repr(packed(4)))] pub struct semid_ds { // Note the manpage shows different types than the system header. pub sem_perm: ipc_perm, pub sem_base: i32, pub sem_nsems: ::c_ushort, pub sem_otime: ::time_t, pub sem_pad1: i32, pub sem_ctime: ::time_t, pub sem_pad2: i32, pub sem_pad3: [i32; 4], } #[cfg_attr(libc_packedN, repr(packed(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, // FIXME: 64-bit wrong align => wrong offset pub shm_dtime: ::time_t, // FIXME: 64-bit wrong align => wrong offset pub shm_ctime: ::time_t, // FIXME: 64-bit wrong align => wrong offset // FIXME: 64-bit wrong align => wrong offset: pub shm_internal: *mut ::c_void, } pub struct proc_threadinfo { 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], } pub struct statfs { pub f_bsize: u32, pub f_iosize: i32, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_fsid: ::fsid_t, pub f_owner: ::uid_t, pub f_type: u32, pub f_flags: u32, pub f_fssubtype: u32, pub f_fstypename: [::c_char; 16], pub f_mntonname: [::c_char; 1024], pub f_mntfromname: [::c_char; 1024], pub f_reserved: [u32; 8], } pub struct dirent { pub d_ino: u64, pub d_seekoff: u64, pub d_reclen: u16, pub d_namlen: u16, pub d_type: u8, pub d_name: [::c_char; 1024], } pub struct pthread_rwlock_t { __sig: ::c_long, __opaque: [u8; __PTHREAD_RWLOCK_SIZE__], } pub struct pthread_mutex_t { __sig: ::c_long, __opaque: [u8; __PTHREAD_MUTEX_SIZE__], } pub struct pthread_cond_t { __sig: ::c_long, __opaque: [u8; __PTHREAD_COND_SIZE__], } pub struct sockaddr_storage { pub ss_len: u8, pub ss_family: ::sa_family_t, __ss_pad1: [u8; 6], __ss_align: i64, __ss_pad2: [u8; 112], } pub struct utmpx { pub ut_user: [::c_char; _UTX_USERSIZE], pub ut_id: [::c_char; _UTX_IDSIZE], pub ut_line: [::c_char; _UTX_LINESIZE], pub ut_pid: ::pid_t, pub ut_type: ::c_short, pub ut_tv: ::timeval, pub ut_host: [::c_char; _UTX_HOSTSIZE], ut_pad: [u32; 16], } pub struct sigevent { pub sigev_notify: ::c_int, pub sigev_signo: ::c_int, pub sigev_value: ::sigval, __unused1: *mut ::c_void, //actually a function pointer pub sigev_notify_attributes: *mut ::pthread_attr_t } } 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 { _si_signo: ::c_int, _si_errno: ::c_int, _si_code: ::c_int, _si_pid: ::pid_t, _si_uid: ::uid_t, _si_status: ::c_int, _si_addr: *mut ::c_void, si_value: ::sigval, } (*(self as *const siginfo_t as *const siginfo_timer)).si_value } } cfg_if! { if #[cfg(libc_union)] { s_no_extra_traits! { pub union semun { pub val: ::c_int, pub buf: *mut semid_ds, pub array: *mut ::c_ushort, } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for semun { fn eq(&self, other: &semun) -> bool { unsafe { self.val == other.val } } } impl Eq for semun {} impl ::fmt::Debug for semun { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("semun") .field("val", unsafe { &self.val }) .finish() } } impl ::hash::Hash for semun { fn hash(&self, state: &mut H) { unsafe { self.val.hash(state) }; } } } } } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for kevent { fn eq(&self, other: &kevent) -> bool { self.ident == other.ident && self.filter == other.filter && self.flags == other.flags && self.fflags == other.fflags && self.data == other.data && self.udata == other.udata } } impl Eq for kevent {} impl ::fmt::Debug for kevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { let ident = self.ident; let filter = self.filter; let flags = self.flags; let fflags = self.fflags; let data = self.data; let udata = self.udata; f.debug_struct("kevent") .field("ident", &ident) .field("filter", &filter) .field("flags", &flags) .field("fflags", &fflags) .field("data", &data) .field("udata", &udata) .finish() } } impl ::hash::Hash for kevent { fn hash(&self, state: &mut H) { let ident = self.ident; let filter = self.filter; let flags = self.flags; let fflags = self.fflags; let data = self.data; let udata = self.udata; ident.hash(state); filter.hash(state); flags.hash(state); fflags.hash(state); data.hash(state); udata.hash(state); } } impl PartialEq for semid_ds { fn eq(&self, other: &semid_ds) -> bool { let sem_perm = self.sem_perm; let sem_pad3 = self.sem_pad3; let other_sem_perm = other.sem_perm; let other_sem_pad3 = other.sem_pad3; sem_perm == other_sem_perm && self.sem_base == other.sem_base && self.sem_nsems == other.sem_nsems && self.sem_otime == other.sem_otime && self.sem_pad1 == other.sem_pad1 && self.sem_ctime == other.sem_ctime && self.sem_pad2 == other.sem_pad2 && sem_pad3 == other_sem_pad3 } } impl Eq for semid_ds {} impl ::fmt::Debug for semid_ds { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { let sem_perm = self.sem_perm; let sem_base = self.sem_base; let sem_nsems = self.sem_nsems; let sem_otime = self.sem_otime; let sem_pad1 = self.sem_pad1; let sem_ctime = self.sem_ctime; let sem_pad2 = self.sem_pad2; let sem_pad3 = self.sem_pad3; f.debug_struct("semid_ds") .field("sem_perm", &sem_perm) .field("sem_base", &sem_base) .field("sem_nsems", &sem_nsems) .field("sem_otime", &sem_otime) .field("sem_pad1", &sem_pad1) .field("sem_ctime", &sem_ctime) .field("sem_pad2", &sem_pad2) .field("sem_pad3", &sem_pad3) .finish() } } impl ::hash::Hash for semid_ds { fn hash(&self, state: &mut H) { let sem_perm = self.sem_perm; let sem_base = self.sem_base; let sem_nsems = self.sem_nsems; let sem_otime = self.sem_otime; let sem_pad1 = self.sem_pad1; let sem_ctime = self.sem_ctime; let sem_pad2 = self.sem_pad2; let sem_pad3 = self.sem_pad3; sem_perm.hash(state); sem_base.hash(state); sem_nsems.hash(state); sem_otime.hash(state); sem_pad1.hash(state); sem_ctime.hash(state); sem_pad2.hash(state); sem_pad3.hash(state); } } impl PartialEq for shmid_ds { fn eq(&self, other: &shmid_ds) -> bool { let shm_perm = self.shm_perm; let other_shm_perm = other.shm_perm; shm_perm == other_shm_perm && self.shm_segsz == other.shm_segsz && self.shm_lpid == other.shm_lpid && self.shm_cpid == other.shm_cpid && self.shm_nattch == other.shm_nattch && self.shm_atime == other.shm_atime && self.shm_dtime == other.shm_dtime && self.shm_ctime == other.shm_ctime && self.shm_internal == other.shm_internal } } impl Eq for shmid_ds {} impl ::fmt::Debug for shmid_ds { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { let shm_perm = self.shm_perm; let shm_segsz = self.shm_segsz; let shm_lpid = self.shm_lpid; let shm_cpid = self.shm_cpid; let shm_nattch = self.shm_nattch; let shm_atime = self.shm_atime; let shm_dtime = self.shm_dtime; let shm_ctime = self.shm_ctime; let shm_internal = self.shm_internal; f.debug_struct("shmid_ds") .field("shm_perm", &shm_perm) .field("shm_segsz", &shm_segsz) .field("shm_lpid", &shm_lpid) .field("shm_cpid", &shm_cpid) .field("shm_nattch", &shm_nattch) .field("shm_atime", &shm_atime) .field("shm_dtime", &shm_dtime) .field("shm_ctime", &shm_ctime) .field("shm_internal", &shm_internal) .finish() } } impl ::hash::Hash for shmid_ds { fn hash(&self, state: &mut H) { let shm_perm = self.shm_perm; let shm_segsz = self.shm_segsz; let shm_lpid = self.shm_lpid; let shm_cpid = self.shm_cpid; let shm_nattch = self.shm_nattch; let shm_atime = self.shm_atime; let shm_dtime = self.shm_dtime; let shm_ctime = self.shm_ctime; let shm_internal = self.shm_internal; shm_perm.hash(state); shm_segsz.hash(state); shm_lpid.hash(state); shm_cpid.hash(state); shm_nattch.hash(state); shm_atime.hash(state); shm_dtime.hash(state); shm_ctime.hash(state); shm_internal.hash(state); } } impl PartialEq for proc_threadinfo { fn eq(&self, other: &proc_threadinfo) -> 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 proc_threadinfo {} impl ::fmt::Debug for proc_threadinfo { 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 proc_threadinfo { fn hash(&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 statfs { fn eq(&self, other: &statfs) -> bool { 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_fsid == other.f_fsid && self.f_owner == other.f_owner && self.f_flags == other.f_flags && self.f_fssubtype == other.f_fssubtype && self.f_fstypename == other.f_fstypename && self.f_type == other.f_type && self .f_mntonname .iter() .zip(other.f_mntonname.iter()) .all(|(a,b)| a == b) && self .f_mntfromname .iter() .zip(other.f_mntfromname.iter()) .all(|(a,b)| a == b) && self.f_reserved == other.f_reserved } } 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_fsid", &self.f_fsid) .field("f_owner", &self.f_owner) .field("f_flags", &self.f_flags) .field("f_fssubtype", &self.f_fssubtype) .field("f_fstypename", &self.f_fstypename) .field("f_type", &self.f_type) // FIXME: .field("f_mntonname", &self.f_mntonname) // FIXME: .field("f_mntfromname", &self.f_mntfromname) .field("f_reserved", &self.f_reserved) .finish() } } impl ::hash::Hash for statfs { fn hash(&self, state: &mut H) { 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_fsid.hash(state); self.f_owner.hash(state); self.f_flags.hash(state); self.f_fssubtype.hash(state); self.f_fstypename.hash(state); self.f_type.hash(state); self.f_mntonname.hash(state); self.f_mntfromname.hash(state); self.f_reserved.hash(state); } } impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_ino == other.d_ino && self.d_seekoff == other.d_seekoff && self.d_reclen == other.d_reclen && self.d_namlen == other.d_namlen && self.d_type == other.d_type && self .d_name .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_ino", &self.d_ino) .field("d_seekoff", &self.d_seekoff) .field("d_reclen", &self.d_reclen) .field("d_namlen", &self.d_namlen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_seekoff.hash(state); self.d_reclen.hash(state); self.d_namlen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for pthread_rwlock_t { fn eq(&self, other: &pthread_rwlock_t) -> bool { self.__sig == other.__sig && self. __opaque .iter() .zip(other.__opaque.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_rwlock_t {} impl ::fmt::Debug for pthread_rwlock_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_rwlock_t") .field("__sig", &self.__sig) // FIXME: .field("__opaque", &self.__opaque) .finish() } } impl ::hash::Hash for pthread_rwlock_t { fn hash(&self, state: &mut H) { self.__sig.hash(state); self.__opaque.hash(state); } } impl PartialEq for pthread_mutex_t { fn eq(&self, other: &pthread_mutex_t) -> bool { self.__sig == other.__sig && self. __opaque .iter() .zip(other.__opaque.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_mutex_t {} impl ::fmt::Debug for pthread_mutex_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_mutex_t") .field("__sig", &self.__sig) // FIXME: .field("__opaque", &self.__opaque) .finish() } } impl ::hash::Hash for pthread_mutex_t { fn hash(&self, state: &mut H) { self.__sig.hash(state); self.__opaque.hash(state); } } impl PartialEq for pthread_cond_t { fn eq(&self, other: &pthread_cond_t) -> bool { self.__sig == other.__sig && self. __opaque .iter() .zip(other.__opaque.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_cond_t {} impl ::fmt::Debug for pthread_cond_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_cond_t") .field("__sig", &self.__sig) // FIXME: .field("__opaque", &self.__opaque) .finish() } } impl ::hash::Hash for pthread_cond_t { fn hash(&self, state: &mut H) { self.__sig.hash(state); self.__opaque.hash(state); } } impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.ss_len == other.ss_len && self.ss_family == other.ss_family && self .__ss_pad1 .iter() .zip(other.__ss_pad1.iter()) .all(|(a, b)| a == b) && self.__ss_align == other.__ss_align && self .__ss_pad2 .iter() .zip(other.__ss_pad2.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_len", &self.ss_len) .field("ss_family", &self.ss_family) .field("__ss_pad1", &self.__ss_pad1) .field("__ss_align", &self.__ss_align) // FIXME: .field("__ss_pad2", &self.__ss_pad2) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.ss_len.hash(state); self.ss_family.hash(state); self.__ss_pad1.hash(state); self.__ss_align.hash(state); self.__ss_pad2.hash(state); } } impl PartialEq for utmpx { fn eq(&self, other: &utmpx) -> bool { self.ut_user .iter() .zip(other.ut_user.iter()) .all(|(a,b)| a == b) && self.ut_id == other.ut_id && self.ut_line == other.ut_line && self.ut_pid == other.ut_pid && self.ut_type == other.ut_type && self.ut_tv == other.ut_tv && self .ut_host .iter() .zip(other.ut_host.iter()) .all(|(a,b)| a == b) && self.ut_pad == other.ut_pad } } impl Eq for utmpx {} impl ::fmt::Debug for utmpx { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utmpx") // FIXME: .field("ut_user", &self.ut_user) .field("ut_id", &self.ut_id) .field("ut_line", &self.ut_line) .field("ut_pid", &self.ut_pid) .field("ut_type", &self.ut_type) .field("ut_tv", &self.ut_tv) // FIXME: .field("ut_host", &self.ut_host) .field("ut_pad", &self.ut_pad) .finish() } } impl ::hash::Hash for utmpx { fn hash(&self, state: &mut H) { self.ut_user.hash(state); self.ut_id.hash(state); self.ut_line.hash(state); self.ut_pid.hash(state); self.ut_type.hash(state); self.ut_tv.hash(state); self.ut_host.hash(state); self.ut_pad.hash(state); } } impl PartialEq for sigevent { fn eq(&self, other: &sigevent) -> bool { self.sigev_notify == other.sigev_notify && self.sigev_signo == other.sigev_signo && self.sigev_value == other.sigev_value && self.sigev_notify_attributes == other.sigev_notify_attributes } } impl Eq for sigevent {} impl ::fmt::Debug for sigevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigevent") .field("sigev_notify", &self.sigev_notify) .field("sigev_signo", &self.sigev_signo) .field("sigev_value", &self.sigev_value) .field("sigev_notify_attributes", &self.sigev_notify_attributes) .finish() } } impl ::hash::Hash for sigevent { fn hash(&self, state: &mut H) { self.sigev_notify.hash(state); self.sigev_signo.hash(state); self.sigev_value.hash(state); self.sigev_notify_attributes.hash(state); } } } } pub const _UTX_USERSIZE: usize = 256; pub const _UTX_LINESIZE: usize = 32; pub const _UTX_IDSIZE: usize = 4; pub const _UTX_HOSTSIZE: usize = 256; pub const EMPTY: ::c_short = 0; pub const RUN_LVL: ::c_short = 1; pub const BOOT_TIME: ::c_short = 2; pub const OLD_TIME: ::c_short = 3; pub const NEW_TIME: ::c_short = 4; pub const INIT_PROCESS: ::c_short = 5; pub const LOGIN_PROCESS: ::c_short = 6; pub const USER_PROCESS: ::c_short = 7; pub const DEAD_PROCESS: ::c_short = 8; pub const ACCOUNTING: ::c_short = 9; pub const SIGNATURE: ::c_short = 10; pub const SHUTDOWN_TIME: ::c_short = 11; pub const LC_COLLATE_MASK: ::c_int = (1 << 0); pub const LC_CTYPE_MASK: ::c_int = (1 << 1); pub const LC_MESSAGES_MASK: ::c_int = (1 << 2); pub const LC_MONETARY_MASK: ::c_int = (1 << 3); pub const LC_NUMERIC_MASK: ::c_int = (1 << 4); pub const LC_TIME_MASK: ::c_int = (1 << 5); pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MESSAGES_MASK | LC_MONETARY_MASK | LC_NUMERIC_MASK | LC_TIME_MASK; pub const CODESET: ::nl_item = 0; pub const D_T_FMT: ::nl_item = 1; pub const D_FMT: ::nl_item = 2; pub const T_FMT: ::nl_item = 3; pub const T_FMT_AMPM: ::nl_item = 4; pub const AM_STR: ::nl_item = 5; pub const PM_STR: ::nl_item = 6; pub const DAY_1: ::nl_item = 7; pub const DAY_2: ::nl_item = 8; pub const DAY_3: ::nl_item = 9; pub const DAY_4: ::nl_item = 10; pub const DAY_5: ::nl_item = 11; pub const DAY_6: ::nl_item = 12; pub const DAY_7: ::nl_item = 13; pub const ABDAY_1: ::nl_item = 14; pub const ABDAY_2: ::nl_item = 15; pub const ABDAY_3: ::nl_item = 16; pub const ABDAY_4: ::nl_item = 17; pub const ABDAY_5: ::nl_item = 18; pub const ABDAY_6: ::nl_item = 19; pub const ABDAY_7: ::nl_item = 20; pub const MON_1: ::nl_item = 21; pub const MON_2: ::nl_item = 22; pub const MON_3: ::nl_item = 23; pub const MON_4: ::nl_item = 24; pub const MON_5: ::nl_item = 25; pub const MON_6: ::nl_item = 26; pub const MON_7: ::nl_item = 27; pub const MON_8: ::nl_item = 28; pub const MON_9: ::nl_item = 29; pub const MON_10: ::nl_item = 30; pub const MON_11: ::nl_item = 31; pub const MON_12: ::nl_item = 32; pub const ABMON_1: ::nl_item = 33; pub const ABMON_2: ::nl_item = 34; pub const ABMON_3: ::nl_item = 35; pub const ABMON_4: ::nl_item = 36; pub const ABMON_5: ::nl_item = 37; pub const ABMON_6: ::nl_item = 38; pub const ABMON_7: ::nl_item = 39; pub const ABMON_8: ::nl_item = 40; pub const ABMON_9: ::nl_item = 41; pub const ABMON_10: ::nl_item = 42; pub const ABMON_11: ::nl_item = 43; pub const ABMON_12: ::nl_item = 44; pub const CLOCK_REALTIME: ::clockid_t = 0; pub const CLOCK_MONOTONIC: ::clockid_t = 6; pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 12; pub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 16; pub const ERA: ::nl_item = 45; pub const ERA_D_FMT: ::nl_item = 46; pub const ERA_D_T_FMT: ::nl_item = 47; pub const ERA_T_FMT: ::nl_item = 48; pub const ALT_DIGITS: ::nl_item = 49; pub const RADIXCHAR: ::nl_item = 50; pub const THOUSEP: ::nl_item = 51; pub const YESEXPR: ::nl_item = 52; pub const NOEXPR: ::nl_item = 53; pub const YESSTR: ::nl_item = 54; pub const NOSTR: ::nl_item = 55; pub const CRNCYSTR: ::nl_item = 56; pub const D_MD_ORDER: ::nl_item = 57; pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; pub const RAND_MAX: ::c_int = 2147483647; 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 L_tmpnam: ::c_uint = 1024; pub const TMP_MAX: ::c_uint = 308915776; pub const _PC_LINK_MAX: ::c_int = 1; pub const _PC_MAX_CANON: ::c_int = 2; pub const _PC_MAX_INPUT: ::c_int = 3; pub const _PC_NAME_MAX: ::c_int = 4; pub const _PC_PATH_MAX: ::c_int = 5; pub const _PC_PIPE_BUF: ::c_int = 6; pub const _PC_CHOWN_RESTRICTED: ::c_int = 7; pub const _PC_NO_TRUNC: ::c_int = 8; pub const _PC_VDISABLE: ::c_int = 9; pub const O_DSYNC: ::c_int = 0x400000; pub const O_NOCTTY: ::c_int = 0x20000; pub const O_CLOEXEC: ::c_int = 0x1000000; pub const O_DIRECTORY: ::c_int = 0x100000; pub const S_IFIFO: mode_t = 4096; pub const S_IFCHR: mode_t = 8192; pub const S_IFBLK: mode_t = 24576; pub const S_IFDIR: mode_t = 16384; 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 = 61440; pub const S_IEXEC: mode_t = 64; pub const S_IWRITE: mode_t = 128; pub const S_IREAD: mode_t = 256; pub const S_IRWXU: mode_t = 448; pub const S_IXUSR: mode_t = 64; pub const S_IWUSR: mode_t = 128; pub const S_IRUSR: mode_t = 256; pub const S_IRWXG: mode_t = 56; pub const S_IXGRP: mode_t = 8; pub const S_IWGRP: mode_t = 16; pub const S_IRGRP: mode_t = 32; pub const S_IRWXO: mode_t = 7; pub const S_IXOTH: mode_t = 1; pub const S_IWOTH: mode_t = 2; pub const S_IROTH: mode_t = 4; pub const F_OK: ::c_int = 0; pub const R_OK: ::c_int = 4; pub const W_OK: ::c_int = 2; pub const X_OK: ::c_int = 1; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::c_int = 2; pub const F_LOCK: ::c_int = 1; pub const F_TEST: ::c_int = 3; pub const F_TLOCK: ::c_int = 2; pub const F_ULOCK: ::c_int = 0; pub const F_GETLK: ::c_int = 7; pub const F_SETLK: ::c_int = 8; pub const F_SETLKW: ::c_int = 9; 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 SIGABRT: ::c_int = 6; pub const SIGEMT: ::c_int = 7; pub const SIGFPE: ::c_int = 8; pub const SIGKILL: ::c_int = 9; pub const SIGSEGV: ::c_int = 11; pub const SIGPIPE: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const PROT_NONE: ::c_int = 0; pub const PROT_READ: ::c_int = 1; pub const PROT_WRITE: ::c_int = 2; pub const PROT_EXEC: ::c_int = 4; pub const PT_TRACE_ME: ::c_int = 0; pub const PT_READ_I: ::c_int = 1; pub const PT_READ_D: ::c_int = 2; pub const PT_READ_U: ::c_int = 3; pub const PT_WRITE_I: ::c_int = 4; pub const PT_WRITE_D: ::c_int = 5; pub const PT_WRITE_U: ::c_int = 6; pub const PT_CONTINUE: ::c_int = 7; pub const PT_KILL: ::c_int = 8; pub const PT_STEP: ::c_int = 9; pub const PT_ATTACH: ::c_int = 10; pub const PT_DETACH: ::c_int = 11; pub const PT_SIGEXC: ::c_int = 12; pub const PT_THUPDATE: ::c_int = 13; pub const PT_ATTACHEXC: ::c_int = 14; pub const PT_FORCEQUOTA: ::c_int = 30; pub const PT_DENY_ATTACH: ::c_int = 31; pub const PT_FIRSTMACH: ::c_int = 32; pub const MAP_FILE: ::c_int = 0x0000; pub const MAP_SHARED: ::c_int = 0x0001; pub const MAP_PRIVATE: ::c_int = 0x0002; pub const MAP_FIXED: ::c_int = 0x0010; pub const MAP_ANON: ::c_int = 0x1000; pub const MAP_ANONYMOUS: ::c_int = MAP_ANON; deprecated_mach! { pub const VM_FLAGS_FIXED: ::c_int = 0x0000; pub const VM_FLAGS_ANYWHERE: ::c_int = 0x0001; pub const VM_FLAGS_PURGABLE: ::c_int = 0x0002; pub const VM_FLAGS_RANDOM_ADDR: ::c_int = 0x0008; pub const VM_FLAGS_NO_CACHE: ::c_int = 0x0010; pub const VM_FLAGS_RESILIENT_CODESIGN: ::c_int = 0x0020; pub const VM_FLAGS_RESILIENT_MEDIA: ::c_int = 0x0040; pub const VM_FLAGS_OVERWRITE: ::c_int = 0x4000; pub const VM_FLAGS_SUPERPAGE_MASK: ::c_int = 0x70000; pub const VM_FLAGS_RETURN_DATA_ADDR: ::c_int = 0x100000; pub const VM_FLAGS_RETURN_4K_DATA_ADDR: ::c_int = 0x800000; pub const VM_FLAGS_ALIAS_MASK: ::c_int = 0xFF000000; pub const VM_FLAGS_USER_ALLOCATE: ::c_int = 0xff07401f; pub const VM_FLAGS_USER_MAP: ::c_int = 0xff97401f; pub const VM_FLAGS_USER_REMAP: ::c_int = VM_FLAGS_FIXED | VM_FLAGS_ANYWHERE | VM_FLAGS_RANDOM_ADDR | VM_FLAGS_OVERWRITE | VM_FLAGS_RETURN_DATA_ADDR | VM_FLAGS_RESILIENT_CODESIGN; pub const VM_FLAGS_SUPERPAGE_SHIFT: ::c_int = 16; pub const SUPERPAGE_NONE: ::c_int = 0; pub const SUPERPAGE_SIZE_ANY: ::c_int = 1; pub const VM_FLAGS_SUPERPAGE_NONE: ::c_int = SUPERPAGE_NONE << VM_FLAGS_SUPERPAGE_SHIFT; pub const VM_FLAGS_SUPERPAGE_SIZE_ANY: ::c_int = SUPERPAGE_SIZE_ANY << VM_FLAGS_SUPERPAGE_SHIFT; pub const SUPERPAGE_SIZE_2MB: ::c_int = 2; pub const VM_FLAGS_SUPERPAGE_SIZE_2MB: ::c_int = SUPERPAGE_SIZE_2MB << VM_FLAGS_SUPERPAGE_SHIFT; pub const VM_MEMORY_MALLOC: ::c_int = 1; pub const VM_MEMORY_MALLOC_SMALL: ::c_int = 2; pub const VM_MEMORY_MALLOC_LARGE: ::c_int = 3; pub const VM_MEMORY_MALLOC_HUGE: ::c_int = 4; pub const VM_MEMORY_SBRK: ::c_int = 5; pub const VM_MEMORY_REALLOC: ::c_int = 6; pub const VM_MEMORY_MALLOC_TINY: ::c_int = 7; pub const VM_MEMORY_MALLOC_LARGE_REUSABLE: ::c_int = 8; pub const VM_MEMORY_MALLOC_LARGE_REUSED: ::c_int = 9; pub const VM_MEMORY_ANALYSIS_TOOL: ::c_int = 10; pub const VM_MEMORY_MALLOC_NANO: ::c_int = 11; pub const VM_MEMORY_MACH_MSG: ::c_int = 20; pub const VM_MEMORY_IOKIT: ::c_int = 21; pub const VM_MEMORY_STACK: ::c_int = 30; pub const VM_MEMORY_GUARD: ::c_int = 31; pub const VM_MEMORY_SHARED_PMAP: ::c_int = 32; pub const VM_MEMORY_DYLIB: ::c_int = 33; pub const VM_MEMORY_OBJC_DISPATCHERS: ::c_int = 34; pub const VM_MEMORY_UNSHARED_PMAP: ::c_int = 35; pub const VM_MEMORY_APPKIT: ::c_int = 40; pub const VM_MEMORY_FOUNDATION: ::c_int = 41; pub const VM_MEMORY_COREGRAPHICS: ::c_int = 42; pub const VM_MEMORY_CORESERVICES: ::c_int = 43; pub const VM_MEMORY_CARBON: ::c_int = VM_MEMORY_CORESERVICES; pub const VM_MEMORY_JAVA: ::c_int = 44; pub const VM_MEMORY_COREDATA: ::c_int = 45; pub const VM_MEMORY_COREDATA_OBJECTIDS: ::c_int = 46; pub const VM_MEMORY_ATS: ::c_int = 50; pub const VM_MEMORY_LAYERKIT: ::c_int = 51; pub const VM_MEMORY_CGIMAGE: ::c_int = 52; pub const VM_MEMORY_TCMALLOC: ::c_int = 53; pub const VM_MEMORY_COREGRAPHICS_DATA: ::c_int = 54; pub const VM_MEMORY_COREGRAPHICS_SHARED: ::c_int = 55; pub const VM_MEMORY_COREGRAPHICS_FRAMEBUFFERS: ::c_int = 56; pub const VM_MEMORY_COREGRAPHICS_BACKINGSTORES: ::c_int = 57; pub const VM_MEMORY_COREGRAPHICS_XALLOC: ::c_int = 58; pub const VM_MEMORY_COREGRAPHICS_MISC: ::c_int = VM_MEMORY_COREGRAPHICS; pub const VM_MEMORY_DYLD: ::c_int = 60; pub const VM_MEMORY_DYLD_MALLOC: ::c_int = 61; pub const VM_MEMORY_SQLITE: ::c_int = 62; pub const VM_MEMORY_JAVASCRIPT_CORE: ::c_int = 63; pub const VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR: ::c_int = 64; pub const VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE: ::c_int = 65; pub const VM_MEMORY_GLSL: ::c_int = 66; pub const VM_MEMORY_OPENCL: ::c_int = 67; pub const VM_MEMORY_COREIMAGE: ::c_int = 68; pub const VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS: ::c_int = 69; pub const VM_MEMORY_IMAGEIO: ::c_int = 70; pub const VM_MEMORY_COREPROFILE: ::c_int = 71; pub const VM_MEMORY_ASSETSD: ::c_int = 72; pub const VM_MEMORY_OS_ALLOC_ONCE: ::c_int = 73; pub const VM_MEMORY_LIBDISPATCH: ::c_int = 74; pub const VM_MEMORY_ACCELERATE: ::c_int = 75; pub const VM_MEMORY_COREUI: ::c_int = 76; pub const VM_MEMORY_COREUIFILE: ::c_int = 77; pub const VM_MEMORY_GENEALOGY: ::c_int = 78; pub const VM_MEMORY_RAWCAMERA: ::c_int = 79; pub const VM_MEMORY_CORPSEINFO: ::c_int = 80; pub const VM_MEMORY_ASL: ::c_int = 81; pub const VM_MEMORY_SWIFT_RUNTIME: ::c_int = 82; pub const VM_MEMORY_SWIFT_METADATA: ::c_int = 83; pub const VM_MEMORY_DHMM: ::c_int = 84; pub const VM_MEMORY_SCENEKIT: ::c_int = 86; pub const VM_MEMORY_SKYWALK: ::c_int = 87; pub const VM_MEMORY_APPLICATION_SPECIFIC_1: ::c_int = 240; pub const VM_MEMORY_APPLICATION_SPECIFIC_16: ::c_int = 255; } 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 MS_ASYNC: ::c_int = 0x0001; pub const MS_INVALIDATE: ::c_int = 0x0002; pub const MS_SYNC: ::c_int = 0x0010; pub const MS_KILLPAGES: ::c_int = 0x0004; pub const MS_DEACTIVATE: ::c_int = 0x0008; 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 EDEADLK: ::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 EAGAIN: ::c_int = 35; pub const EWOULDBLOCK: ::c_int = EAGAIN; pub const EINPROGRESS: ::c_int = 36; pub const EALREADY: ::c_int = 37; pub const ENOTSOCK: ::c_int = 38; pub const EDESTADDRREQ: ::c_int = 39; pub const EMSGSIZE: ::c_int = 40; pub const EPROTOTYPE: ::c_int = 41; pub const ENOPROTOOPT: ::c_int = 42; pub const EPROTONOSUPPORT: ::c_int = 43; pub const ESOCKTNOSUPPORT: ::c_int = 44; pub const ENOTSUP: ::c_int = 45; pub const EPFNOSUPPORT: ::c_int = 46; pub const EAFNOSUPPORT: ::c_int = 47; pub const EADDRINUSE: ::c_int = 48; pub const EADDRNOTAVAIL: ::c_int = 49; pub const ENETDOWN: ::c_int = 50; pub const ENETUNREACH: ::c_int = 51; pub const ENETRESET: ::c_int = 52; pub const ECONNABORTED: ::c_int = 53; pub const ECONNRESET: ::c_int = 54; pub const ENOBUFS: ::c_int = 55; pub const EISCONN: ::c_int = 56; pub const ENOTCONN: ::c_int = 57; 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 ELOOP: ::c_int = 62; pub const ENAMETOOLONG: ::c_int = 63; pub const EHOSTDOWN: ::c_int = 64; pub const EHOSTUNREACH: ::c_int = 65; pub const ENOTEMPTY: ::c_int = 66; pub const EPROCLIM: ::c_int = 67; pub const EUSERS: ::c_int = 68; pub const EDQUOT: ::c_int = 69; pub const ESTALE: ::c_int = 70; pub const EREMOTE: ::c_int = 71; pub const EBADRPC: ::c_int = 72; pub const ERPCMISMATCH: ::c_int = 73; pub const EPROGUNAVAIL: ::c_int = 74; pub const EPROGMISMATCH: ::c_int = 75; pub const EPROCUNAVAIL: ::c_int = 76; pub const ENOLCK: ::c_int = 77; pub const ENOSYS: ::c_int = 78; pub const EFTYPE: ::c_int = 79; pub const EAUTH: ::c_int = 80; pub const ENEEDAUTH: ::c_int = 81; pub const EPWROFF: ::c_int = 82; pub const EDEVERR: ::c_int = 83; pub const EOVERFLOW: ::c_int = 84; pub const EBADEXEC: ::c_int = 85; pub const EBADARCH: ::c_int = 86; pub const ESHLIBVERS: ::c_int = 87; pub const EBADMACHO: ::c_int = 88; pub const ECANCELED: ::c_int = 89; pub const EIDRM: ::c_int = 90; pub const ENOMSG: ::c_int = 91; pub const EILSEQ: ::c_int = 92; pub const ENOATTR: ::c_int = 93; pub const EBADMSG: ::c_int = 94; pub const EMULTIHOP: ::c_int = 95; pub const ENODATA: ::c_int = 96; pub const ENOLINK: ::c_int = 97; pub const ENOSR: ::c_int = 98; pub const ENOSTR: ::c_int = 99; pub const EPROTO: ::c_int = 100; pub const ETIME: ::c_int = 101; pub const EOPNOTSUPP: ::c_int = 102; pub const ENOPOLICY: ::c_int = 103; pub const ENOTRECOVERABLE: ::c_int = 104; pub const EOWNERDEAD: ::c_int = 105; pub const EQFULL: ::c_int = 106; pub const ELAST: ::c_int = 106; pub const EAI_AGAIN: ::c_int = 2; pub const EAI_BADFLAGS: ::c_int = 3; pub const EAI_FAIL: ::c_int = 4; pub const EAI_FAMILY: ::c_int = 5; pub const EAI_MEMORY: ::c_int = 6; pub const EAI_NODATA: ::c_int = 7; pub const EAI_NONAME: ::c_int = 8; pub const EAI_SERVICE: ::c_int = 9; pub const EAI_SOCKTYPE: ::c_int = 10; pub const EAI_SYSTEM: ::c_int = 11; pub const EAI_OVERFLOW: ::c_int = 14; pub const F_DUPFD: ::c_int = 0; pub const F_DUPFD_CLOEXEC: ::c_int = 67; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; 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_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_ALLOCATECONTIG: ::c_uint = 0x02; pub const F_ALLOCATEALL: ::c_uint = 0x04; pub const F_PEOFPOSMODE: ::c_int = 3; pub const F_VOLPOSMODE: ::c_int = 4; pub const AT_FDCWD: ::c_int = -2; pub const AT_EACCESS: ::c_int = 0x0010; 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 TIOCMODG: ::c_ulong = 0x40047403; pub const TIOCMODS: ::c_ulong = 0x80047404; pub const TIOCM_LE: ::c_int = 0x1; pub const TIOCM_DTR: ::c_int = 0x2; pub const TIOCM_RTS: ::c_int = 0x4; pub const TIOCM_ST: ::c_int = 0x8; pub const TIOCM_SR: ::c_int = 0x10; pub const TIOCM_CTS: ::c_int = 0x20; pub const TIOCM_CAR: ::c_int = 0x40; pub const TIOCM_CD: ::c_int = 0x40; pub const TIOCM_RNG: ::c_int = 0x80; pub const TIOCM_RI: ::c_int = 0x80; pub const TIOCM_DSR: ::c_int = 0x100; pub const TIOCEXCL: ::c_int = 0x2000740d; pub const TIOCNXCL: ::c_int = 0x2000740e; pub const TIOCFLUSH: ::c_ulong = 0x80047410; pub const TIOCGETD: ::c_ulong = 0x4004741a; pub const TIOCSETD: ::c_ulong = 0x8004741b; pub const TIOCIXON: ::c_uint = 0x20007481; pub const TIOCIXOFF: ::c_uint = 0x20007480; pub const TIOCSBRK: ::c_uint = 0x2000747b; pub const TIOCCBRK: ::c_uint = 0x2000747a; pub const TIOCSDTR: ::c_uint = 0x20007479; pub const TIOCCDTR: ::c_uint = 0x20007478; pub const TIOCGPGRP: ::c_ulong = 0x40047477; pub const TIOCSPGRP: ::c_ulong = 0x80047476; pub const TIOCOUTQ: ::c_ulong = 0x40047473; pub const TIOCSTI: ::c_ulong = 0x80017472; pub const TIOCNOTTY: ::c_uint = 0x20007471; pub const TIOCPKT: ::c_ulong = 0x80047470; pub const TIOCPKT_DATA: ::c_int = 0x0; pub const TIOCPKT_FLUSHREAD: ::c_int = 0x1; pub const TIOCPKT_FLUSHWRITE: ::c_int = 0x2; pub const TIOCPKT_STOP: ::c_int = 0x4; 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 TIOCSTOP: ::c_uint = 0x2000746f; pub const TIOCSTART: ::c_uint = 0x2000746e; pub const TIOCMSET: ::c_ulong = 0x8004746d; pub const TIOCMBIS: ::c_ulong = 0x8004746c; pub const TIOCMBIC: ::c_ulong = 0x8004746b; pub const TIOCMGET: ::c_ulong = 0x4004746a; pub const TIOCREMOTE: ::c_ulong = 0x80047469; pub const TIOCGWINSZ: ::c_ulong = 0x40087468; pub const TIOCSWINSZ: ::c_ulong = 0x80087467; pub const TIOCUCNTL: ::c_ulong = 0x80047466; pub const TIOCSTAT: ::c_uint = 0x20007465; pub const TIOCSCONS: ::c_uint = 0x20007463; pub const TIOCCONS: ::c_ulong = 0x80047462; pub const TIOCSCTTY: ::c_uint = 0x20007461; pub const TIOCEXT: ::c_ulong = 0x80047460; pub const TIOCSIG: ::c_uint = 0x2000745f; pub const TIOCDRAIN: ::c_uint = 0x2000745e; pub const TIOCMSDTRWAIT: ::c_ulong = 0x8004745b; pub const TIOCMGDTRWAIT: ::c_ulong = 0x4004745a; pub const TIOCSDRAINWAIT: ::c_ulong = 0x80047457; pub const TIOCGDRAINWAIT: ::c_ulong = 0x40047456; pub const TIOCDSIMICROCODE: ::c_uint = 0x20007455; pub const TIOCPTYGRANT: ::c_uint = 0x20007454; pub const TIOCPTYGNAME: ::c_uint = 0x40807453; pub const TIOCPTYUNLK: ::c_uint = 0x20007452; pub const BIOCGRSIG: ::c_ulong = 0x40044272; pub const BIOCSRSIG: ::c_ulong = 0x80044273; pub const BIOCSDLT: ::c_ulong = 0x80044278; pub const BIOCGSEESENT: ::c_ulong = 0x40044276; pub const BIOCSSEESENT: ::c_ulong = 0x80044277; pub const BIOCGDLTLIST: ::c_ulong = 0xc00c4279; pub const FIODTYPE: ::c_ulong = 0x4004667a; pub const B0: speed_t = 0; pub const B50: speed_t = 50; pub const B75: speed_t = 75; pub const B110: speed_t = 110; pub const B134: speed_t = 134; pub const B150: speed_t = 150; pub const B200: speed_t = 200; pub const B300: speed_t = 300; pub const B600: speed_t = 600; pub const B1200: speed_t = 1200; pub const B1800: speed_t = 1800; pub const B2400: speed_t = 2400; pub const B4800: speed_t = 4800; pub const B9600: speed_t = 9600; pub const B19200: speed_t = 19200; pub const B38400: speed_t = 38400; pub const B7200: speed_t = 7200; pub const B14400: speed_t = 14400; pub const B28800: speed_t = 28800; pub const B57600: speed_t = 57600; pub const B76800: speed_t = 76800; pub const B115200: speed_t = 115200; pub const B230400: speed_t = 230400; pub const EXTA: speed_t = 19200; pub const EXTB: speed_t = 38400; pub const SIGTRAP: ::c_int = 5; pub const GLOB_APPEND: ::c_int = 0x0001; pub const GLOB_DOOFFS: ::c_int = 0x0002; pub const GLOB_ERR: ::c_int = 0x0004; pub const GLOB_MARK: ::c_int = 0x0008; pub const GLOB_NOCHECK: ::c_int = 0x0010; pub const GLOB_NOSORT: ::c_int = 0x0020; pub const GLOB_NOESCAPE: ::c_int = 0x2000; pub const GLOB_NOSPACE: ::c_int = -1; pub const GLOB_ABORTED: ::c_int = -2; pub const GLOB_NOMATCH: ::c_int = -3; 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_MADV_DONTNEED: ::c_int = 4; pub const _SC_IOV_MAX: ::c_int = 56; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 70; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 71; pub const _SC_LOGIN_NAME_MAX: ::c_int = 73; pub const _SC_MQ_PRIO_MAX: ::c_int = 75; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 82; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 83; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 85; pub const _SC_THREAD_KEYS_MAX: ::c_int = 86; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 87; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 88; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 89; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 90; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 91; pub const _SC_THREAD_STACK_MIN: ::c_int = 93; pub const _SC_THREAD_THREADS_MAX: ::c_int = 94; pub const _SC_THREADS: ::c_int = 96; pub const _SC_TTY_NAME_MAX: ::c_int = 101; pub const _SC_ATEXIT_MAX: ::c_int = 107; pub const _SC_XOPEN_CRYPT: ::c_int = 108; pub const _SC_XOPEN_ENH_I18N: ::c_int = 109; pub const _SC_XOPEN_LEGACY: ::c_int = 110; pub const _SC_XOPEN_REALTIME: ::c_int = 111; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 112; pub const _SC_XOPEN_SHM: ::c_int = 113; pub const _SC_XOPEN_UNIX: ::c_int = 115; pub const _SC_XOPEN_VERSION: ::c_int = 116; pub const _SC_XOPEN_XCU_VERSION: ::c_int = 121; pub const _SC_PHYS_PAGES: ::c_int = 200; pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 2; pub const PTHREAD_PROCESS_SHARED: ::c_int = 1; pub const PTHREAD_CREATE_JOINABLE: ::c_int = 1; pub const PTHREAD_CREATE_DETACHED: ::c_int = 2; pub const PTHREAD_STACK_MIN: ::size_t = 8192; pub const RLIMIT_CPU: ::c_int = 0; pub const RLIMIT_FSIZE: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; pub const RLIMIT_STACK: ::c_int = 3; pub const RLIMIT_CORE: ::c_int = 4; pub const RLIMIT_AS: ::c_int = 5; pub const RLIMIT_RSS: ::c_int = RLIMIT_AS; pub const RLIMIT_MEMLOCK: ::c_int = 6; pub const RLIMIT_NPROC: ::c_int = 7; pub const RLIMIT_NOFILE: ::c_int = 8; #[deprecated(since = "0.2.64", note = "Not stable across OS versions")] pub const RLIM_NLIMITS: ::c_int = 9; pub const _RLIMIT_POSIX_FLAG: ::c_int = 0x1000; pub const RLIM_INFINITY: rlim_t = 0x7fff_ffff_ffff_ffff; pub const RUSAGE_SELF: ::c_int = 0; pub const RUSAGE_CHILDREN: ::c_int = -1; pub const MADV_NORMAL: ::c_int = 0; pub const MADV_RANDOM: ::c_int = 1; pub const MADV_SEQUENTIAL: ::c_int = 2; pub const MADV_WILLNEED: ::c_int = 3; pub const MADV_DONTNEED: ::c_int = 4; pub const MADV_FREE: ::c_int = 5; pub const MADV_ZERO_WIRED_PAGES: ::c_int = 6; pub const MADV_FREE_REUSABLE: ::c_int = 7; pub const MADV_FREE_REUSE: ::c_int = 8; pub const MADV_CAN_REUSE: ::c_int = 9; pub const MINCORE_INCORE: ::c_int = 0x1; 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; // // sys/netinet/in.h // Protocols (RFC 1700) // NOTE: These are in addition to the constants defined in src/unix/mod.rs // IPPROTO_IP defined in src/unix/mod.rs /// IP6 hop-by-hop options pub const IPPROTO_HOPOPTS: ::c_int = 0; // IPPROTO_ICMP defined in src/unix/mod.rs /// group mgmt protocol pub const IPPROTO_IGMP: ::c_int = 2; /// gateway2 (deprecated) pub const IPPROTO_GGP: ::c_int = 3; /// for compatibility pub const IPPROTO_IPIP: ::c_int = 4; // IPPROTO_TCP defined in src/unix/mod.rs /// Stream protocol II. pub const IPPROTO_ST: ::c_int = 7; /// exterior gateway protocol pub const IPPROTO_EGP: ::c_int = 8; /// private interior gateway pub const IPPROTO_PIGP: ::c_int = 9; /// BBN RCC Monitoring pub const IPPROTO_RCCMON: ::c_int = 10; /// network voice protocol pub const IPPROTO_NVPII: ::c_int = 11; /// pup pub const IPPROTO_PUP: ::c_int = 12; /// Argus pub const IPPROTO_ARGUS: ::c_int = 13; /// EMCON pub const IPPROTO_EMCON: ::c_int = 14; /// Cross Net Debugger pub const IPPROTO_XNET: ::c_int = 15; /// Chaos pub const IPPROTO_CHAOS: ::c_int = 16; // IPPROTO_UDP defined in src/unix/mod.rs /// Multiplexing pub const IPPROTO_MUX: ::c_int = 18; /// DCN Measurement Subsystems pub const IPPROTO_MEAS: ::c_int = 19; /// Host Monitoring pub const IPPROTO_HMP: ::c_int = 20; /// Packet Radio Measurement pub const IPPROTO_PRM: ::c_int = 21; /// xns idp pub const IPPROTO_IDP: ::c_int = 22; /// Trunk-1 pub const IPPROTO_TRUNK1: ::c_int = 23; /// Trunk-2 pub const IPPROTO_TRUNK2: ::c_int = 24; /// Leaf-1 pub const IPPROTO_LEAF1: ::c_int = 25; /// Leaf-2 pub const IPPROTO_LEAF2: ::c_int = 26; /// Reliable Data pub const IPPROTO_RDP: ::c_int = 27; /// Reliable Transaction pub const IPPROTO_IRTP: ::c_int = 28; /// tp-4 w/ class negotiation pub const IPPROTO_TP: ::c_int = 29; /// Bulk Data Transfer pub const IPPROTO_BLT: ::c_int = 30; /// Network Services pub const IPPROTO_NSP: ::c_int = 31; /// Merit Internodal pub const IPPROTO_INP: ::c_int = 32; /// Sequential Exchange pub const IPPROTO_SEP: ::c_int = 33; /// Third Party Connect pub const IPPROTO_3PC: ::c_int = 34; /// InterDomain Policy Routing pub const IPPROTO_IDPR: ::c_int = 35; /// XTP pub const IPPROTO_XTP: ::c_int = 36; /// Datagram Delivery pub const IPPROTO_DDP: ::c_int = 37; /// Control Message Transport pub const IPPROTO_CMTP: ::c_int = 38; /// TP++ Transport pub const IPPROTO_TPXX: ::c_int = 39; /// IL transport protocol pub const IPPROTO_IL: ::c_int = 40; // IPPROTO_IPV6 defined in src/unix/mod.rs /// Source Demand Routing pub const IPPROTO_SDRP: ::c_int = 42; /// IP6 routing header pub const IPPROTO_ROUTING: ::c_int = 43; /// IP6 fragmentation header pub const IPPROTO_FRAGMENT: ::c_int = 44; /// InterDomain Routing pub const IPPROTO_IDRP: ::c_int = 45; /// resource reservation pub const IPPROTO_RSVP: ::c_int = 46; /// General Routing Encap. pub const IPPROTO_GRE: ::c_int = 47; /// Mobile Host Routing pub const IPPROTO_MHRP: ::c_int = 48; /// BHA pub const IPPROTO_BHA: ::c_int = 49; /// IP6 Encap Sec. Payload pub const IPPROTO_ESP: ::c_int = 50; /// IP6 Auth Header pub const IPPROTO_AH: ::c_int = 51; /// Integ. Net Layer Security pub const IPPROTO_INLSP: ::c_int = 52; /// IP with encryption pub const IPPROTO_SWIPE: ::c_int = 53; /// Next Hop Resolution pub const IPPROTO_NHRP: ::c_int = 54; /* 55-57: Unassigned */ // IPPROTO_ICMPV6 defined in src/unix/mod.rs /// IP6 no next header pub const IPPROTO_NONE: ::c_int = 59; /// IP6 destination option pub const IPPROTO_DSTOPTS: ::c_int = 60; /// any host internal protocol pub const IPPROTO_AHIP: ::c_int = 61; /// CFTP pub const IPPROTO_CFTP: ::c_int = 62; /// "hello" routing protocol pub const IPPROTO_HELLO: ::c_int = 63; /// SATNET/Backroom EXPAK pub const IPPROTO_SATEXPAK: ::c_int = 64; /// Kryptolan pub const IPPROTO_KRYPTOLAN: ::c_int = 65; /// Remote Virtual Disk pub const IPPROTO_RVD: ::c_int = 66; /// Pluribus Packet Core pub const IPPROTO_IPPC: ::c_int = 67; /// Any distributed FS pub const IPPROTO_ADFS: ::c_int = 68; /// Satnet Monitoring pub const IPPROTO_SATMON: ::c_int = 69; /// VISA Protocol pub const IPPROTO_VISA: ::c_int = 70; /// Packet Core Utility pub const IPPROTO_IPCV: ::c_int = 71; /// Comp. Prot. Net. Executive pub const IPPROTO_CPNX: ::c_int = 72; /// Comp. Prot. HeartBeat pub const IPPROTO_CPHB: ::c_int = 73; /// Wang Span Network pub const IPPROTO_WSN: ::c_int = 74; /// Packet Video Protocol pub const IPPROTO_PVP: ::c_int = 75; /// BackRoom SATNET Monitoring pub const IPPROTO_BRSATMON: ::c_int = 76; /// Sun net disk proto (temp.) pub const IPPROTO_ND: ::c_int = 77; /// WIDEBAND Monitoring pub const IPPROTO_WBMON: ::c_int = 78; /// WIDEBAND EXPAK pub const IPPROTO_WBEXPAK: ::c_int = 79; /// ISO cnlp pub const IPPROTO_EON: ::c_int = 80; /// VMTP pub const IPPROTO_VMTP: ::c_int = 81; /// Secure VMTP pub const IPPROTO_SVMTP: ::c_int = 82; /// Banyon VINES pub const IPPROTO_VINES: ::c_int = 83; /// TTP pub const IPPROTO_TTP: ::c_int = 84; /// NSFNET-IGP pub const IPPROTO_IGP: ::c_int = 85; /// dissimilar gateway prot. pub const IPPROTO_DGP: ::c_int = 86; /// TCF pub const IPPROTO_TCF: ::c_int = 87; /// Cisco/GXS IGRP pub const IPPROTO_IGRP: ::c_int = 88; /// OSPFIGP pub const IPPROTO_OSPFIGP: ::c_int = 89; /// Strite RPC protocol pub const IPPROTO_SRPC: ::c_int = 90; /// Locus Address Resoloution pub const IPPROTO_LARP: ::c_int = 91; /// Multicast Transport pub const IPPROTO_MTP: ::c_int = 92; /// AX.25 Frames pub const IPPROTO_AX25: ::c_int = 93; /// IP encapsulated in IP pub const IPPROTO_IPEIP: ::c_int = 94; /// Mobile Int.ing control pub const IPPROTO_MICP: ::c_int = 95; /// Semaphore Comm. security pub const IPPROTO_SCCSP: ::c_int = 96; /// Ethernet IP encapsulation pub const IPPROTO_ETHERIP: ::c_int = 97; /// encapsulation header pub const IPPROTO_ENCAP: ::c_int = 98; /// any private encr. scheme pub const IPPROTO_APES: ::c_int = 99; /// GMTP pub const IPPROTO_GMTP: ::c_int = 100; /* 101-254: Partly Unassigned */ /// Protocol Independent Mcast pub const IPPROTO_PIM: ::c_int = 103; /// payload compression (IPComp) pub const IPPROTO_IPCOMP: ::c_int = 108; /// PGM pub const IPPROTO_PGM: ::c_int = 113; /// SCTP pub const IPPROTO_SCTP: ::c_int = 132; /* 255: Reserved */ /* BSD Private, local use, namespace incursion */ /// divert pseudo-protocol pub const IPPROTO_DIVERT: ::c_int = 254; /// raw IP packet pub const IPPROTO_RAW: ::c_int = 255; pub const IPPROTO_MAX: ::c_int = 256; /// last return value of *_input(), meaning "all job for this pkt is done". pub const IPPROTO_DONE: ::c_int = 257; pub const AF_UNSPEC: ::c_int = 0; pub const AF_LOCAL: ::c_int = 1; pub const AF_UNIX: ::c_int = AF_LOCAL; pub const AF_INET: ::c_int = 2; pub const AF_IMPLINK: ::c_int = 3; pub const AF_PUP: ::c_int = 4; pub const AF_CHAOS: ::c_int = 5; pub const AF_NS: ::c_int = 6; pub const AF_ISO: ::c_int = 7; pub const AF_OSI: ::c_int = AF_ISO; pub const AF_ECMA: ::c_int = 8; pub const AF_DATAKIT: ::c_int = 9; pub const AF_CCITT: ::c_int = 10; pub const AF_SNA: ::c_int = 11; pub const AF_DECnet: ::c_int = 12; pub const AF_DLI: ::c_int = 13; pub const AF_LAT: ::c_int = 14; pub const AF_HYLINK: ::c_int = 15; pub const AF_APPLETALK: ::c_int = 16; pub const AF_ROUTE: ::c_int = 17; pub const AF_LINK: ::c_int = 18; pub const pseudo_AF_XTP: ::c_int = 19; pub const AF_COIP: ::c_int = 20; pub const AF_CNT: ::c_int = 21; pub const pseudo_AF_RTIP: ::c_int = 22; pub const AF_IPX: ::c_int = 23; pub const AF_SIP: ::c_int = 24; pub const pseudo_AF_PIP: ::c_int = 25; pub const AF_ISDN: ::c_int = 28; pub const AF_E164: ::c_int = AF_ISDN; pub const pseudo_AF_KEY: ::c_int = 29; pub const AF_INET6: ::c_int = 30; pub const AF_NATM: ::c_int = 31; pub const AF_SYSTEM: ::c_int = 32; pub const AF_NETBIOS: ::c_int = 33; pub const AF_PPP: ::c_int = 34; pub const pseudo_AF_HDRCMPLT: ::c_int = 35; pub const AF_SYS_CONTROL: ::c_int = 2; pub const SYSPROTO_EVENT: ::c_int = 1; pub const SYSPROTO_CONTROL: ::c_int = 2; pub const PF_UNSPEC: ::c_int = AF_UNSPEC; pub const PF_LOCAL: ::c_int = AF_LOCAL; pub const PF_UNIX: ::c_int = PF_LOCAL; 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_ISO: ::c_int = AF_ISO; pub const PF_OSI: ::c_int = AF_ISO; 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_ROUTE: ::c_int = AF_ROUTE; pub const PF_LINK: ::c_int = AF_LINK; pub const PF_XTP: ::c_int = pseudo_AF_XTP; pub const PF_COIP: ::c_int = AF_COIP; pub const PF_CNT: ::c_int = AF_CNT; pub const PF_SIP: ::c_int = AF_SIP; pub const PF_IPX: ::c_int = AF_IPX; pub const PF_RTIP: ::c_int = pseudo_AF_RTIP; pub const PF_PIP: ::c_int = pseudo_AF_PIP; pub const PF_ISDN: ::c_int = AF_ISDN; pub const PF_KEY: ::c_int = pseudo_AF_KEY; pub const PF_INET6: ::c_int = AF_INET6; pub const PF_NATM: ::c_int = AF_NATM; pub const PF_SYSTEM: ::c_int = AF_SYSTEM; pub const PF_NETBIOS: ::c_int = AF_NETBIOS; pub const PF_PPP: ::c_int = AF_PPP; pub const NET_RT_DUMP: ::c_int = 1; pub const NET_RT_FLAGS: ::c_int = 2; pub const NET_RT_IFLIST: ::c_int = 3; pub const SOMAXCONN: ::c_int = 128; pub const SOCK_MAXADDRLEN: ::c_int = 255; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_RAW: ::c_int = 3; pub const SOCK_RDM: ::c_int = 4; pub const SOCK_SEQPACKET: ::c_int = 5; pub const IP_TTL: ::c_int = 4; pub const IP_HDRINCL: ::c_int = 2; 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_PKTINFO: ::c_int = 26; pub const IP_RECVTOS: ::c_int = 27; pub const IPV6_JOIN_GROUP: ::c_int = 12; pub const IPV6_LEAVE_GROUP: ::c_int = 13; pub const IPV6_RECVTCLASS: ::c_int = 35; pub const IPV6_TCLASS: ::c_int = 36; pub const IPV6_PKTINFO: ::c_int = 46; pub const IPV6_RECVPKTINFO: ::c_int = 61; pub const TCP_NOPUSH: ::c_int = 4; pub const TCP_NOOPT: ::c_int = 8; pub const TCP_KEEPALIVE: ::c_int = 0x10; pub const SOL_LOCAL: ::c_int = 0; pub const LOCAL_PEERCRED: ::c_int = 0x001; pub const LOCAL_PEERPID: ::c_int = 0x002; pub const LOCAL_PEEREPID: ::c_int = 0x003; pub const LOCAL_PEERUUID: ::c_int = 0x004; pub const LOCAL_PEEREUUID: ::c_int = 0x005; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_DEBUG: ::c_int = 0x01; pub const SO_ACCEPTCONN: ::c_int = 0x0002; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_USELOOPBACK: ::c_int = 0x0040; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_TIMESTAMP: ::c_int = 0x0400; pub const SO_TIMESTAMP_MONOTONIC: ::c_int = 0x0800; pub const SO_DONTTRUNC: ::c_int = 0x2000; pub const SO_WANTMORE: ::c_int = 0x4000; pub const SO_WANTOOBFLAG: ::c_int = 0x8000; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; 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; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_LABEL: ::c_int = 0x1010; pub const SO_PEERLABEL: ::c_int = 0x1011; pub const SO_NREAD: ::c_int = 0x1020; pub const SO_NKE: ::c_int = 0x1021; pub const SO_NOSIGPIPE: ::c_int = 0x1022; pub const SO_NOADDRERR: ::c_int = 0x1023; pub const SO_NWRITE: ::c_int = 0x1024; pub const SO_REUSESHAREUID: ::c_int = 0x1025; pub const SO_NOTIFYCONFLICT: ::c_int = 0x1026; pub const SO_RANDOMPORT: ::c_int = 0x1082; pub const SO_NP_EXTENSIONS: ::c_int = 0x1083; pub const MSG_OOB: ::c_int = 0x1; pub const MSG_PEEK: ::c_int = 0x2; pub const MSG_DONTROUTE: ::c_int = 0x4; pub const MSG_EOR: ::c_int = 0x8; pub const MSG_TRUNC: ::c_int = 0x10; pub const MSG_CTRUNC: ::c_int = 0x20; pub const MSG_WAITALL: ::c_int = 0x40; pub const MSG_DONTWAIT: ::c_int = 0x80; pub const MSG_EOF: ::c_int = 0x100; pub const MSG_FLUSH: ::c_int = 0x400; pub const MSG_HOLD: ::c_int = 0x800; pub const MSG_SEND: ::c_int = 0x1000; pub const MSG_HAVEMORE: ::c_int = 0x2000; pub const MSG_RCVMORE: ::c_int = 0x4000; // pub const MSG_COMPAT: ::c_int = 0x8000; pub const SCM_TIMESTAMP: ::c_int = 0x02; pub const SCM_CREDS: ::c_int = 0x03; // https://github.com/aosm/xnu/blob/master/bsd/net/if.h#L140-L156 pub const IFF_UP: ::c_int = 0x1; // interface is up pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging pub const IFF_LOOPBACK: ::c_int = 0x8; // is a loopback net pub const IFF_POINTOPOINT: ::c_int = 0x10; // interface is point-to-point link pub const IFF_NOTRAILERS: ::c_int = 0x20; // obsolete: avoid use of trailers pub const IFF_RUNNING: ::c_int = 0x40; // resources allocated pub const IFF_NOARP: ::c_int = 0x80; // no address resolution protocol pub const IFF_PROMISC: ::c_int = 0x100; // receive all packets pub const IFF_ALLMULTI: ::c_int = 0x200; // receive all multicast packets pub const IFF_OACTIVE: ::c_int = 0x400; // transmission in progress pub const IFF_SIMPLEX: ::c_int = 0x800; // 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; // supports multicast pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const LOCK_SH: ::c_int = 1; pub const LOCK_EX: ::c_int = 2; pub const LOCK_NB: ::c_int = 4; pub const LOCK_UN: ::c_int = 8; pub const MAP_COPY: ::c_int = 0x0002; pub const MAP_RENAME: ::c_int = 0x0020; pub const MAP_NORESERVE: ::c_int = 0x0040; pub const MAP_NOEXTEND: ::c_int = 0x0100; pub const MAP_HASSEMAPHORE: ::c_int = 0x0200; pub const MAP_NOCACHE: ::c_int = 0x0400; pub const MAP_JIT: ::c_int = 0x0800; pub const _SC_ARG_MAX: ::c_int = 1; pub const _SC_CHILD_MAX: ::c_int = 2; pub const _SC_CLK_TCK: ::c_int = 3; pub const _SC_NGROUPS_MAX: ::c_int = 4; pub const _SC_OPEN_MAX: ::c_int = 5; pub const _SC_JOB_CONTROL: ::c_int = 6; pub const _SC_SAVED_IDS: ::c_int = 7; pub const _SC_VERSION: ::c_int = 8; pub const _SC_BC_BASE_MAX: ::c_int = 9; pub const _SC_BC_DIM_MAX: ::c_int = 10; pub const _SC_BC_SCALE_MAX: ::c_int = 11; pub const _SC_BC_STRING_MAX: ::c_int = 12; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 13; pub const _SC_EXPR_NEST_MAX: ::c_int = 14; pub const _SC_LINE_MAX: ::c_int = 15; pub const _SC_RE_DUP_MAX: ::c_int = 16; pub const _SC_2_VERSION: ::c_int = 17; pub const _SC_2_C_BIND: ::c_int = 18; pub const _SC_2_C_DEV: ::c_int = 19; pub const _SC_2_CHAR_TERM: ::c_int = 20; pub const _SC_2_FORT_DEV: ::c_int = 21; pub const _SC_2_FORT_RUN: ::c_int = 22; pub const _SC_2_LOCALEDEF: ::c_int = 23; pub const _SC_2_SW_DEV: ::c_int = 24; pub const _SC_2_UPE: ::c_int = 25; pub const _SC_STREAM_MAX: ::c_int = 26; pub const _SC_TZNAME_MAX: ::c_int = 27; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 28; pub const _SC_PAGESIZE: ::c_int = 29; pub const _SC_MEMLOCK: ::c_int = 30; pub const _SC_MEMLOCK_RANGE: ::c_int = 31; pub const _SC_MEMORY_PROTECTION: ::c_int = 32; pub const _SC_MESSAGE_PASSING: ::c_int = 33; pub const _SC_PRIORITIZED_IO: ::c_int = 34; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 35; pub const _SC_REALTIME_SIGNALS: ::c_int = 36; pub const _SC_SEMAPHORES: ::c_int = 37; pub const _SC_FSYNC: ::c_int = 38; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 39; pub const _SC_SYNCHRONIZED_IO: ::c_int = 40; pub const _SC_TIMERS: ::c_int = 41; pub const _SC_AIO_LISTIO_MAX: ::c_int = 42; pub const _SC_AIO_MAX: ::c_int = 43; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 44; pub const _SC_DELAYTIMER_MAX: ::c_int = 45; pub const _SC_MQ_OPEN_MAX: ::c_int = 46; pub const _SC_MAPPED_FILES: ::c_int = 47; pub const _SC_RTSIG_MAX: ::c_int = 48; pub const _SC_SEM_NSEMS_MAX: ::c_int = 49; pub const _SC_SEM_VALUE_MAX: ::c_int = 50; pub const _SC_SIGQUEUE_MAX: ::c_int = 51; pub const _SC_TIMER_MAX: ::c_int = 52; pub const _SC_NPROCESSORS_CONF: ::c_int = 57; pub const _SC_NPROCESSORS_ONLN: ::c_int = 58; pub const _SC_2_PBS: ::c_int = 59; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 60; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 61; pub const _SC_2_PBS_LOCATE: ::c_int = 62; pub const _SC_2_PBS_MESSAGE: ::c_int = 63; pub const _SC_2_PBS_TRACK: ::c_int = 64; pub const _SC_ADVISORY_INFO: ::c_int = 65; pub const _SC_BARRIERS: ::c_int = 66; pub const _SC_CLOCK_SELECTION: ::c_int = 67; pub const _SC_CPUTIME: ::c_int = 68; pub const _SC_FILE_LOCKING: ::c_int = 69; pub const _SC_HOST_NAME_MAX: ::c_int = 72; pub const _SC_MONOTONIC_CLOCK: ::c_int = 74; pub const _SC_READER_WRITER_LOCKS: ::c_int = 76; pub const _SC_REGEXP: ::c_int = 77; pub const _SC_SHELL: ::c_int = 78; pub const _SC_SPAWN: ::c_int = 79; pub const _SC_SPIN_LOCKS: ::c_int = 80; pub const _SC_SPORADIC_SERVER: ::c_int = 81; pub const _SC_THREAD_CPUTIME: ::c_int = 84; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 92; pub const _SC_TIMEOUTS: ::c_int = 95; pub const _SC_TRACE: ::c_int = 97; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 98; pub const _SC_TRACE_INHERIT: ::c_int = 99; pub const _SC_TRACE_LOG: ::c_int = 100; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 102; pub const _SC_V6_ILP32_OFF32: ::c_int = 103; pub const _SC_V6_ILP32_OFFBIG: ::c_int = 104; pub const _SC_V6_LP64_OFF64: ::c_int = 105; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 106; pub const _SC_IPV6: ::c_int = 118; pub const _SC_RAW_SOCKETS: ::c_int = 119; pub const _SC_SYMLOOP_MAX: ::c_int = 120; pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; pub const _SC_XOPEN_STREAMS: ::c_int = 114; pub const _SC_XBS5_ILP32_OFF32: ::c_int = 122; pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 123; pub const _SC_XBS5_LP64_OFF64: ::c_int = 124; pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 125; pub const _SC_SS_REPL_MAX: ::c_int = 126; pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 127; pub const _SC_TRACE_NAME_MAX: ::c_int = 128; pub const _SC_TRACE_SYS_MAX: ::c_int = 129; pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 130; pub const _SC_PASS_MAX: ::c_int = 131; pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0; 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 _PTHREAD_MUTEX_SIG_init: ::c_long = 0x32AAABA7; pub const _PTHREAD_COND_SIG_init: ::c_long = 0x3CB0B1BB; pub const _PTHREAD_RWLOCK_SIG_init: ::c_long = 0x2DA8B3B4; pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { __sig: _PTHREAD_MUTEX_SIG_init, __opaque: [0; __PTHREAD_MUTEX_SIZE__], }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { __sig: _PTHREAD_COND_SIG_init, __opaque: [0; __PTHREAD_COND_SIZE__], }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { __sig: _PTHREAD_RWLOCK_SIG_init, __opaque: [0; __PTHREAD_RWLOCK_SIZE__], }; pub const SIGSTKSZ: ::size_t = 131072; pub const FD_SETSIZE: usize = 1024; pub const ST_NOSUID: ::c_ulong = 2; pub const EVFILT_READ: i16 = -1; pub const EVFILT_WRITE: i16 = -2; pub const EVFILT_AIO: i16 = -3; pub const EVFILT_VNODE: i16 = -4; pub const EVFILT_PROC: i16 = -5; pub const EVFILT_SIGNAL: i16 = -6; pub const EVFILT_TIMER: i16 = -7; pub const EVFILT_MACHPORT: i16 = -8; pub const EVFILT_FS: i16 = -9; pub const EVFILT_USER: i16 = -10; pub const EVFILT_VM: i16 = -12; pub const EV_ADD: u16 = 0x1; pub const EV_DELETE: u16 = 0x2; pub const EV_ENABLE: u16 = 0x4; pub const EV_DISABLE: u16 = 0x8; pub const EV_ONESHOT: u16 = 0x10; pub const EV_CLEAR: u16 = 0x20; pub const EV_RECEIPT: u16 = 0x40; pub const EV_DISPATCH: u16 = 0x80; pub const EV_FLAG0: u16 = 0x1000; pub const EV_POLL: u16 = 0x1000; pub const EV_FLAG1: u16 = 0x2000; pub const EV_OOBAND: u16 = 0x2000; pub const EV_ERROR: u16 = 0x4000; pub const EV_EOF: u16 = 0x8000; pub const EV_SYSFLAGS: u16 = 0xf000; pub const NOTE_TRIGGER: u32 = 0x01000000; pub const NOTE_FFNOP: u32 = 0x00000000; pub const NOTE_FFAND: u32 = 0x40000000; pub const NOTE_FFOR: u32 = 0x80000000; pub const NOTE_FFCOPY: u32 = 0xc0000000; pub const NOTE_FFCTRLMASK: u32 = 0xc0000000; pub const NOTE_FFLAGSMASK: u32 = 0x00ffffff; pub const NOTE_LOWAT: u32 = 0x00000001; pub const NOTE_DELETE: u32 = 0x00000001; pub const NOTE_WRITE: u32 = 0x00000002; pub const NOTE_EXTEND: u32 = 0x00000004; pub const NOTE_ATTRIB: u32 = 0x00000008; pub const NOTE_LINK: u32 = 0x00000010; pub const NOTE_RENAME: u32 = 0x00000020; pub const NOTE_REVOKE: u32 = 0x00000040; pub const NOTE_NONE: u32 = 0x00000080; pub const NOTE_EXIT: u32 = 0x80000000; pub const NOTE_FORK: u32 = 0x40000000; pub const NOTE_EXEC: u32 = 0x20000000; #[doc(hidden)] #[deprecated(since = "0.2.49", note = "Deprecated since MacOSX 10.9")] pub const NOTE_REAP: u32 = 0x10000000; pub const NOTE_SIGNAL: u32 = 0x08000000; pub const NOTE_EXITSTATUS: u32 = 0x04000000; pub const NOTE_EXIT_DETAIL: u32 = 0x02000000; pub const NOTE_PDATAMASK: u32 = 0x000fffff; pub const NOTE_PCTRLMASK: u32 = 0xfff00000; #[doc(hidden)] #[deprecated(since = "0.2.49", note = "Deprecated since MacOSX 10.9")] pub const NOTE_EXIT_REPARENTED: u32 = 0x00080000; pub const NOTE_EXIT_DETAIL_MASK: u32 = 0x00070000; pub const NOTE_EXIT_DECRYPTFAIL: u32 = 0x00010000; pub const NOTE_EXIT_MEMORY: u32 = 0x00020000; pub const NOTE_EXIT_CSERROR: u32 = 0x00040000; pub const NOTE_VM_PRESSURE: u32 = 0x80000000; pub const NOTE_VM_PRESSURE_TERMINATE: u32 = 0x40000000; pub const NOTE_VM_PRESSURE_SUDDEN_TERMINATE: u32 = 0x20000000; pub const NOTE_VM_ERROR: u32 = 0x10000000; pub const NOTE_SECONDS: u32 = 0x00000001; pub const NOTE_USECONDS: u32 = 0x00000002; pub const NOTE_NSECONDS: u32 = 0x00000004; pub const NOTE_ABSOLUTE: u32 = 0x00000008; pub const NOTE_LEEWAY: u32 = 0x00000010; pub const NOTE_CRITICAL: u32 = 0x00000020; pub const NOTE_BACKGROUND: u32 = 0x00000040; pub const NOTE_TRACK: u32 = 0x00000001; pub const NOTE_TRACKERR: u32 = 0x00000002; pub const NOTE_CHILD: u32 = 0x00000004; pub const OCRNL: ::tcflag_t = 0x00000010; pub const ONOCR: ::tcflag_t = 0x00000020; pub const ONLRET: ::tcflag_t = 0x00000040; pub const OFILL: ::tcflag_t = 0x00000080; pub const NLDLY: ::tcflag_t = 0x00000300; pub const TABDLY: ::tcflag_t = 0x00000c04; pub const CRDLY: ::tcflag_t = 0x00003000; pub const FFDLY: ::tcflag_t = 0x00004000; pub const BSDLY: ::tcflag_t = 0x00008000; pub const VTDLY: ::tcflag_t = 0x00010000; pub const OFDEL: ::tcflag_t = 0x00020000; pub const NL0: ::tcflag_t = 0x00000000; pub const NL1: ::tcflag_t = 0x00000100; pub const TAB0: ::tcflag_t = 0x00000000; pub const TAB1: ::tcflag_t = 0x00000400; pub const TAB2: ::tcflag_t = 0x00000800; pub const CR0: ::tcflag_t = 0x00000000; pub const CR1: ::tcflag_t = 0x00001000; pub const CR2: ::tcflag_t = 0x00002000; pub const CR3: ::tcflag_t = 0x00003000; pub const FF0: ::tcflag_t = 0x00000000; pub const FF1: ::tcflag_t = 0x00004000; pub const BS0: ::tcflag_t = 0x00000000; pub const BS1: ::tcflag_t = 0x00008000; pub const TAB3: ::tcflag_t = 0x00000004; pub const VT0: ::tcflag_t = 0x00000000; pub const VT1: ::tcflag_t = 0x00010000; pub const IUTF8: ::tcflag_t = 0x00004000; pub const CRTSCTS: ::tcflag_t = 0x00030000; 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 = 0x00000002; pub const NI_NAMEREQD: ::c_int = 0x00000004; pub const NI_NUMERICSERV: ::c_int = 0x00000008; pub const NI_NUMERICSCOPE: ::c_int = 0x00000100; pub const NI_DGRAM: ::c_int = 0x00000010; pub const Q_GETQUOTA: ::c_int = 0x300; pub const Q_SETQUOTA: ::c_int = 0x400; pub const RENAME_SWAP: ::c_uint = 0x00000002; pub const RENAME_EXCL: ::c_uint = 0x00000004; pub const RTLD_LOCAL: ::c_int = 0x4; pub const RTLD_FIRST: ::c_int = 0x100; pub const RTLD_NODELETE: ::c_int = 0x80; pub const RTLD_NOLOAD: ::c_int = 0x10; pub const RTLD_GLOBAL: ::c_int = 0x8; pub const _WSTOPPED: ::c_int = 0o177; pub const LOG_NETINFO: ::c_int = 12 << 3; pub const LOG_REMOTEAUTH: ::c_int = 13 << 3; pub const LOG_INSTALL: ::c_int = 14 << 3; pub const LOG_RAS: ::c_int = 15 << 3; pub const LOG_LAUNCHD: ::c_int = 24 << 3; pub const LOG_NFACILITIES: ::c_int = 25; 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_QUAD: ::c_int = 4; pub const CTLTYPE_OPAQUE: ::c_int = 5; pub const CTLTYPE_STRUCT: ::c_int = CTLTYPE_OPAQUE; 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_NOLOCK: ::c_int = 0x20000000; pub const CTLFLAG_ANYBODY: ::c_int = 0x10000000; pub const CTLFLAG_SECURE: ::c_int = 0x08000000; pub const CTLFLAG_MASKED: ::c_int = 0x04000000; pub const CTLFLAG_NOAUTO: ::c_int = 0x02000000; pub const CTLFLAG_KERN: ::c_int = 0x01000000; pub const CTLFLAG_LOCKED: ::c_int = 0x00800000; pub const CTLFLAG_OID2: ::c_int = 0x00400000; pub const CTL_UNSPEC: ::c_int = 0; pub const CTL_KERN: ::c_int = 1; pub const CTL_VM: ::c_int = 2; pub const CTL_VFS: ::c_int = 3; pub const CTL_NET: ::c_int = 4; pub const CTL_DEBUG: ::c_int = 5; pub const CTL_HW: ::c_int = 6; pub const CTL_MACHDEP: ::c_int = 7; pub const CTL_USER: ::c_int = 8; pub const CTL_MAXID: ::c_int = 9; pub const KERN_OSTYPE: ::c_int = 1; pub const KERN_OSRELEASE: ::c_int = 2; pub const KERN_OSREV: ::c_int = 3; pub const KERN_VERSION: ::c_int = 4; pub const KERN_MAXVNODES: ::c_int = 5; pub const KERN_MAXPROC: ::c_int = 6; pub const KERN_MAXFILES: ::c_int = 7; pub const KERN_ARGMAX: ::c_int = 8; pub const KERN_SECURELVL: ::c_int = 9; pub const KERN_HOSTNAME: ::c_int = 10; pub const KERN_HOSTID: ::c_int = 11; pub const KERN_CLOCKRATE: ::c_int = 12; pub const KERN_VNODE: ::c_int = 13; pub const KERN_PROC: ::c_int = 14; pub const KERN_FILE: ::c_int = 15; pub const KERN_PROF: ::c_int = 16; pub const KERN_POSIX1: ::c_int = 17; pub const KERN_NGROUPS: ::c_int = 18; pub const KERN_JOB_CONTROL: ::c_int = 19; pub const KERN_SAVED_IDS: ::c_int = 20; pub const KERN_BOOTTIME: ::c_int = 21; pub const KERN_NISDOMAINNAME: ::c_int = 22; pub const KERN_DOMAINNAME: ::c_int = KERN_NISDOMAINNAME; pub const KERN_MAXPARTITIONS: ::c_int = 23; pub const KERN_KDEBUG: ::c_int = 24; pub const KERN_UPDATEINTERVAL: ::c_int = 25; pub const KERN_OSRELDATE: ::c_int = 26; pub const KERN_NTP_PLL: ::c_int = 27; pub const KERN_BOOTFILE: ::c_int = 28; pub const KERN_MAXFILESPERPROC: ::c_int = 29; pub const KERN_MAXPROCPERUID: ::c_int = 30; pub const KERN_DUMPDEV: ::c_int = 31; pub const KERN_IPC: ::c_int = 32; pub const KERN_DUMMY: ::c_int = 33; pub const KERN_PS_STRINGS: ::c_int = 34; pub const KERN_USRSTACK32: ::c_int = 35; pub const KERN_LOGSIGEXIT: ::c_int = 36; pub const KERN_SYMFILE: ::c_int = 37; pub const KERN_PROCARGS: ::c_int = 38; pub const KERN_NETBOOT: ::c_int = 40; pub const KERN_SYSV: ::c_int = 42; pub const KERN_AFFINITY: ::c_int = 43; pub const KERN_TRANSLATE: ::c_int = 44; pub const KERN_CLASSIC: ::c_int = KERN_TRANSLATE; pub const KERN_EXEC: ::c_int = 45; pub const KERN_CLASSICHANDLER: ::c_int = KERN_EXEC; pub const KERN_AIOMAX: ::c_int = 46; pub const KERN_AIOPROCMAX: ::c_int = 47; pub const KERN_AIOTHREADS: ::c_int = 48; pub const KERN_COREFILE: ::c_int = 50; pub const KERN_COREDUMP: ::c_int = 51; pub const KERN_SUGID_COREDUMP: ::c_int = 52; pub const KERN_PROCDELAYTERM: ::c_int = 53; pub const KERN_SHREG_PRIVATIZABLE: ::c_int = 54; pub const KERN_LOW_PRI_WINDOW: ::c_int = 56; pub const KERN_LOW_PRI_DELAY: ::c_int = 57; pub const KERN_POSIX: ::c_int = 58; pub const KERN_USRSTACK64: ::c_int = 59; pub const KERN_NX_PROTECTION: ::c_int = 60; pub const KERN_TFP: ::c_int = 61; pub const KERN_PROCNAME: ::c_int = 62; pub const KERN_THALTSTACK: ::c_int = 63; pub const KERN_SPECULATIVE_READS: ::c_int = 64; pub const KERN_OSVERSION: ::c_int = 65; pub const KERN_SAFEBOOT: ::c_int = 66; pub const KERN_RAGEVNODE: ::c_int = 68; pub const KERN_TTY: ::c_int = 69; pub const KERN_CHECKOPENEVT: ::c_int = 70; pub const KERN_THREADNAME: ::c_int = 71; pub const KERN_MAXID: ::c_int = 72; pub const KERN_RAGE_PROC: ::c_int = 1; pub const KERN_RAGE_THREAD: ::c_int = 2; pub const KERN_UNRAGE_PROC: ::c_int = 3; pub const KERN_UNRAGE_THREAD: ::c_int = 4; pub const KERN_OPENEVT_PROC: ::c_int = 1; pub const KERN_UNOPENEVT_PROC: ::c_int = 2; pub const KERN_TFP_POLICY: ::c_int = 1; pub const KERN_TFP_POLICY_DENY: ::c_int = 0; pub const KERN_TFP_POLICY_DEFAULT: ::c_int = 2; pub const KERN_KDEFLAGS: ::c_int = 1; pub const KERN_KDDFLAGS: ::c_int = 2; pub const KERN_KDENABLE: ::c_int = 3; pub const KERN_KDSETBUF: ::c_int = 4; pub const KERN_KDGETBUF: ::c_int = 5; pub const KERN_KDSETUP: ::c_int = 6; pub const KERN_KDREMOVE: ::c_int = 7; pub const KERN_KDSETREG: ::c_int = 8; pub const KERN_KDGETREG: ::c_int = 9; pub const KERN_KDREADTR: ::c_int = 10; pub const KERN_KDPIDTR: ::c_int = 11; pub const KERN_KDTHRMAP: ::c_int = 12; pub const KERN_KDPIDEX: ::c_int = 14; pub const KERN_KDSETRTCDEC: ::c_int = 15; pub const KERN_KDGETENTROPY: ::c_int = 16; pub const KERN_KDWRITETR: ::c_int = 17; pub const KERN_KDWRITEMAP: ::c_int = 18; #[doc(hidden)] #[deprecated(since = "0.2.49", note = "Removed in MacOSX 10.12")] pub const KERN_KDENABLE_BG_TRACE: ::c_int = 19; #[doc(hidden)] #[deprecated(since = "0.2.49", note = "Removed in MacOSX 10.12")] pub const KERN_KDDISABLE_BG_TRACE: ::c_int = 20; pub const KERN_KDREADCURTHRMAP: ::c_int = 21; pub const KERN_KDSET_TYPEFILTER: ::c_int = 22; pub const KERN_KDBUFWAIT: ::c_int = 23; pub const KERN_KDCPUMAP: ::c_int = 24; pub const KERN_PROC_ALL: ::c_int = 0; pub const KERN_PROC_PID: ::c_int = 1; pub const KERN_PROC_PGRP: ::c_int = 2; pub const KERN_PROC_SESSION: ::c_int = 3; 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 KIPC_MAXSOCKBUF: ::c_int = 1; pub const KIPC_SOCKBUF_WASTE: ::c_int = 2; pub const KIPC_SOMAXCONN: ::c_int = 3; 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 KIPC_MBSTAT: ::c_int = 8; pub const KIPC_NMBCLUSTERS: ::c_int = 9; pub const KIPC_SOQLIMITCOMPAT: ::c_int = 10; pub const VM_METER: ::c_int = 1; 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 HW_MACHINE: ::c_int = 1; pub const HW_MODEL: ::c_int = 2; pub const HW_NCPU: ::c_int = 3; pub const HW_BYTEORDER: ::c_int = 4; pub const HW_PHYSMEM: ::c_int = 5; pub const HW_USERMEM: ::c_int = 6; pub const HW_PAGESIZE: ::c_int = 7; pub const HW_DISKNAMES: ::c_int = 8; pub const HW_DISKSTATS: ::c_int = 9; pub const HW_EPOCH: ::c_int = 10; pub const HW_FLOATINGPT: ::c_int = 11; pub const HW_MACHINE_ARCH: ::c_int = 12; pub const HW_VECTORUNIT: ::c_int = 13; pub const HW_BUS_FREQ: ::c_int = 14; pub const HW_CPU_FREQ: ::c_int = 15; pub const HW_CACHELINE: ::c_int = 16; pub const HW_L1ICACHESIZE: ::c_int = 17; pub const HW_L1DCACHESIZE: ::c_int = 18; pub const HW_L2SETTINGS: ::c_int = 19; pub const HW_L2CACHESIZE: ::c_int = 20; pub const HW_L3SETTINGS: ::c_int = 21; pub const HW_L3CACHESIZE: ::c_int = 22; pub const HW_TB_FREQ: ::c_int = 23; pub const HW_MEMSIZE: ::c_int = 24; pub const HW_AVAILCPU: ::c_int = 25; pub const HW_MAXID: ::c_int = 26; 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; pub const USER_BC_SCALE_MAX: ::c_int = 4; pub const USER_BC_STRING_MAX: ::c_int = 5; pub const USER_COLL_WEIGHTS_MAX: ::c_int = 6; pub const USER_EXPR_NEST_MAX: ::c_int = 7; pub const USER_LINE_MAX: ::c_int = 8; pub const USER_RE_DUP_MAX: ::c_int = 9; pub const USER_POSIX2_VERSION: ::c_int = 10; pub const USER_POSIX2_C_BIND: ::c_int = 11; pub const USER_POSIX2_C_DEV: ::c_int = 12; pub const USER_POSIX2_CHAR_TERM: ::c_int = 13; pub const USER_POSIX2_FORT_DEV: ::c_int = 14; pub const USER_POSIX2_FORT_RUN: ::c_int = 15; pub const USER_POSIX2_LOCALEDEF: ::c_int = 16; 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_MAXID: ::c_int = 21; pub const CTL_DEBUG_NAME: ::c_int = 0; pub const CTL_DEBUG_VALUE: ::c_int = 1; pub const CTL_DEBUG_MAXID: ::c_int = 20; pub const PRIO_DARWIN_THREAD: ::c_int = 3; pub const PRIO_DARWIN_PROCESS: ::c_int = 4; pub const PRIO_DARWIN_BG: ::c_int = 0x1000; pub const PRIO_DARWIN_NONUI: ::c_int = 0x1001; pub const SEM_FAILED: *mut sem_t = -1isize as *mut ::sem_t; 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 = 0x00001000; pub const AI_MASK: ::c_int = AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV | AI_ADDRCONFIG; pub const AI_ALL: ::c_int = 0x00000100; pub const AI_V4MAPPED_CFG: ::c_int = 0x00000200; pub const AI_ADDRCONFIG: ::c_int = 0x00000400; pub const AI_V4MAPPED: ::c_int = 0x00000800; pub const AI_DEFAULT: ::c_int = AI_V4MAPPED_CFG | AI_ADDRCONFIG; pub const AI_UNUSABLE: ::c_int = 0x10000000; pub const SIGEV_NONE: ::c_int = 0; pub const SIGEV_SIGNAL: ::c_int = 1; pub const SIGEV_THREAD: ::c_int = 3; pub const AIO_CANCELED: ::c_int = 2; pub const AIO_NOTCANCELED: ::c_int = 4; pub const AIO_ALLDONE: ::c_int = 1; #[deprecated( since = "0.2.64", note = "Can vary at runtime. Use sysconf(3) instead" )] pub const AIO_LISTIO_MAX: ::c_int = 16; pub const LIO_NOP: ::c_int = 0; pub const LIO_WRITE: ::c_int = 2; pub const LIO_READ: ::c_int = 1; pub const LIO_WAIT: ::c_int = 2; pub const LIO_NOWAIT: ::c_int = 1; pub const WEXITED: ::c_int = 0x00000004; pub const WSTOPPED: ::c_int = 0x00000008; pub const WCONTINUED: ::c_int = 0x00000010; pub const WNOWAIT: ::c_int = 0x00000020; pub const P_ALL: idtype_t = 0; pub const P_PID: idtype_t = 1; pub const P_PGID: idtype_t = 2; pub const UTIME_OMIT: c_long = -2; pub const UTIME_NOW: c_long = -1; pub const XATTR_NOFOLLOW: ::c_int = 0x0001; pub const XATTR_CREATE: ::c_int = 0x0002; pub const XATTR_REPLACE: ::c_int = 0x0004; pub const XATTR_NOSECURITY: ::c_int = 0x0008; pub const XATTR_NODEFAULT: ::c_int = 0x0010; pub const XATTR_SHOWCOMPRESSION: ::c_int = 0x0020; pub const NET_RT_IFLIST2: ::c_int = 0x0006; // net/route.h pub const RTF_UP: ::c_int = 0x1; pub const RTF_GATEWAY: ::c_int = 0x2; pub const RTF_HOST: ::c_int = 0x4; pub const RTF_REJECT: ::c_int = 0x8; pub const RTF_DYNAMIC: ::c_int = 0x10; pub const RTF_MODIFIED: ::c_int = 0x20; pub const RTF_DONE: ::c_int = 0x40; pub const RTF_DELCLONE: ::c_int = 0x80; pub const RTF_CLONING: ::c_int = 0x100; pub const RTF_XRESOLVE: ::c_int = 0x200; pub const RTF_LLINFO: ::c_int = 0x400; pub const RTF_STATIC: ::c_int = 0x800; pub const RTF_BLACKHOLE: ::c_int = 0x1000; pub const RTF_NOIFREF: ::c_int = 0x2000; pub const RTF_PROTO2: ::c_int = 0x4000; pub const RTF_PROTO1: ::c_int = 0x8000; pub const RTF_PRCLONING: ::c_int = 0x10000; pub const RTF_WASCLONED: ::c_int = 0x20000; pub const RTF_PROTO3: ::c_int = 0x40000; pub const RTF_PINNED: ::c_int = 0x100000; pub const RTF_LOCAL: ::c_int = 0x200000; pub const RTF_BROADCAST: ::c_int = 0x400000; pub const RTF_MULTICAST: ::c_int = 0x800000; pub const RTF_IFSCOPE: ::c_int = 0x1000000; 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 RTM_VERSION: ::c_int = 5; // Message types pub const RTM_ADD: ::c_int = 0x1; pub const RTM_DELETE: ::c_int = 0x2; pub const RTM_CHANGE: ::c_int = 0x3; pub const RTM_GET: ::c_int = 0x4; pub const RTM_LOSING: ::c_int = 0x5; pub const RTM_REDIRECT: ::c_int = 0x6; pub const RTM_MISS: ::c_int = 0x7; pub const RTM_LOCK: ::c_int = 0x8; pub const RTM_OLDADD: ::c_int = 0x9; pub const RTM_OLDDEL: ::c_int = 0xa; pub const RTM_RESOLVE: ::c_int = 0xb; pub const RTM_NEWADDR: ::c_int = 0xc; pub const RTM_DELADDR: ::c_int = 0xd; pub const RTM_IFINFO: ::c_int = 0xe; pub const RTM_NEWMADDR: ::c_int = 0xf; pub const RTM_DELMADDR: ::c_int = 0x10; pub const RTM_IFINFO2: ::c_int = 0x12; pub const RTM_NEWMADDR2: ::c_int = 0x13; pub const RTM_GET2: ::c_int = 0x14; // Bitmask values for rtm_inits and rmx_locks. pub const RTV_MTU: ::c_int = 0x1; pub const RTV_HOPCOUNT: ::c_int = 0x2; pub const RTV_EXPIRE: ::c_int = 0x4; pub const RTV_RPIPE: ::c_int = 0x8; pub const RTV_SPIPE: ::c_int = 0x10; pub const RTV_SSTHRESH: ::c_int = 0x20; pub const RTV_RTT: ::c_int = 0x40; pub const RTV_RTTVAR: ::c_int = 0x80; // Bitmask values for rtm_addrs. pub const RTA_DST: ::c_int = 0x1; pub const RTA_GATEWAY: ::c_int = 0x2; pub const RTA_NETMASK: ::c_int = 0x4; pub const RTA_GENMASK: ::c_int = 0x8; pub const RTA_IFP: ::c_int = 0x10; pub const RTA_IFA: ::c_int = 0x20; pub const RTA_AUTHOR: ::c_int = 0x40; pub const RTA_BRD: ::c_int = 0x80; // Index offsets for sockaddr array for alternate internal encoding. pub const RTAX_DST: ::c_int = 0; pub const RTAX_GATEWAY: ::c_int = 1; pub const RTAX_NETMASK: ::c_int = 2; pub const RTAX_GENMASK: ::c_int = 3; pub const RTAX_IFP: ::c_int = 4; pub const RTAX_IFA: ::c_int = 5; pub const RTAX_AUTHOR: ::c_int = 6; pub const RTAX_BRD: ::c_int = 7; pub const RTAX_MAX: ::c_int = 8; pub const KERN_PROCARGS2: ::c_int = 49; pub const PROC_PIDTASKALLINFO: ::c_int = 2; pub const PROC_PIDTASKINFO: ::c_int = 4; pub const PROC_PIDTHREADINFO: ::c_int = 5; pub const MAXCOMLEN: usize = 16; pub const MAXTHREADNAMESIZE: usize = 64; pub const XUCRED_VERSION: ::c_uint = 0; pub const LC_SEGMENT: u32 = 0x1; pub const LC_SEGMENT_64: u32 = 0x19; pub const MH_MAGIC: u32 = 0xfeedface; pub const MH_MAGIC_64: u32 = 0xfeedfacf; // net/if_utun.h pub const UTUN_OPT_FLAGS: ::c_int = 1; pub const UTUN_OPT_IFNAME: ::c_int = 2; // net/bpf.h pub const DLT_NULL: ::c_uint = 0; // no link-layer encapsulation pub const DLT_EN10MB: ::c_uint = 1; // Ethernet (10Mb) pub const DLT_EN3MB: ::c_uint = 2; // Experimental Ethernet (3Mb) pub const DLT_AX25: ::c_uint = 3; // Amateur Radio AX.25 pub const DLT_PRONET: ::c_uint = 4; // Proteon ProNET Token Ring pub const DLT_CHAOS: ::c_uint = 5; // Chaos pub const DLT_IEEE802: ::c_uint = 6; // IEEE 802 Networks pub const DLT_ARCNET: ::c_uint = 7; // ARCNET pub const DLT_SLIP: ::c_uint = 8; // Serial Line IP pub const DLT_PPP: ::c_uint = 9; // Point-to-point Protocol pub const DLT_FDDI: ::c_uint = 10; // FDDI pub const DLT_ATM_RFC1483: ::c_uint = 11; // LLC/SNAP encapsulated atm pub const DLT_RAW: ::c_uint = 12; // raw IP pub const DLT_LOOP: ::c_uint = 108; // https://github.com/apple/darwin-xnu/blob/master/bsd/net/bpf.h#L100 // sizeof(i32) pub const BPF_ALIGNMENT: ::c_int = 4; // sys/spawn.h: pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x01; pub const POSIX_SPAWN_SETPGROUP: ::c_int = 0x02; pub const POSIX_SPAWN_SETSIGDEF: ::c_int = 0x04; pub const POSIX_SPAWN_SETSIGMASK: ::c_int = 0x08; pub const POSIX_SPAWN_SETEXEC: ::c_int = 0x40; pub const POSIX_SPAWN_START_SUSPENDED: ::c_int = 0x80; pub const POSIX_SPAWN_CLOEXEC_DEFAULT: ::c_int = 0x4000; // sys/ipc.h: pub const IPC_CREAT: ::c_int = 0x200; pub const IPC_EXCL: ::c_int = 0x400; pub const IPC_NOWAIT: ::c_int = 0x800; pub const IPC_PRIVATE: key_t = 0; 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 = 0x100; pub const IPC_W: ::c_int = 0x80; pub const IPC_M: ::c_int = 0x1000; // sys/sem.h pub const SEM_UNDO: ::c_int = 0o10000; pub const GETNCNT: ::c_int = 3; pub const GETPID: ::c_int = 4; pub const GETVAL: ::c_int = 5; pub const GETALL: ::c_int = 6; pub const GETZCNT: ::c_int = 7; pub const SETVAL: ::c_int = 8; pub const SETALL: ::c_int = 9; // sys/shm.h pub const SHM_RDONLY: ::c_int = 0x1000; pub const SHM_RND: ::c_int = 0x2000; pub const SHMLBA: ::c_int = 4096; pub const SHM_R: ::c_int = IPC_R; pub const SHM_W: ::c_int = IPC_W; // Flags for chflags(2) pub const UF_SETTABLE: ::c_uint = 0x0000ffff; pub const UF_NODUMP: ::c_uint = 0x00000001; pub const UF_IMMUTABLE: ::c_uint = 0x00000002; pub const UF_APPEND: ::c_uint = 0x00000004; pub const UF_OPAQUE: ::c_uint = 0x00000008; pub const UF_COMPRESSED: ::c_uint = 0x00000020; pub const UF_TRACKED: ::c_uint = 0x00000040; pub const SF_SETTABLE: ::c_uint = 0xffff0000; pub const SF_ARCHIVED: ::c_uint = 0x00010000; pub const SF_IMMUTABLE: ::c_uint = 0x00020000; pub const SF_APPEND: ::c_uint = 0x00040000; pub const UF_HIDDEN: ::c_uint = 0x00008000; cfg_if! { if #[cfg(libc_const_size_of)] { fn __DARWIN_ALIGN32(p: usize) -> usize { const __DARWIN_ALIGNBYTES32: usize = ::mem::size_of::() - 1; p + __DARWIN_ALIGNBYTES32 & !__DARWIN_ALIGNBYTES32 } } else { fn __DARWIN_ALIGN32(p: usize) -> usize { let __DARWIN_ALIGNBYTES32: usize = ::mem::size_of::() - 1; p + __DARWIN_ALIGNBYTES32 & !__DARWIN_ALIGNBYTES32 } } } f! { pub fn CMSG_NXTHDR(mhdr: *const ::msghdr, cmsg: *const ::cmsghdr) -> *mut ::cmsghdr { if cmsg.is_null() { return ::CMSG_FIRSTHDR(mhdr); }; let cmsg_len = (*cmsg).cmsg_len as usize; let next = cmsg as usize + __DARWIN_ALIGN32(cmsg_len as usize); let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if next + __DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) > max { 0 as *mut ::cmsghdr } else { next as *mut ::cmsghdr } } pub fn CMSG_DATA(cmsg: *const ::cmsghdr) -> *mut ::c_uchar { (cmsg as *mut ::c_uchar) .offset(__DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) as isize) } pub fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { (__DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) + __DARWIN_ALIGN32(length as usize)) as ::c_uint } pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { (__DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) + length as usize) as ::c_uint } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { status >> 8 } pub fn _WSTATUS(status: ::c_int) -> ::c_int { status & 0x7f } pub fn WIFCONTINUED(status: ::c_int) -> bool { _WSTATUS(status) == _WSTOPPED && WSTOPSIG(status) == 0x13 } pub fn WIFSIGNALED(status: ::c_int) -> bool { _WSTATUS(status) != _WSTOPPED && _WSTATUS(status) != 0 } pub fn WIFSTOPPED(status: ::c_int) -> bool { _WSTATUS(status) == _WSTOPPED && WSTOPSIG(status) != 0x13 } } extern "C" { pub fn setgrent(); #[doc(hidden)] #[deprecated(since = "0.2.49", note = "Deprecated in MacOSX 10.5")] #[link_name = "daemon$1050"] pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; #[doc(hidden)] #[deprecated(since = "0.2.49", note = "Deprecated in MacOSX 10.10")] pub fn sem_destroy(sem: *mut sem_t) -> ::c_int; #[doc(hidden)] #[deprecated(since = "0.2.49", note = "Deprecated in MacOSX 10.10")] pub fn sem_init( sem: *mut sem_t, pshared: ::c_int, value: ::c_uint, ) -> ::c_int; pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int; pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int; pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int; pub fn aio_error(aiocbp: *const aiocb) -> ::c_int; pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "aio_suspend$UNIX2003" )] pub fn aio_suspend( aiocb_list: *const *const aiocb, nitems: ::c_int, timeout: *const ::timespec, ) -> ::c_int; pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int; pub fn chflags(path: *const ::c_char, flags: ::c_uint) -> ::c_int; pub fn fchflags(fd: ::c_int, flags: ::c_uint) -> ::c_int; pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn lio_listio( mode: ::c_int, aiocb_list: *const *mut aiocb, nitems: ::c_int, sevp: *mut sigevent, ) -> ::c_int; pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int; pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::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 utmpxname(file: *const ::c_char) -> ::c_int; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::socklen_t, serv: *mut ::c_char, sevlen: ::socklen_t, flags: ::c_int, ) -> ::c_int; pub fn mincore( addr: *const ::c_void, len: ::size_t, vec: *mut ::c_char, ) -> ::c_int; pub fn sysctlnametomib( name: *const ::c_char, mibp: *mut ::c_int, sizep: *mut ::size_t, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "mprotect$UNIX2003" )] pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn semget(key: key_t, nsems: ::c_int, semflg: ::c_int) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "semctl$UNIX2003" )] 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 shm_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::c_int; pub fn ftok(pathname: *const c_char, proj_id: ::c_int) -> key_t; 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; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "shmctl$UNIX2003" )] pub fn shmctl( shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds, ) -> ::c_int; pub fn shmget(key: key_t, size: ::size_t, shmflg: ::c_int) -> ::c_int; pub fn sysctl( name: *mut ::c_int, namelen: ::c_uint, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; pub fn sysctlbyname( name: *const ::c_char, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; #[deprecated(since = "0.2.55", note = "Use the mach crate")] pub fn mach_absolute_time() -> u64; #[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 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_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; pub fn pthread_condattr_getpshared( attr: *const pthread_condattr_t, pshared: *mut ::c_int, ) -> ::c_int; pub fn pthread_mutexattr_setpshared( attr: *mut pthread_mutexattr_t, pshared: ::c_int, ) -> ::c_int; pub fn pthread_mutexattr_getpshared( attr: *const pthread_mutexattr_t, pshared: *mut ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_getpshared( attr: *const pthread_rwlockattr_t, val: *mut ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_setpshared( attr: *mut pthread_rwlockattr_t, val: ::c_int, ) -> ::c_int; pub fn __error() -> *mut ::c_int; pub fn backtrace(buf: *mut *mut ::c_void, sz: ::c_int) -> ::c_int; #[cfg_attr(target_os = "macos", link_name = "statfs$INODE64")] pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int; #[cfg_attr(target_os = "macos", link_name = "fstatfs$INODE64")] pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int; pub fn kevent( kq: ::c_int, changelist: *const ::kevent, nchanges: ::c_int, eventlist: *mut ::kevent, nevents: ::c_int, timeout: *const ::timespec, ) -> ::c_int; pub fn kevent64( kq: ::c_int, changelist: *const ::kevent64_s, nchanges: ::c_int, eventlist: *mut ::kevent64_s, nevents: ::c_int, flags: ::c_uint, timeout: *const ::timespec, ) -> ::c_int; pub fn mount( src: *const ::c_char, target: *const ::c_char, 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, cmd: ::c_int, id: ::c_int, data: *mut ::c_char, ) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::c_int) -> ::c_int; pub fn sendfile( fd: ::c_int, s: ::c_int, offset: ::off_t, len: *mut ::off_t, hdtr: *mut ::sf_hdtr, flags: ::c_int, ) -> ::c_int; pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int; pub fn utimensat( dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int, ) -> ::c_int; pub fn openpty( amaster: *mut ::c_int, aslave: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize, ) -> ::c_int; pub fn forkpty( amaster: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize, ) -> ::pid_t; pub fn login_tty(fd: ::c_int) -> ::c_int; pub fn duplocale(base: ::locale_t) -> ::locale_t; pub fn freelocale(loc: ::locale_t) -> ::c_int; pub fn localeconv_l(loc: ::locale_t) -> *mut lconv; 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 querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char; 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 getdomainname(name: *mut ::c_char, len: ::c_int) -> ::c_int; pub fn setdomainname(name: *const ::c_char, len: ::c_int) -> ::c_int; pub fn getxattr( path: *const ::c_char, name: *const ::c_char, value: *mut ::c_void, size: ::size_t, position: u32, flags: ::c_int, ) -> ::ssize_t; pub fn fgetxattr( filedes: ::c_int, name: *const ::c_char, value: *mut ::c_void, size: ::size_t, position: u32, flags: ::c_int, ) -> ::ssize_t; pub fn setxattr( path: *const ::c_char, name: *const ::c_char, value: *const ::c_void, size: ::size_t, position: u32, flags: ::c_int, ) -> ::c_int; pub fn fsetxattr( filedes: ::c_int, name: *const ::c_char, value: *const ::c_void, size: ::size_t, position: u32, flags: ::c_int, ) -> ::c_int; pub fn listxattr( path: *const ::c_char, list: *mut ::c_char, size: ::size_t, flags: ::c_int, ) -> ::ssize_t; pub fn flistxattr( filedes: ::c_int, list: *mut ::c_char, size: ::size_t, flags: ::c_int, ) -> ::ssize_t; pub fn removexattr( path: *const ::c_char, name: *const ::c_char, flags: ::c_int, ) -> ::c_int; pub fn renamex_np( from: *const ::c_char, to: *const ::c_char, flags: ::c_uint, ) -> ::c_int; pub fn renameatx_np( fromfd: ::c_int, from: *const ::c_char, tofd: ::c_int, to: *const ::c_char, flags: ::c_uint, ) -> ::c_int; pub fn fremovexattr( filedes: ::c_int, name: *const ::c_char, flags: ::c_int, ) -> ::c_int; pub fn getgrouplist( name: *const ::c_char, basegid: ::c_int, groups: *mut ::c_int, ngroups: *mut ::c_int, ) -> ::c_int; pub fn initgroups(user: *const ::c_char, basegroup: ::c_int) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "waitid$UNIX2003" )] pub fn waitid( idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int, ) -> ::c_int; 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 mach crate")] pub fn _dyld_image_count() -> u32; #[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 mach crate")] pub fn _dyld_get_image_vmaddr_slide(image_index: u32) -> ::intptr_t; #[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( 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_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; pub fn uname(buf: *mut ::utsname) -> ::c_int; } cfg_if! { if #[cfg(any(target_arch = "arm", target_arch = "x86"))] { mod b32; pub use self::b32::*; } else if #[cfg(any(target_arch = "x86_64", target_arch = "aarch64"))] { mod b64; pub use self::b64::*; } else { // Unknown target_arch } } libc-0.2.66/src/unix/bsd/freebsdlike/dragonfly/errno.rs010064400007650000024000000004521353775267200212400ustar0000000000000000// DragonFlyBSD's __error function is declared with "static inline", so it must // be implemented in the libc crate, as a pointer to a static thread_local. f! { pub fn __error() -> *mut ::c_int { &mut errno } } extern "C" { #[thread_local] pub static mut errno: ::c_int; } libc-0.2.66/src/unix/bsd/freebsdlike/dragonfly/mod.rs010064400007650000024000001113761353775267200207020ustar0000000000000000pub type dev_t = u32; pub type c_char = i8; pub type clock_t = u64; pub type ino_t = u64; pub type lwpid_t = i32; pub type nlink_t = u32; pub type blksize_t = i64; pub type clockid_t = ::c_ulong; pub type c_long = i64; pub type c_ulong = u64; pub type time_t = i64; pub type suseconds_t = i64; pub type uuid_t = ::uuid; pub type fsblkcnt_t = u64; pub type fsfilcnt_t = u64; pub type mqd_t = ::c_int; pub type sem_t = *mut sem; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum sem {} impl ::Copy for sem {} impl ::Clone for sem { fn clone(&self) -> sem { *self } } s! { 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 struct exit_status { pub e_termination: u16, pub e_exit: u16 } pub struct aiocb { pub aio_fildes: ::c_int, pub aio_offset: ::off_t, pub aio_buf: *mut ::c_void, pub aio_nbytes: ::size_t, pub aio_sigevent: sigevent, pub aio_lio_opcode: ::c_int, pub aio_reqprio: ::c_int, _aio_val: ::c_int, _aio_err: ::c_int } 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; 6], } pub struct mq_attr { pub mq_flags: ::c_long, pub mq_maxmsg: ::c_long, pub mq_msgsize: ::c_long, pub mq_curmsgs: ::c_long, } 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_owner: ::uid_t, pub f_type: ::c_uint, pub f_syncreads: u64, pub f_syncwrites: u64, pub f_asyncreads: u64, pub f_asyncwrites: u64, pub f_fsid_uuid: ::uuid_t, pub f_uid_uuid: ::uuid_t, } pub struct stat { pub st_ino: ::ino_t, pub st_nlink: ::nlink_t, pub st_dev: ::dev_t, pub st_mode: ::mode_t, pub st_padding1: u16, 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: i64, pub st_blksize: u32, pub st_flags: u32, pub st_gen: u32, pub st_lspare: i32, pub st_qspare1: i64, pub st_qspare2: i64, } pub struct if_data { pub ifi_type: ::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_mtu: ::c_ulong, pub ifi_metric: ::c_ulong, pub ifi_link_state: ::c_ulong, pub ifi_baudrate: u64, pub ifi_ipackets: ::c_ulong, pub ifi_ierrors: ::c_ulong, pub ifi_opackets: ::c_ulong, pub ifi_oerrors: ::c_ulong, pub ifi_collisions: ::c_ulong, pub ifi_ibytes: ::c_ulong, pub ifi_obytes: ::c_ulong, pub ifi_imcasts: ::c_ulong, pub ifi_omcasts: ::c_ulong, pub ifi_iqdrops: ::c_ulong, pub ifi_noproto: ::c_ulong, pub ifi_hwassist: ::c_ulong, pub ifi_oqdrops: ::c_ulong, pub ifi_lastchange: ::timeval, } pub struct if_msghdr { 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_data: if_data, } pub struct sockaddr_dl { pub sdl_len: ::c_uchar, pub sdl_family: ::c_uchar, pub sdl_index: ::c_ushort, pub sdl_type: ::c_uchar, pub sdl_nlen: ::c_uchar, pub sdl_alen: ::c_uchar, pub sdl_slen: ::c_uchar, pub sdl_data: [::c_char; 12], pub sdl_rcf: ::c_ushort, pub sdl_route: [::c_ushort; 16], } pub struct stack_t { pub ss_sp: *mut ::c_char, pub ss_size: ::size_t, pub ss_flags: ::c_int, } } s_no_extra_traits! { pub struct utmpx { pub ut_name: [::c_char; 32], pub ut_id: [::c_char; 4], pub ut_line: [::c_char; 32], pub ut_host: [::c_char; 256], pub ut_unused: [u8; 16], pub ut_session: u16, pub ut_type: u16, pub ut_pid: ::pid_t, ut_exit: exit_status, ut_ss: ::sockaddr_storage, pub ut_tv: ::timeval, pub ut_unused2: [u8; 16], } pub struct dirent { pub d_fileno: ::ino_t, pub d_namlen: u16, pub d_type: u8, __unused1: u8, __unused2: u32, pub d_name: [::c_char; 256], } pub struct statfs { pub f_bsize: ::c_long, pub f_iosize: ::c_long, pub f_blocks: ::c_long, pub f_bfree: ::c_long, pub f_bavail: ::c_long, pub f_files: ::c_long, pub f_ffree: ::c_long, pub f_fsid: ::fsid_t, pub f_owner: ::uid_t, 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; 90], pub f_syncreads: ::c_long, pub f_asyncreads: ::c_long, pub f_mntfromname: [::c_char; 90], } pub struct sigevent { pub sigev_notify: ::c_int, // The union is 8-byte in size, so it is aligned at a 8-byte offset. #[cfg(target_pointer_width = "64")] __unused1: ::c_int, pub sigev_signo: ::c_int, //actually a union // pad the union #[cfg(target_pointer_width = "64")] __unused2: ::c_int, pub sigev_value: ::sigval, __unused3: *mut ::c_void //actually a function pointer } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for utmpx { fn eq(&self, other: &utmpx) -> bool { self.ut_name == other.ut_name && self.ut_id == other.ut_id && self.ut_line == other.ut_line && self .ut_host .iter() .zip(other.ut_host.iter()) .all(|(a,b)| a == b) && self.ut_unused == other.ut_unused && self.ut_session == other.ut_session && self.ut_type == other.ut_type && self.ut_pid == other.ut_pid && self.ut_exit == other.ut_exit && self.ut_ss == other.ut_ss && self.ut_tv == other.ut_tv && self.ut_unused2 == other.ut_unused2 } } impl Eq for utmpx {} impl ::fmt::Debug for utmpx { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utmpx") .field("ut_name", &self.ut_name) .field("ut_id", &self.ut_id) .field("ut_line", &self.ut_line) // FIXME: .field("ut_host", &self.ut_host) .field("ut_unused", &self.ut_unused) .field("ut_session", &self.ut_session) .field("ut_type", &self.ut_type) .field("ut_pid", &self.ut_pid) .field("ut_exit", &self.ut_exit) .field("ut_ss", &self.ut_ss) .field("ut_tv", &self.ut_tv) .field("ut_unused2", &self.ut_unused2) .finish() } } impl ::hash::Hash for utmpx { fn hash(&self, state: &mut H) { self.ut_name.hash(state); self.ut_id.hash(state); self.ut_line.hash(state); self.ut_host.hash(state); self.ut_unused.hash(state); self.ut_session.hash(state); self.ut_type.hash(state); self.ut_pid.hash(state); self.ut_exit.hash(state); self.ut_ss.hash(state); self.ut_tv.hash(state); self.ut_unused2.hash(state); } } impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_fileno == other.d_fileno && self.d_namlen == other.d_namlen && self.d_type == other.d_type // Ignore __unused1 // Ignore __unused2 && self .d_name .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_namlen", &self.d_namlen) .field("d_type", &self.d_type) // Ignore __unused1 // Ignore __unused2 // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_fileno.hash(state); self.d_namlen.hash(state); self.d_type.hash(state); // Ignore __unused1 // Ignore __unused2 self.d_name.hash(state); } } impl PartialEq for statfs { fn eq(&self, other: &statfs) -> bool { 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_fsid == other.f_fsid && self.f_owner == other.f_owner && self.f_type == other.f_type && self.f_flags == other.f_flags && self.f_syncwrites == other.f_syncwrites && self.f_asyncwrites == other.f_asyncwrites && self.f_fstypename == other.f_fstypename && self .f_mntonname .iter() .zip(other.f_mntonname.iter()) .all(|(a,b)| a == b) && self.f_syncreads == other.f_syncreads && self.f_asyncreads == other.f_asyncreads && self .f_mntfromname .iter() .zip(other.f_mntfromname.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_fsid", &self.f_fsid) .field("f_owner", &self.f_owner) .field("f_type", &self.f_type) .field("f_flags", &self.f_flags) .field("f_syncwrites", &self.f_syncwrites) .field("f_asyncwrites", &self.f_asyncwrites) // FIXME: .field("f_mntonname", &self.f_mntonname) .field("f_syncreads", &self.f_syncreads) .field("f_asyncreads", &self.f_asyncreads) // FIXME: .field("f_mntfromname", &self.f_mntfromname) .finish() } } impl ::hash::Hash for statfs { fn hash(&self, state: &mut H) { 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_fsid.hash(state); self.f_owner.hash(state); self.f_type.hash(state); self.f_flags.hash(state); self.f_syncwrites.hash(state); self.f_asyncwrites.hash(state); self.f_fstypename.hash(state); self.f_mntonname.hash(state); self.f_syncreads.hash(state); self.f_asyncreads.hash(state); self.f_mntfromname.hash(state); } } impl PartialEq for sigevent { fn eq(&self, other: &sigevent) -> bool { self.sigev_notify == other.sigev_notify && self.sigev_signo == other.sigev_signo && self.sigev_value == other.sigev_value } } impl Eq for sigevent {} impl ::fmt::Debug for sigevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigevent") .field("sigev_notify", &self.sigev_notify) .field("sigev_signo", &self.sigev_signo) .field("sigev_value", &self.sigev_value) .finish() } } impl ::hash::Hash for sigevent { fn hash(&self, state: &mut H) { self.sigev_notify.hash(state); self.sigev_signo.hash(state); self.sigev_value.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 MADV_INVAL: ::c_int = 10; pub const MADV_SETMAP: ::c_int = 11; pub const O_CLOEXEC: ::c_int = 0x00020000; 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 ENOMEDIUM: ::c_int = 93; pub const EASYNC: ::c_int = 99; pub const ELAST: ::c_int = 99; pub const RLIMIT_POSIXLOCKS: ::c_int = 11; #[deprecated(since = "0.2.64", note = "Not stable across OS versions")] pub const RLIM_NLIMITS: ::rlim_t = 12; pub const Q_GETQUOTA: ::c_int = 0x300; pub const Q_SETQUOTA: ::c_int = 0x400; pub const CLOCK_REALTIME: ::clockid_t = 0; pub const CLOCK_VIRTUAL: ::clockid_t = 1; pub const CLOCK_PROF: ::clockid_t = 2; pub const CLOCK_MONOTONIC: ::clockid_t = 4; pub const CLOCK_UPTIME: ::clockid_t = 5; pub const CLOCK_UPTIME_PRECISE: ::clockid_t = 7; pub const CLOCK_UPTIME_FAST: ::clockid_t = 8; pub const CLOCK_REALTIME_PRECISE: ::clockid_t = 9; pub const CLOCK_REALTIME_FAST: ::clockid_t = 10; pub const CLOCK_MONOTONIC_PRECISE: ::clockid_t = 11; pub const CLOCK_MONOTONIC_FAST: ::clockid_t = 12; pub const CLOCK_SECOND: ::clockid_t = 13; pub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 14; pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 15; pub const CTL_UNSPEC: ::c_int = 0; pub const CTL_KERN: ::c_int = 1; pub const CTL_VM: ::c_int = 2; pub const CTL_VFS: ::c_int = 3; pub const CTL_NET: ::c_int = 4; pub const CTL_DEBUG: ::c_int = 5; 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; pub const CTL_LWKT: ::c_int = 10; pub const CTL_MAXID: ::c_int = 11; pub const KERN_OSTYPE: ::c_int = 1; pub const KERN_OSRELEASE: ::c_int = 2; pub const KERN_OSREV: ::c_int = 3; pub const KERN_VERSION: ::c_int = 4; pub const KERN_MAXVNODES: ::c_int = 5; pub const KERN_MAXPROC: ::c_int = 6; pub const KERN_MAXFILES: ::c_int = 7; pub const KERN_ARGMAX: ::c_int = 8; pub const KERN_SECURELVL: ::c_int = 9; pub const KERN_HOSTNAME: ::c_int = 10; pub const KERN_HOSTID: ::c_int = 11; pub const KERN_CLOCKRATE: ::c_int = 12; pub const KERN_VNODE: ::c_int = 13; pub const KERN_PROC: ::c_int = 14; pub const KERN_FILE: ::c_int = 15; pub const KERN_PROF: ::c_int = 16; pub const KERN_POSIX1: ::c_int = 17; pub const KERN_NGROUPS: ::c_int = 18; pub const KERN_JOB_CONTROL: ::c_int = 19; pub const KERN_SAVED_IDS: ::c_int = 20; pub const KERN_BOOTTIME: ::c_int = 21; pub const KERN_NISDOMAINNAME: ::c_int = 22; pub const KERN_UPDATEINTERVAL: ::c_int = 23; pub const KERN_OSRELDATE: ::c_int = 24; pub const KERN_NTP_PLL: ::c_int = 25; pub const KERN_BOOTFILE: ::c_int = 26; pub const KERN_MAXFILESPERPROC: ::c_int = 27; pub const KERN_MAXPROCPERUID: ::c_int = 28; pub const KERN_DUMPDEV: ::c_int = 29; pub const KERN_IPC: ::c_int = 30; pub const KERN_DUMMY: ::c_int = 31; pub const KERN_PS_STRINGS: ::c_int = 32; pub const KERN_USRSTACK: ::c_int = 33; pub const KERN_LOGSIGEXIT: ::c_int = 34; pub const KERN_IOV_MAX: ::c_int = 35; pub const KERN_MAXPOSIXLOCKSPERUID: ::c_int = 36; pub const KERN_MAXID: ::c_int = 37; pub const KERN_PROC_ALL: ::c_int = 0; pub const KERN_PROC_PID: ::c_int = 1; pub const KERN_PROC_PGRP: ::c_int = 2; pub const KERN_PROC_SESSION: ::c_int = 3; 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_ARGS: ::c_int = 7; pub const KERN_PROC_CWD: ::c_int = 8; pub const KERN_PROC_PATHNAME: ::c_int = 9; pub const KERN_PROC_FLAGMASK: ::c_int = 0x10; pub const KERN_PROC_FLAG_LWP: ::c_int = 0x10; pub const KIPC_MAXSOCKBUF: ::c_int = 1; pub const KIPC_SOCKBUF_WASTE: ::c_int = 2; pub const KIPC_SOMAXCONN: ::c_int = 3; 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 KIPC_MBSTAT: ::c_int = 8; pub const KIPC_NMBCLUSTERS: ::c_int = 9; pub const HW_MACHINE: ::c_int = 1; pub const HW_MODEL: ::c_int = 2; pub const HW_NCPU: ::c_int = 3; pub const HW_BYTEORDER: ::c_int = 4; pub const HW_PHYSMEM: ::c_int = 5; pub const HW_USERMEM: ::c_int = 6; pub const HW_PAGESIZE: ::c_int = 7; pub const HW_DISKNAMES: ::c_int = 8; 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_MACHINE_PLATFORM: ::c_int = 12; pub const HW_SENSORS: ::c_int = 13; pub const HW_MAXID: ::c_int = 14; 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; pub const USER_BC_SCALE_MAX: ::c_int = 4; pub const USER_BC_STRING_MAX: ::c_int = 5; pub const USER_COLL_WEIGHTS_MAX: ::c_int = 6; pub const USER_EXPR_NEST_MAX: ::c_int = 7; pub const USER_LINE_MAX: ::c_int = 8; pub const USER_RE_DUP_MAX: ::c_int = 9; pub const USER_POSIX2_VERSION: ::c_int = 10; pub const USER_POSIX2_C_BIND: ::c_int = 11; pub const USER_POSIX2_C_DEV: ::c_int = 12; pub const USER_POSIX2_CHAR_TERM: ::c_int = 13; pub const USER_POSIX2_FORT_DEV: ::c_int = 14; pub const USER_POSIX2_FORT_RUN: ::c_int = 15; pub const USER_POSIX2_LOCALEDEF: ::c_int = 16; 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_MAXID: ::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; pub const CTL_P1003_1B_MEMLOCK_RANGE: ::c_int = 4; pub const CTL_P1003_1B_MEMORY_PROTECTION: ::c_int = 5; pub const CTL_P1003_1B_MESSAGE_PASSING: ::c_int = 6; pub const CTL_P1003_1B_PRIORITIZED_IO: ::c_int = 7; pub const CTL_P1003_1B_PRIORITY_SCHEDULING: ::c_int = 8; pub const CTL_P1003_1B_REALTIME_SIGNALS: ::c_int = 9; pub const CTL_P1003_1B_SEMAPHORES: ::c_int = 10; pub const CTL_P1003_1B_FSYNC: ::c_int = 11; pub const CTL_P1003_1B_SHARED_MEMORY_OBJECTS: ::c_int = 12; pub const CTL_P1003_1B_SYNCHRONIZED_IO: ::c_int = 13; pub const CTL_P1003_1B_TIMERS: ::c_int = 14; pub const CTL_P1003_1B_AIO_LISTIO_MAX: ::c_int = 15; pub const CTL_P1003_1B_AIO_MAX: ::c_int = 16; pub const CTL_P1003_1B_AIO_PRIO_DELTA_MAX: ::c_int = 17; pub const CTL_P1003_1B_DELAYTIMER_MAX: ::c_int = 18; pub const CTL_P1003_1B_UNUSED1: ::c_int = 19; pub const CTL_P1003_1B_PAGESIZE: ::c_int = 20; pub const CTL_P1003_1B_RTSIG_MAX: ::c_int = 21; 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 CTL_P1003_1B_MAXID: ::c_int = 26; pub const EVFILT_READ: i16 = -1; pub const EVFILT_WRITE: i16 = -2; pub const EVFILT_AIO: i16 = -3; pub const EVFILT_VNODE: i16 = -4; pub const EVFILT_PROC: i16 = -5; pub const EVFILT_SIGNAL: i16 = -6; pub const EVFILT_TIMER: i16 = -7; pub const EVFILT_EXCEPT: i16 = -8; pub const EVFILT_USER: i16 = -9; pub const EVFILT_FS: i16 = -10; pub const EV_ADD: u16 = 0x1; pub const EV_DELETE: u16 = 0x2; pub const EV_ENABLE: u16 = 0x4; pub const EV_DISABLE: u16 = 0x8; pub const EV_ONESHOT: u16 = 0x10; pub const EV_CLEAR: u16 = 0x20; pub const EV_RECEIPT: u16 = 0x40; pub const EV_DISPATCH: u16 = 0x80; pub const EV_NODATA: u16 = 0x1000; pub const EV_FLAG1: u16 = 0x2000; pub const EV_ERROR: u16 = 0x4000; pub const EV_EOF: u16 = 0x8000; pub const EV_SYSFLAGS: u16 = 0xf000; pub const NOTE_TRIGGER: u32 = 0x01000000; pub const NOTE_FFNOP: u32 = 0x00000000; pub const NOTE_FFAND: u32 = 0x40000000; pub const NOTE_FFOR: u32 = 0x80000000; pub const NOTE_FFCOPY: u32 = 0xc0000000; pub const NOTE_FFCTRLMASK: u32 = 0xc0000000; pub const NOTE_FFLAGSMASK: u32 = 0x00ffffff; pub const NOTE_LOWAT: u32 = 0x00000001; pub const NOTE_OOB: u32 = 0x00000002; pub const NOTE_DELETE: u32 = 0x00000001; pub const NOTE_WRITE: u32 = 0x00000002; pub const NOTE_EXTEND: u32 = 0x00000004; pub const NOTE_ATTRIB: u32 = 0x00000008; pub const NOTE_LINK: u32 = 0x00000010; pub const NOTE_RENAME: u32 = 0x00000020; pub const NOTE_REVOKE: u32 = 0x00000040; pub const NOTE_EXIT: u32 = 0x80000000; pub const NOTE_FORK: u32 = 0x40000000; pub const NOTE_EXEC: u32 = 0x20000000; pub const NOTE_PDATAMASK: u32 = 0x000fffff; pub const NOTE_PCTRLMASK: u32 = 0xf0000000; pub const NOTE_TRACK: u32 = 0x00000001; pub const NOTE_TRACKERR: u32 = 0x00000002; pub const NOTE_CHILD: u32 = 0x00000004; pub const SO_SNDSPACE: ::c_int = 0x100a; pub const SO_CPUHINT: ::c_int = 0x1030; pub const PT_FIRSTMACH: ::c_int = 32; // 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 pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging pub const IFF_LOOPBACK: ::c_int = 0x8; // is a loopback net pub const IFF_POINTOPOINT: ::c_int = 0x10; // interface is point-to-point link pub const IFF_SMART: ::c_int = 0x20; // interface manages own routes pub const IFF_RUNNING: ::c_int = 0x40; // resources allocated pub const IFF_NOARP: ::c_int = 0x80; // no address resolution protocol pub const IFF_PROMISC: ::c_int = 0x100; // receive all packets pub const IFF_ALLMULTI: ::c_int = 0x200; // receive all multicast packets pub const IFF_OACTIVE_COMPAT: ::c_int = 0x400; // was transmission in progress pub const IFF_SIMPLEX: ::c_int = 0x800; // 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; // supports multicast // was interface is in polling mode pub const IFF_POLLING_COMPAT: ::c_int = 0x10000; pub const IFF_PPROMISC: ::c_int = 0x20000; // user-requested promisc mode pub const IFF_MONITOR: ::c_int = 0x40000; // user-requested monitor mode pub const IFF_STATICARP: ::c_int = 0x80000; // static ARP pub const IFF_NPOLLING: ::c_int = 0x100000; // interface is in polling mode pub const IFF_IDIRECT: ::c_int = 0x200000; // direct input // // sys/netinet/in.h // Protocols (RFC 1700) // NOTE: These are in addition to the constants defined in src/unix/mod.rs // IPPROTO_IP defined in src/unix/mod.rs /// IP6 hop-by-hop options pub const IPPROTO_HOPOPTS: ::c_int = 0; // IPPROTO_ICMP defined in src/unix/mod.rs /// group mgmt protocol pub const IPPROTO_IGMP: ::c_int = 2; /// gateway^2 (deprecated) pub const IPPROTO_GGP: ::c_int = 3; /// for compatibility pub const IPPROTO_IPIP: ::c_int = 4; // IPPROTO_TCP defined in src/unix/mod.rs /// Stream protocol II. pub const IPPROTO_ST: ::c_int = 7; /// exterior gateway protocol pub const IPPROTO_EGP: ::c_int = 8; /// private interior gateway pub const IPPROTO_PIGP: ::c_int = 9; /// BBN RCC Monitoring pub const IPPROTO_RCCMON: ::c_int = 10; /// network voice protocol pub const IPPROTO_NVPII: ::c_int = 11; /// pup pub const IPPROTO_PUP: ::c_int = 12; /// Argus pub const IPPROTO_ARGUS: ::c_int = 13; /// EMCON pub const IPPROTO_EMCON: ::c_int = 14; /// Cross Net Debugger pub const IPPROTO_XNET: ::c_int = 15; /// Chaos pub const IPPROTO_CHAOS: ::c_int = 16; // IPPROTO_UDP defined in src/unix/mod.rs /// Multiplexing pub const IPPROTO_MUX: ::c_int = 18; /// DCN Measurement Subsystems pub const IPPROTO_MEAS: ::c_int = 19; /// Host Monitoring pub const IPPROTO_HMP: ::c_int = 20; /// Packet Radio Measurement pub const IPPROTO_PRM: ::c_int = 21; /// xns idp pub const IPPROTO_IDP: ::c_int = 22; /// Trunk-1 pub const IPPROTO_TRUNK1: ::c_int = 23; /// Trunk-2 pub const IPPROTO_TRUNK2: ::c_int = 24; /// Leaf-1 pub const IPPROTO_LEAF1: ::c_int = 25; /// Leaf-2 pub const IPPROTO_LEAF2: ::c_int = 26; /// Reliable Data pub const IPPROTO_RDP: ::c_int = 27; /// Reliable Transaction pub const IPPROTO_IRTP: ::c_int = 28; /// tp-4 w/ class negotiation pub const IPPROTO_TP: ::c_int = 29; /// Bulk Data Transfer pub const IPPROTO_BLT: ::c_int = 30; /// Network Services pub const IPPROTO_NSP: ::c_int = 31; /// Merit Internodal pub const IPPROTO_INP: ::c_int = 32; /// Sequential Exchange pub const IPPROTO_SEP: ::c_int = 33; /// Third Party Connect pub const IPPROTO_3PC: ::c_int = 34; /// InterDomain Policy Routing pub const IPPROTO_IDPR: ::c_int = 35; /// XTP pub const IPPROTO_XTP: ::c_int = 36; /// Datagram Delivery pub const IPPROTO_DDP: ::c_int = 37; /// Control Message Transport pub const IPPROTO_CMTP: ::c_int = 38; /// TP++ Transport pub const IPPROTO_TPXX: ::c_int = 39; /// IL transport protocol pub const IPPROTO_IL: ::c_int = 40; // IPPROTO_IPV6 defined in src/unix/mod.rs /// Source Demand Routing pub const IPPROTO_SDRP: ::c_int = 42; /// IP6 routing header pub const IPPROTO_ROUTING: ::c_int = 43; /// IP6 fragmentation header pub const IPPROTO_FRAGMENT: ::c_int = 44; /// InterDomain Routing pub const IPPROTO_IDRP: ::c_int = 45; /// resource reservation pub const IPPROTO_RSVP: ::c_int = 46; /// General Routing Encap. pub const IPPROTO_GRE: ::c_int = 47; /// Mobile Host Routing pub const IPPROTO_MHRP: ::c_int = 48; /// BHA pub const IPPROTO_BHA: ::c_int = 49; /// IP6 Encap Sec. Payload pub const IPPROTO_ESP: ::c_int = 50; /// IP6 Auth Header pub const IPPROTO_AH: ::c_int = 51; /// Integ. Net Layer Security pub const IPPROTO_INLSP: ::c_int = 52; /// IP with encryption pub const IPPROTO_SWIPE: ::c_int = 53; /// Next Hop Resolution pub const IPPROTO_NHRP: ::c_int = 54; /// IP Mobility pub const IPPROTO_MOBILE: ::c_int = 55; /// Transport Layer Security pub const IPPROTO_TLSP: ::c_int = 56; /// SKIP pub const IPPROTO_SKIP: ::c_int = 57; // IPPROTO_ICMPV6 defined in src/unix/mod.rs /// IP6 no next header pub const IPPROTO_NONE: ::c_int = 59; /// IP6 destination option pub const IPPROTO_DSTOPTS: ::c_int = 60; /// any host internal protocol pub const IPPROTO_AHIP: ::c_int = 61; /// CFTP pub const IPPROTO_CFTP: ::c_int = 62; /// "hello" routing protocol pub const IPPROTO_HELLO: ::c_int = 63; /// SATNET/Backroom EXPAK pub const IPPROTO_SATEXPAK: ::c_int = 64; /// Kryptolan pub const IPPROTO_KRYPTOLAN: ::c_int = 65; /// Remote Virtual Disk pub const IPPROTO_RVD: ::c_int = 66; /// Pluribus Packet Core pub const IPPROTO_IPPC: ::c_int = 67; /// Any distributed FS pub const IPPROTO_ADFS: ::c_int = 68; /// Satnet Monitoring pub const IPPROTO_SATMON: ::c_int = 69; /// VISA Protocol pub const IPPROTO_VISA: ::c_int = 70; /// Packet Core Utility pub const IPPROTO_IPCV: ::c_int = 71; /// Comp. Prot. Net. Executive pub const IPPROTO_CPNX: ::c_int = 72; /// Comp. Prot. HeartBeat pub const IPPROTO_CPHB: ::c_int = 73; /// Wang Span Network pub const IPPROTO_WSN: ::c_int = 74; /// Packet Video Protocol pub const IPPROTO_PVP: ::c_int = 75; /// BackRoom SATNET Monitoring pub const IPPROTO_BRSATMON: ::c_int = 76; /// Sun net disk proto (temp.) pub const IPPROTO_ND: ::c_int = 77; /// WIDEBAND Monitoring pub const IPPROTO_WBMON: ::c_int = 78; /// WIDEBAND EXPAK pub const IPPROTO_WBEXPAK: ::c_int = 79; /// ISO cnlp pub const IPPROTO_EON: ::c_int = 80; /// VMTP pub const IPPROTO_VMTP: ::c_int = 81; /// Secure VMTP pub const IPPROTO_SVMTP: ::c_int = 82; /// Banyon VINES pub const IPPROTO_VINES: ::c_int = 83; /// TTP pub const IPPROTO_TTP: ::c_int = 84; /// NSFNET-IGP pub const IPPROTO_IGP: ::c_int = 85; /// dissimilar gateway prot. pub const IPPROTO_DGP: ::c_int = 86; /// TCF pub const IPPROTO_TCF: ::c_int = 87; /// Cisco/GXS IGRP pub const IPPROTO_IGRP: ::c_int = 88; /// OSPFIGP pub const IPPROTO_OSPFIGP: ::c_int = 89; /// Strite RPC protocol pub const IPPROTO_SRPC: ::c_int = 90; /// Locus Address Resoloution pub const IPPROTO_LARP: ::c_int = 91; /// Multicast Transport pub const IPPROTO_MTP: ::c_int = 92; /// AX.25 Frames pub const IPPROTO_AX25: ::c_int = 93; /// IP encapsulated in IP pub const IPPROTO_IPEIP: ::c_int = 94; /// Mobile Int.ing control pub const IPPROTO_MICP: ::c_int = 95; /// Semaphore Comm. security pub const IPPROTO_SCCSP: ::c_int = 96; /// Ethernet IP encapsulation pub const IPPROTO_ETHERIP: ::c_int = 97; /// encapsulation header pub const IPPROTO_ENCAP: ::c_int = 98; /// any private encr. scheme pub const IPPROTO_APES: ::c_int = 99; /// GMTP pub const IPPROTO_GMTP: ::c_int = 100; /// payload compression (IPComp) pub const IPPROTO_IPCOMP: ::c_int = 108; /* 101-254: Partly Unassigned */ /// Protocol Independent Mcast pub const IPPROTO_PIM: ::c_int = 103; /// CARP pub const IPPROTO_CARP: ::c_int = 112; /// PGM pub const IPPROTO_PGM: ::c_int = 113; /// PFSYNC pub const IPPROTO_PFSYNC: ::c_int = 240; /* 255: Reserved */ /* BSD Private, local use, namespace incursion, no longer used */ /// divert pseudo-protocol pub const IPPROTO_DIVERT: ::c_int = 254; pub const IPPROTO_MAX: ::c_int = 256; /// last return value of *_input(), meaning "all job for this pkt is done". pub const IPPROTO_DONE: ::c_int = 257; /// Used by RSS: the layer3 protocol is unknown pub const IPPROTO_UNKNOWN: ::c_int = 258; // sys/netinet/tcp.h pub const TCP_SIGNATURE_ENABLE: ::c_int = 16; pub const TCP_KEEPINIT: ::c_int = 32; pub const TCP_FASTKEEP: ::c_int = 128; pub const AF_BLUETOOTH: ::c_int = 33; pub const AF_MPLS: ::c_int = 34; pub const AF_IEEE80211: ::c_int = 35; pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH; pub const NET_RT_DUMP: ::c_int = 1; pub const NET_RT_FLAGS: ::c_int = 2; pub const NET_RT_IFLIST: ::c_int = 3; pub const NET_RT_MAXID: ::c_int = 4; pub const SOMAXOPT_SIZE: ::c_int = 65536; pub const MSG_UNUSED09: ::c_int = 0x00000200; pub const MSG_NOSIGNAL: ::c_int = 0x00000400; pub const MSG_SYNC: ::c_int = 0x00000800; pub const MSG_CMSG_CLOEXEC: ::c_int = 0x00001000; pub const MSG_FBLOCKING: ::c_int = 0x00010000; pub const MSG_FNONBLOCKING: ::c_int = 0x00020000; pub const MSG_FMASK: ::c_int = 0xFFFF0000; // utmpx entry types pub const EMPTY: ::c_short = 0; pub const RUN_LVL: ::c_short = 1; pub const BOOT_TIME: ::c_short = 2; pub const OLD_TIME: ::c_short = 3; pub const NEW_TIME: ::c_short = 4; pub const INIT_PROCESS: ::c_short = 5; pub const LOGIN_PROCESS: ::c_short = 6; pub const USER_PROCESS: ::c_short = 7; pub const DEAD_PROCESS: ::c_short = 8; pub const ACCOUNTING: ::c_short = 9; pub const SIGNATURE: ::c_short = 10; pub const DOWNTIME: ::c_short = 11; // utmpx database types 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 LC_COLLATE_MASK: ::c_int = (1 << 0); pub const LC_CTYPE_MASK: ::c_int = (1 << 1); pub const LC_MONETARY_MASK: ::c_int = (1 << 2); pub const LC_NUMERIC_MASK: ::c_int = (1 << 3); pub const LC_TIME_MASK: ::c_int = (1 << 4); pub const LC_MESSAGES_MASK: ::c_int = (1 << 5); pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MESSAGES_MASK | LC_MONETARY_MASK | LC_NUMERIC_MASK | LC_TIME_MASK; pub const TIOCSIG: ::c_uint = 0x2000745f; pub const BTUARTDISC: ::c_int = 0x7; 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; // Constants used by "at" family of system calls. pub const AT_FDCWD: ::c_int = 0xFFFAFDCD; // invalid file descriptor pub const AT_SYMLINK_NOFOLLOW: ::c_int = 1; pub const AT_REMOVEDIR: ::c_int = 2; pub const AT_EACCESS: ::c_int = 4; pub const AT_SYMLINK_FOLLOW: ::c_int = 8; pub const VCHECKPT: usize = 19; pub const _PC_2_SYMLINKS: ::c_int = 22; pub const _PC_TIMESTAMP_RESOLUTION: ::c_int = 23; pub const _SC_V7_ILP32_OFF32: ::c_int = 122; pub const _SC_V7_ILP32_OFFBIG: ::c_int = 123; pub const _SC_V7_LP64_OFF64: ::c_int = 124; pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 125; pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 126; pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 127; pub const WCONTINUED: ::c_int = 4; pub const WSTOPPED: ::c_int = 0o177; // Values for struct rtprio (type_ field) pub const RTP_PRIO_REALTIME: ::c_ushort = 0; pub const RTP_PRIO_NORMAL: ::c_ushort = 1; pub const RTP_PRIO_IDLE: ::c_ushort = 2; pub const RTP_PRIO_THREAD: ::c_ushort = 3; // Flags for chflags(2) pub const UF_NOHISTORY: ::c_ulong = 0x00000040; pub const UF_CACHE: ::c_ulong = 0x00000080; pub const UF_XLINK: ::c_ulong = 0x00000100; pub const SF_NOHISTORY: ::c_ulong = 0x00400000; pub const SF_CACHE: ::c_ulong = 0x00800000; pub const SF_XLINK: ::c_ulong = 0x01000000; // timespec constants pub const UTIME_OMIT: c_long = -2; pub const UTIME_NOW: c_long = -1; fn _CMSG_ALIGN(n: usize) -> usize { (n + 3) & !3 } f! { pub fn CMSG_DATA(cmsg: *const ::cmsghdr) -> *mut ::c_uchar { (cmsg as *mut ::c_uchar) .offset(_CMSG_ALIGN(::mem::size_of::<::cmsghdr>()) as isize) } pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { (_CMSG_ALIGN(::mem::size_of::<::cmsghdr>()) + length as usize) as ::c_uint } pub fn CMSG_NXTHDR(mhdr: *const ::msghdr, cmsg: *const ::cmsghdr) -> *mut ::cmsghdr { let next = cmsg as usize + _CMSG_ALIGN((*cmsg).cmsg_len as usize) + _CMSG_ALIGN(::mem::size_of::<::cmsghdr>()); let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if next <= max { (cmsg as usize + _CMSG_ALIGN((*cmsg).cmsg_len as usize)) as *mut ::cmsghdr } else { 0 as *mut ::cmsghdr } } pub fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { (_CMSG_ALIGN(::mem::size_of::<::cmsghdr>()) + _CMSG_ALIGN(length as usize)) as ::c_uint } } extern "C" { pub fn setgrent(); pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_settime( clk_id: ::clockid_t, tp: *const ::timespec, ) -> ::c_int; pub fn setutxdb(_type: ::c_uint, file: *mut ::c_char) -> ::c_int; pub fn aio_waitcomplete( iocbp: *mut *mut aiocb, timeout: *mut ::timespec, ) -> ::c_int; pub fn freelocale(loc: ::locale_t); pub fn lwp_rtprio( function: ::c_int, pid: ::pid_t, lwpid: lwpid_t, rtp: *mut super::rtprio, ) -> ::c_int; pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int; pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int; pub fn uname(buf: *mut ::utsname) -> ::c_int; } cfg_if! { if #[cfg(libc_thread_local)] { mod errno; pub use self::errno::*; } } libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/aarch64.rs010064400007650000024000000022271353453276600207670ustar0000000000000000pub type c_char = u8; pub type c_long = i64; pub type c_ulong = u64; pub type time_t = i64; pub type suseconds_t = i64; 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_longlong>() - 1; } else { #[doc(hidden)] pub const _ALIGNBYTES: usize = 8 - 1; } } pub const MAP_32BIT: ::c_int = 0x00080000; libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/arm.rs010064400007650000024000000024451353453276600203200ustar0000000000000000pub type c_char = u8; pub type c_long = i32; pub type c_ulong = u32; pub type time_t = i64; pub type suseconds_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_atime_pad: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_mtime_pad: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, pub st_ctime_pad: ::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, pub st_birthtime_pad: ::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; libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs010064400007650000024000000175231353775267200221020ustar0000000000000000// APIs that had breaking changes after FreeBSD 11 // The type of `nlink_t` changed from `u16` to `u64` in FreeBSD 12: pub type nlink_t = u16; // Type of `dev_t` changed from `u32` to `u64` in FreeBSD 12: pub type dev_t = u32; // Type of `ino_t` changed from `unsigned int` to `unsigned long` in FreeBSD 12: pub type ino_t = u32; s! { 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 struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_segsz: ::size_t, pub shm_lpid: ::pid_t, pub shm_cpid: ::pid_t, // Type of shm_nattc changed from `int` to `shmatt_t` (aka `unsigned // int`) in FreeBSD 12: pub shm_nattch: ::c_int, pub shm_atime: ::time_t, pub shm_dtime: ::time_t, pub shm_ctime: ::time_t, } } s_no_extra_traits! { pub struct dirent { pub d_fileno: ::ino_t, pub d_reclen: u16, pub d_type: u8, // Type of `d_namlen` changed from `char` to `u16` in FreeBSD 12: pub d_namlen: u8, 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], // Array length changed from 88 to 1024 in FreeBSD 12: pub f_mntfromname: [::c_char; 88], // Array length changed from 88 to 1024 in FreeBSD 12: pub f_mntonname: [::c_char; 88], } } 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(&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_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_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_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(&self, state: &mut H) { self.d_fileno.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); } } } } pub const ELAST: ::c_int = 96; extern "C" { // Return type ::c_int was removed in FreeBSD 12 pub fn setgrent() -> ::c_int; // Type of `addr` argument changed from `const void*` to `void*` // in FreeBSD 12 pub fn mprotect( addr: *const ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; // Return type ::c_int was removed in FreeBSD 12 pub fn freelocale(loc: ::locale_t) -> ::c_int; // Return type ::c_int changed to ::ssize_t in FreeBSD 12: pub fn msgrcv( msqid: ::c_int, msgp: *mut ::c_void, msgsz: ::size_t, msgtyp: ::c_long, msgflg: ::c_int, ) -> ::c_int; } cfg_if! { if #[cfg(target_arch = "x86_64")] { mod x86_64; pub use self::x86_64::*; } } libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/freebsd11/x86_64.rs010064400007650000024000000014531353775267200222540ustar0000000000000000#[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_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, } impl ::Copy for ::stat {} impl ::Clone for ::stat { fn clone(&self) -> ::stat { *self } } libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs010064400007650000024000000167741353775267200221120ustar0000000000000000// APIs that changed in FreeBSD12 pub type nlink_t = u64; pub type dev_t = u64; pub type ino_t = ::c_ulong; pub type shmatt_t = ::c_uint; 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], } } 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], } } 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(&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(&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); } } } } cfg_if! { if #[cfg(not(freebsd13))] { pub const ELAST: ::c_int = 96; } else { pub const EINTEGRITY: ::c_int = 97; pub const ELAST: ::c_int = 97; } } extern "C" { pub fn setgrent(); pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn freelocale(loc: ::locale_t); pub fn msgrcv( msqid: ::c_int, msgp: *mut ::c_void, msgsz: ::size_t, msgtyp: ::c_long, msgflg: ::c_int, ) -> ::ssize_t; } cfg_if! { if #[cfg(target_arch = "x86_64")] { mod x86_64; pub use self::x86_64::*; } } libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs010064400007650000024000000015341353775267200222550ustar0000000000000000#[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 } } libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/mod.rs010064400007650000024000001415221354141276600203130ustar0000000000000000pub type fflags_t = u32; pub type clock_t = i32; pub type lwpid_t = i32; pub type blksize_t = i32; pub type clockid_t = ::c_int; pub type sem_t = _sem; 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 mqd_t = *mut ::c_void; pub type posix_spawnattr_t = *mut ::c_void; pub type posix_spawn_file_actions_t = *mut ::c_void; s! { pub struct aiocb { pub aio_fildes: ::c_int, pub aio_offset: ::off_t, pub aio_buf: *mut ::c_void, pub aio_nbytes: ::size_t, __unused1: [::c_int; 2], __unused2: *mut ::c_void, pub aio_lio_opcode: ::c_int, pub aio_reqprio: ::c_int, // unused 3 through 5 are the __aiocb_private structure __unused3: ::c_long, __unused4: ::c_long, __unused5: *mut ::c_void, pub aio_sigevent: sigevent } pub struct jail { pub version: u32, pub path: *mut ::c_char, pub hostname: *mut ::c_char, pub jailname: *mut ::c_char, pub ip4s: ::c_uint, pub ip6s: ::c_uint, pub ip4: *mut ::in_addr, pub ip6: *mut ::in6_addr, } pub struct statvfs { pub f_bavail: ::fsblkcnt_t, pub f_bfree: ::fsblkcnt_t, pub f_blocks: ::fsblkcnt_t, pub f_favail: ::fsfilcnt_t, pub f_ffree: ::fsfilcnt_t, pub f_files: ::fsfilcnt_t, pub f_bsize: ::c_ulong, pub f_flag: ::c_ulong, pub f_frsize: ::c_ulong, pub f_fsid: ::c_ulong, pub f_namemax: ::c_ulong, } // internal structure has changed over time pub struct _sem { data: [u32; 4], } 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 { pub msg_perm: ::ipc_perm, __unused1: *mut ::c_void, __unused2: *mut ::c_void, pub msg_cbytes: ::msglen_t, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, pub msg_stime: ::time_t, pub msg_rtime: ::time_t, pub msg_ctime: ::time_t, } pub struct xucred { pub cr_version: ::c_uint, pub cr_uid: ::uid_t, pub cr_ngroups: ::c_short, pub cr_groups: [::gid_t;16], __cr_unused1: *mut ::c_void, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct mmsghdr { pub msg_hdr: ::msghdr, pub msg_len: ::ssize_t, } } s_no_extra_traits! { 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], pub __ut_spare: [::c_char; 64], } pub struct sockaddr_dl { pub sdl_len: ::c_uchar, pub sdl_family: ::c_uchar, pub sdl_index: ::c_ushort, pub sdl_type: ::c_uchar, pub sdl_nlen: ::c_uchar, pub sdl_alen: ::c_uchar, pub sdl_slen: ::c_uchar, pub sdl_data: [::c_char; 46], } pub struct mq_attr { pub mq_flags: ::c_long, pub mq_maxmsg: ::c_long, pub mq_msgsize: ::c_long, pub mq_curmsgs: ::c_long, __reserved: [::c_long; 4] } pub struct sigevent { pub sigev_notify: ::c_int, pub sigev_signo: ::c_int, pub sigev_value: ::sigval, //The rest of the structure is actually a union. We expose only //sigev_notify_thread_id because it's the most useful union member. pub sigev_notify_thread_id: ::lwpid_t, #[cfg(target_pointer_width = "64")] __unused1: ::c_int, __unused2: [::c_long; 7] } } 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_spare .iter() .zip(other.__ut_spare.iter()) .all(|(a,b)| a == b) } } 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) // FIXME: .field("ut_host", &self.ut_host) // FIXME: .field("__ut_spare", &self.__ut_spare) .finish() } } impl ::hash::Hash for utmpx { fn hash(&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_spare.hash(state); } } impl PartialEq for sockaddr_dl { fn eq(&self, other: &sockaddr_dl) -> bool { self.sdl_len == other.sdl_len && self.sdl_family == other.sdl_family && self.sdl_index == other.sdl_index && self.sdl_type == other.sdl_type && self.sdl_nlen == other.sdl_nlen && self.sdl_alen == other.sdl_alen && self.sdl_slen == other.sdl_slen && self .sdl_data .iter() .zip(other.sdl_data.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_dl {} impl ::fmt::Debug for sockaddr_dl { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_dl") .field("sdl_len", &self.sdl_len) .field("sdl_family", &self.sdl_family) .field("sdl_index", &self.sdl_index) .field("sdl_type", &self.sdl_type) .field("sdl_nlen", &self.sdl_nlen) .field("sdl_alen", &self.sdl_alen) .field("sdl_slen", &self.sdl_slen) // FIXME: .field("sdl_data", &self.sdl_data) .finish() } } impl ::hash::Hash for sockaddr_dl { fn hash(&self, state: &mut H) { self.sdl_len.hash(state); self.sdl_family.hash(state); self.sdl_index.hash(state); self.sdl_type.hash(state); self.sdl_nlen.hash(state); self.sdl_alen.hash(state); self.sdl_slen.hash(state); self.sdl_data.hash(state); } } impl PartialEq for mq_attr { fn eq(&self, other: &mq_attr) -> bool { self.mq_flags == other.mq_flags && self.mq_maxmsg == other.mq_maxmsg && self.mq_msgsize == other.mq_msgsize && self.mq_curmsgs == other.mq_curmsgs } } impl Eq for mq_attr {} impl ::fmt::Debug for mq_attr { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("mq_attr") .field("mq_flags", &self.mq_flags) .field("mq_maxmsg", &self.mq_maxmsg) .field("mq_msgsize", &self.mq_msgsize) .field("mq_curmsgs", &self.mq_curmsgs) .finish() } } impl ::hash::Hash for mq_attr { fn hash(&self, state: &mut H) { self.mq_flags.hash(state); self.mq_maxmsg.hash(state); self.mq_msgsize.hash(state); self.mq_curmsgs.hash(state); } } impl PartialEq for sigevent { fn eq(&self, other: &sigevent) -> bool { self.sigev_notify == other.sigev_notify && self.sigev_signo == other.sigev_signo && self.sigev_value == other.sigev_value && self.sigev_notify_thread_id == other.sigev_notify_thread_id } } impl Eq for sigevent {} impl ::fmt::Debug for sigevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigevent") .field("sigev_notify", &self.sigev_notify) .field("sigev_signo", &self.sigev_signo) .field("sigev_value", &self.sigev_value) .field("sigev_notify_thread_id", &self.sigev_notify_thread_id) .finish() } } impl ::hash::Hash for sigevent { fn hash(&self, state: &mut H) { self.sigev_notify.hash(state); self.sigev_signo.hash(state); self.sigev_value.hash(state); self.sigev_notify_thread_id.hash(state); } } } } pub const SIGEV_THREAD_ID: ::c_int = 4; pub const EXTATTR_NAMESPACE_EMPTY: ::c_int = 0; pub const EXTATTR_NAMESPACE_USER: ::c_int = 1; pub const EXTATTR_NAMESPACE_SYSTEM: ::c_int = 2; pub const RAND_MAX: ::c_int = 0x7fff_fffd; pub const PTHREAD_STACK_MIN: ::size_t = 2048; pub const PTHREAD_MUTEX_ADAPTIVE_NP: ::c_int = 4; pub const SIGSTKSZ: ::size_t = 34816; pub const SF_NODISKIO: ::c_int = 0x00000001; pub const SF_MNOWAIT: ::c_int = 0x00000002; pub const SF_SYNC: ::c_int = 0x00000004; pub const SF_USER_READAHEAD: ::c_int = 0x00000008; pub const SF_NOCACHE: ::c_int = 0x00000010; pub const O_CLOEXEC: ::c_int = 0x00100000; pub const O_DIRECTORY: ::c_int = 0x00020000; pub const O_EXEC: ::c_int = 0x00040000; pub const O_TTY_INIT: ::c_int = 0x00080000; pub const F_GETLK: ::c_int = 11; pub const F_SETLK: ::c_int = 12; pub const F_SETLKW: ::c_int = 13; 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 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 Q_GETQUOTA: ::c_int = 0x700; pub const Q_SETQUOTA: ::c_int = 0x800; pub const POSIX_FADV_NORMAL: ::c_int = 0; pub const POSIX_FADV_RANDOM: ::c_int = 1; pub const POSIX_FADV_SEQUENTIAL: ::c_int = 2; pub const POSIX_FADV_WILLNEED: ::c_int = 3; pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const POLLINIGNEOF: ::c_short = 0x2000; pub const EVFILT_READ: i16 = -1; pub const EVFILT_WRITE: i16 = -2; pub const EVFILT_AIO: i16 = -3; pub const EVFILT_VNODE: i16 = -4; pub const EVFILT_PROC: i16 = -5; pub const EVFILT_SIGNAL: i16 = -6; pub const EVFILT_TIMER: i16 = -7; pub const EVFILT_PROCDESC: i16 = -8; pub const EVFILT_FS: i16 = -9; pub const EVFILT_LIO: i16 = -10; pub const EVFILT_USER: i16 = -11; pub const EVFILT_SENDFILE: i16 = -12; pub const EVFILT_EMPTY: i16 = -13; pub const EV_ADD: u16 = 0x1; pub const EV_DELETE: u16 = 0x2; pub const EV_ENABLE: u16 = 0x4; pub const EV_DISABLE: u16 = 0x8; pub const EV_ONESHOT: u16 = 0x10; pub const EV_CLEAR: u16 = 0x20; pub const EV_RECEIPT: u16 = 0x40; pub const EV_DISPATCH: u16 = 0x80; pub const EV_DROP: u16 = 0x1000; pub const EV_FLAG1: u16 = 0x2000; pub const EV_ERROR: u16 = 0x4000; pub const EV_EOF: u16 = 0x8000; pub const EV_SYSFLAGS: u16 = 0xf000; pub const NOTE_TRIGGER: u32 = 0x01000000; pub const NOTE_FFNOP: u32 = 0x00000000; pub const NOTE_FFAND: u32 = 0x40000000; pub const NOTE_FFOR: u32 = 0x80000000; pub const NOTE_FFCOPY: u32 = 0xc0000000; pub const NOTE_FFCTRLMASK: u32 = 0xc0000000; pub const NOTE_FFLAGSMASK: u32 = 0x00ffffff; pub const NOTE_LOWAT: u32 = 0x00000001; pub const NOTE_DELETE: u32 = 0x00000001; pub const NOTE_WRITE: u32 = 0x00000002; pub const NOTE_EXTEND: u32 = 0x00000004; pub const NOTE_ATTRIB: u32 = 0x00000008; pub const NOTE_LINK: u32 = 0x00000010; pub const NOTE_RENAME: u32 = 0x00000020; pub const NOTE_REVOKE: u32 = 0x00000040; pub const NOTE_EXIT: u32 = 0x80000000; pub const NOTE_FORK: u32 = 0x40000000; pub const NOTE_EXEC: u32 = 0x20000000; pub const NOTE_PDATAMASK: u32 = 0x000fffff; pub const NOTE_PCTRLMASK: u32 = 0xf0000000; pub const NOTE_TRACK: u32 = 0x00000001; pub const NOTE_TRACKERR: u32 = 0x00000002; pub const NOTE_CHILD: u32 = 0x00000004; pub const NOTE_SECONDS: u32 = 0x00000001; pub const NOTE_MSECONDS: u32 = 0x00000002; 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; pub const CLOCK_REALTIME: ::clockid_t = 0; pub const CLOCK_VIRTUAL: ::clockid_t = 1; pub const CLOCK_PROF: ::clockid_t = 2; pub const CLOCK_MONOTONIC: ::clockid_t = 4; pub const CLOCK_UPTIME: ::clockid_t = 5; pub const CLOCK_UPTIME_PRECISE: ::clockid_t = 7; pub const CLOCK_UPTIME_FAST: ::clockid_t = 8; pub const CLOCK_REALTIME_PRECISE: ::clockid_t = 9; pub const CLOCK_REALTIME_FAST: ::clockid_t = 10; pub const CLOCK_MONOTONIC_PRECISE: ::clockid_t = 11; pub const CLOCK_MONOTONIC_FAST: ::clockid_t = 12; pub const CLOCK_SECOND: ::clockid_t = 13; pub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 14; pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 15; pub const CTL_UNSPEC: ::c_int = 0; pub const CTL_KERN: ::c_int = 1; pub const CTL_VM: ::c_int = 2; pub const CTL_VFS: ::c_int = 3; pub const CTL_NET: ::c_int = 4; pub const CTL_DEBUG: ::c_int = 5; 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; pub const KERN_OSTYPE: ::c_int = 1; pub const KERN_OSRELEASE: ::c_int = 2; pub const KERN_OSREV: ::c_int = 3; pub const KERN_VERSION: ::c_int = 4; pub const KERN_MAXVNODES: ::c_int = 5; pub const KERN_MAXPROC: ::c_int = 6; pub const KERN_MAXFILES: ::c_int = 7; pub const KERN_ARGMAX: ::c_int = 8; pub const KERN_SECURELVL: ::c_int = 9; pub const KERN_HOSTNAME: ::c_int = 10; pub const KERN_HOSTID: ::c_int = 11; pub const KERN_CLOCKRATE: ::c_int = 12; pub const KERN_VNODE: ::c_int = 13; pub const KERN_PROC: ::c_int = 14; pub const KERN_FILE: ::c_int = 15; pub const KERN_PROF: ::c_int = 16; pub const KERN_POSIX1: ::c_int = 17; pub const KERN_NGROUPS: ::c_int = 18; pub const KERN_JOB_CONTROL: ::c_int = 19; pub const KERN_SAVED_IDS: ::c_int = 20; pub const KERN_BOOTTIME: ::c_int = 21; pub const KERN_NISDOMAINNAME: ::c_int = 22; pub const KERN_UPDATEINTERVAL: ::c_int = 23; pub const KERN_OSRELDATE: ::c_int = 24; pub const KERN_NTP_PLL: ::c_int = 25; pub const KERN_BOOTFILE: ::c_int = 26; pub const KERN_MAXFILESPERPROC: ::c_int = 27; pub const KERN_MAXPROCPERUID: ::c_int = 28; pub const KERN_DUMPDEV: ::c_int = 29; pub const KERN_IPC: ::c_int = 30; pub const KERN_DUMMY: ::c_int = 31; pub const KERN_PS_STRINGS: ::c_int = 32; pub const KERN_USRSTACK: ::c_int = 33; 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_PROC_ALL: ::c_int = 0; pub const KERN_PROC_PID: ::c_int = 1; pub const KERN_PROC_PGRP: ::c_int = 2; pub const KERN_PROC_SESSION: ::c_int = 3; 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_ARGS: ::c_int = 7; pub const KERN_PROC_PROC: ::c_int = 8; pub const KERN_PROC_SV_NAME: ::c_int = 9; pub const KERN_PROC_RGID: ::c_int = 10; pub const KERN_PROC_GID: ::c_int = 11; pub const KERN_PROC_PATHNAME: ::c_int = 12; pub const KERN_PROC_OVMMAP: ::c_int = 13; pub const KERN_PROC_OFILEDESC: ::c_int = 14; pub const KERN_PROC_KSTACK: ::c_int = 15; pub const KERN_PROC_INC_THREAD: ::c_int = 0x10; pub const KERN_PROC_VMMAP: ::c_int = 32; pub const KERN_PROC_FILEDESC: ::c_int = 33; pub const KERN_PROC_GROUPS: ::c_int = 34; pub const KERN_PROC_ENV: ::c_int = 35; pub const KERN_PROC_AUXV: ::c_int = 36; pub const KERN_PROC_RLIMIT: ::c_int = 37; 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 KIPC_MAXSOCKBUF: ::c_int = 1; pub const KIPC_SOCKBUF_WASTE: ::c_int = 2; pub const KIPC_SOMAXCONN: ::c_int = 3; 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; pub const HW_BYTEORDER: ::c_int = 4; pub const HW_PHYSMEM: ::c_int = 5; pub const HW_USERMEM: ::c_int = 6; pub const HW_PAGESIZE: ::c_int = 7; pub const HW_DISKNAMES: ::c_int = 8; 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; pub const USER_BC_SCALE_MAX: ::c_int = 4; pub const USER_BC_STRING_MAX: ::c_int = 5; pub const USER_COLL_WEIGHTS_MAX: ::c_int = 6; pub const USER_EXPR_NEST_MAX: ::c_int = 7; pub const USER_LINE_MAX: ::c_int = 8; pub const USER_RE_DUP_MAX: ::c_int = 9; pub const USER_POSIX2_VERSION: ::c_int = 10; pub const USER_POSIX2_C_BIND: ::c_int = 11; pub const USER_POSIX2_C_DEV: ::c_int = 12; pub const USER_POSIX2_CHAR_TERM: ::c_int = 13; pub const USER_POSIX2_FORT_DEV: ::c_int = 14; pub const USER_POSIX2_FORT_RUN: ::c_int = 15; pub const USER_POSIX2_LOCALEDEF: ::c_int = 16; 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 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; pub const CTL_P1003_1B_MEMLOCK_RANGE: ::c_int = 4; pub const CTL_P1003_1B_MEMORY_PROTECTION: ::c_int = 5; pub const CTL_P1003_1B_MESSAGE_PASSING: ::c_int = 6; pub const CTL_P1003_1B_PRIORITIZED_IO: ::c_int = 7; pub const CTL_P1003_1B_PRIORITY_SCHEDULING: ::c_int = 8; pub const CTL_P1003_1B_REALTIME_SIGNALS: ::c_int = 9; pub const CTL_P1003_1B_SEMAPHORES: ::c_int = 10; pub const CTL_P1003_1B_FSYNC: ::c_int = 11; pub const CTL_P1003_1B_SHARED_MEMORY_OBJECTS: ::c_int = 12; pub const CTL_P1003_1B_SYNCHRONIZED_IO: ::c_int = 13; pub const CTL_P1003_1B_TIMERS: ::c_int = 14; pub const CTL_P1003_1B_AIO_LISTIO_MAX: ::c_int = 15; pub const CTL_P1003_1B_AIO_MAX: ::c_int = 16; pub const CTL_P1003_1B_AIO_PRIO_DELTA_MAX: ::c_int = 17; pub const CTL_P1003_1B_DELAYTIMER_MAX: ::c_int = 18; pub const CTL_P1003_1B_MQ_OPEN_MAX: ::c_int = 19; pub const CTL_P1003_1B_PAGESIZE: ::c_int = 20; pub const CTL_P1003_1B_RTSIG_MAX: ::c_int = 21; 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_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 BIOCSETFNR: ::c_ulong = 0x80104282; pub const FIONWRITE: ::c_ulong = 0x40046677; pub const FIONSPACE: ::c_ulong = 0x40046676; pub const FIOSEEKDATA: ::c_ulong = 0xc0086661; pub const FIOSEEKHOLE: ::c_ulong = 0xc0086662; pub const JAIL_API_VERSION: u32 = 2; pub const JAIL_CREATE: ::c_int = 0x01; pub const JAIL_UPDATE: ::c_int = 0x02; pub const JAIL_ATTACH: ::c_int = 0x04; pub const JAIL_DYING: ::c_int = 0x08; pub const JAIL_SET_MASK: ::c_int = 0x0f; pub const JAIL_GET_MASK: ::c_int = 0x08; 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 SO_BINTIME: ::c_int = 0x2000; pub const SO_NO_OFFLOAD: ::c_int = 0x4000; pub const SO_NO_DDP: ::c_int = 0x8000; pub const SO_REUSEPORT_LB: ::c_int = 0x10000; pub const SO_LABEL: ::c_int = 0x1009; pub const SO_PEERLABEL: ::c_int = 0x1010; pub const SO_LISTENQLIMIT: ::c_int = 0x1011; pub const SO_LISTENQLEN: ::c_int = 0x1012; pub const SO_LISTENINCQLEN: ::c_int = 0x1013; 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_VENDOR: ::c_int = 0x80000000; pub const LOCAL_PEERCRED: ::c_int = 1; pub const LOCAL_CREDS: ::c_int = 2; pub const LOCAL_CONNWAIT: ::c_int = 4; pub const LOCAL_VENDOR: ::c_int = SO_VENDOR; pub const PT_LWPINFO: ::c_int = 13; pub const PT_GETNUMLWPS: ::c_int = 14; pub const PT_GETLWPLIST: ::c_int = 15; pub const PT_CLEARSTEP: ::c_int = 16; pub const PT_SETSTEP: ::c_int = 17; pub const PT_SUSPEND: ::c_int = 18; pub const PT_RESUME: ::c_int = 19; pub const PT_TO_SCE: ::c_int = 20; pub const PT_TO_SCX: ::c_int = 21; pub const PT_SYSCALL: ::c_int = 22; 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_GETREGS: ::c_int = 33; pub const PT_SETREGS: ::c_int = 34; pub const PT_GETFPREGS: ::c_int = 35; pub const PT_SETFPREGS: ::c_int = 36; 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_FIRSTMACH: ::c_int = 64; pub const PTRACE_EXEC: ::c_int = 0x0001; pub const PTRACE_SCE: ::c_int = 0x0002; pub const PTRACE_SCX: ::c_int = 0x0004; pub const PTRACE_SYSCALL: ::c_int = PTRACE_SCE | PTRACE_SCX; pub const PTRACE_FORK: ::c_int = 0x0008; pub const PTRACE_LWP: ::c_int = 0x0010; pub const PTRACE_VFORK: ::c_int = 0x0020; pub const PTRACE_DEFAULT: ::c_int = PTRACE_EXEC; pub const AF_SLOW: ::c_int = 33; pub const AF_SCLUSTER: ::c_int = 34; pub const AF_ARP: ::c_int = 35; pub const AF_BLUETOOTH: ::c_int = 36; pub const AF_IEEE80211: ::c_int = 37; pub const AF_INET_SDP: ::c_int = 40; pub const AF_INET6_SDP: ::c_int = 42; // 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" )] pub const IFF_DRV_RUNNING: ::c_int = 0x40; 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" )] pub const IFF_DRV_OACTIVE: ::c_int = 0x400; 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; 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) // NOTE: These are in addition to the constants defined in src/unix/mod.rs // IPPROTO_IP defined in src/unix/mod.rs /// IP6 hop-by-hop options pub const IPPROTO_HOPOPTS: ::c_int = 0; // IPPROTO_ICMP defined in src/unix/mod.rs /// group mgmt protocol pub const IPPROTO_IGMP: ::c_int = 2; /// gateway^2 (deprecated) pub const IPPROTO_GGP: ::c_int = 3; /// for compatibility pub const IPPROTO_IPIP: ::c_int = 4; // IPPROTO_TCP defined in src/unix/mod.rs /// Stream protocol II. pub const IPPROTO_ST: ::c_int = 7; /// exterior gateway protocol pub const IPPROTO_EGP: ::c_int = 8; /// private interior gateway pub const IPPROTO_PIGP: ::c_int = 9; /// BBN RCC Monitoring pub const IPPROTO_RCCMON: ::c_int = 10; /// network voice protocol pub const IPPROTO_NVPII: ::c_int = 11; /// pup pub const IPPROTO_PUP: ::c_int = 12; /// Argus pub const IPPROTO_ARGUS: ::c_int = 13; /// EMCON pub const IPPROTO_EMCON: ::c_int = 14; /// Cross Net Debugger pub const IPPROTO_XNET: ::c_int = 15; /// Chaos pub const IPPROTO_CHAOS: ::c_int = 16; // IPPROTO_UDP defined in src/unix/mod.rs /// Multiplexing pub const IPPROTO_MUX: ::c_int = 18; /// DCN Measurement Subsystems pub const IPPROTO_MEAS: ::c_int = 19; /// Host Monitoring pub const IPPROTO_HMP: ::c_int = 20; /// Packet Radio Measurement pub const IPPROTO_PRM: ::c_int = 21; /// xns idp pub const IPPROTO_IDP: ::c_int = 22; /// Trunk-1 pub const IPPROTO_TRUNK1: ::c_int = 23; /// Trunk-2 pub const IPPROTO_TRUNK2: ::c_int = 24; /// Leaf-1 pub const IPPROTO_LEAF1: ::c_int = 25; /// Leaf-2 pub const IPPROTO_LEAF2: ::c_int = 26; /// Reliable Data pub const IPPROTO_RDP: ::c_int = 27; /// Reliable Transaction pub const IPPROTO_IRTP: ::c_int = 28; /// tp-4 w/ class negotiation pub const IPPROTO_TP: ::c_int = 29; /// Bulk Data Transfer pub const IPPROTO_BLT: ::c_int = 30; /// Network Services pub const IPPROTO_NSP: ::c_int = 31; /// Merit Internodal pub const IPPROTO_INP: ::c_int = 32; /// Sequential Exchange pub const IPPROTO_SEP: ::c_int = 33; /// Third Party Connect pub const IPPROTO_3PC: ::c_int = 34; /// InterDomain Policy Routing pub const IPPROTO_IDPR: ::c_int = 35; /// XTP pub const IPPROTO_XTP: ::c_int = 36; /// Datagram Delivery pub const IPPROTO_DDP: ::c_int = 37; /// Control Message Transport pub const IPPROTO_CMTP: ::c_int = 38; /// TP++ Transport pub const IPPROTO_TPXX: ::c_int = 39; /// IL transport protocol pub const IPPROTO_IL: ::c_int = 40; // IPPROTO_IPV6 defined in src/unix/mod.rs /// Source Demand Routing pub const IPPROTO_SDRP: ::c_int = 42; /// IP6 routing header pub const IPPROTO_ROUTING: ::c_int = 43; /// IP6 fragmentation header pub const IPPROTO_FRAGMENT: ::c_int = 44; /// InterDomain Routing pub const IPPROTO_IDRP: ::c_int = 45; /// resource reservation pub const IPPROTO_RSVP: ::c_int = 46; /// General Routing Encap. pub const IPPROTO_GRE: ::c_int = 47; /// Mobile Host Routing pub const IPPROTO_MHRP: ::c_int = 48; /// BHA pub const IPPROTO_BHA: ::c_int = 49; /// IP6 Encap Sec. Payload pub const IPPROTO_ESP: ::c_int = 50; /// IP6 Auth Header pub const IPPROTO_AH: ::c_int = 51; /// Integ. Net Layer Security pub const IPPROTO_INLSP: ::c_int = 52; /// IP with encryption pub const IPPROTO_SWIPE: ::c_int = 53; /// Next Hop Resolution pub const IPPROTO_NHRP: ::c_int = 54; /// IP Mobility pub const IPPROTO_MOBILE: ::c_int = 55; /// Transport Layer Security pub const IPPROTO_TLSP: ::c_int = 56; /// SKIP pub const IPPROTO_SKIP: ::c_int = 57; // IPPROTO_ICMPV6 defined in src/unix/mod.rs /// IP6 no next header pub const IPPROTO_NONE: ::c_int = 59; /// IP6 destination option pub const IPPROTO_DSTOPTS: ::c_int = 60; /// any host internal protocol pub const IPPROTO_AHIP: ::c_int = 61; /// CFTP pub const IPPROTO_CFTP: ::c_int = 62; /// "hello" routing protocol pub const IPPROTO_HELLO: ::c_int = 63; /// SATNET/Backroom EXPAK pub const IPPROTO_SATEXPAK: ::c_int = 64; /// Kryptolan pub const IPPROTO_KRYPTOLAN: ::c_int = 65; /// Remote Virtual Disk pub const IPPROTO_RVD: ::c_int = 66; /// Pluribus Packet Core pub const IPPROTO_IPPC: ::c_int = 67; /// Any distributed FS pub const IPPROTO_ADFS: ::c_int = 68; /// Satnet Monitoring pub const IPPROTO_SATMON: ::c_int = 69; /// VISA Protocol pub const IPPROTO_VISA: ::c_int = 70; /// Packet Core Utility pub const IPPROTO_IPCV: ::c_int = 71; /// Comp. Prot. Net. Executive pub const IPPROTO_CPNX: ::c_int = 72; /// Comp. Prot. HeartBeat pub const IPPROTO_CPHB: ::c_int = 73; /// Wang Span Network pub const IPPROTO_WSN: ::c_int = 74; /// Packet Video Protocol pub const IPPROTO_PVP: ::c_int = 75; /// BackRoom SATNET Monitoring pub const IPPROTO_BRSATMON: ::c_int = 76; /// Sun net disk proto (temp.) pub const IPPROTO_ND: ::c_int = 77; /// WIDEBAND Monitoring pub const IPPROTO_WBMON: ::c_int = 78; /// WIDEBAND EXPAK pub const IPPROTO_WBEXPAK: ::c_int = 79; /// ISO cnlp pub const IPPROTO_EON: ::c_int = 80; /// VMTP pub const IPPROTO_VMTP: ::c_int = 81; /// Secure VMTP pub const IPPROTO_SVMTP: ::c_int = 82; /// Banyon VINES pub const IPPROTO_VINES: ::c_int = 83; /// TTP pub const IPPROTO_TTP: ::c_int = 84; /// NSFNET-IGP pub const IPPROTO_IGP: ::c_int = 85; /// dissimilar gateway prot. pub const IPPROTO_DGP: ::c_int = 86; /// TCF pub const IPPROTO_TCF: ::c_int = 87; /// Cisco/GXS IGRP pub const IPPROTO_IGRP: ::c_int = 88; /// OSPFIGP pub const IPPROTO_OSPFIGP: ::c_int = 89; /// Strite RPC protocol pub const IPPROTO_SRPC: ::c_int = 90; /// Locus Address Resoloution pub const IPPROTO_LARP: ::c_int = 91; /// Multicast Transport pub const IPPROTO_MTP: ::c_int = 92; /// AX.25 Frames pub const IPPROTO_AX25: ::c_int = 93; /// IP encapsulated in IP pub const IPPROTO_IPEIP: ::c_int = 94; /// Mobile Int.ing control pub const IPPROTO_MICP: ::c_int = 95; /// Semaphore Comm. security pub const IPPROTO_SCCSP: ::c_int = 96; /// Ethernet IP encapsulation pub const IPPROTO_ETHERIP: ::c_int = 97; /// encapsulation header pub const IPPROTO_ENCAP: ::c_int = 98; /// any private encr. scheme pub const IPPROTO_APES: ::c_int = 99; /// GMTP pub const IPPROTO_GMTP: ::c_int = 100; /// payload compression (IPComp) pub const IPPROTO_IPCOMP: ::c_int = 108; /// SCTP pub const IPPROTO_SCTP: ::c_int = 132; /// IPv6 Mobility Header pub const IPPROTO_MH: ::c_int = 135; /// UDP-Lite pub const IPPROTO_UDPLITE: ::c_int = 136; /// IP6 Host Identity Protocol pub const IPPROTO_HIP: ::c_int = 139; /// IP6 Shim6 Protocol pub const IPPROTO_SHIM6: ::c_int = 140; /* 101-254: Partly Unassigned */ /// Protocol Independent Mcast pub const IPPROTO_PIM: ::c_int = 103; /// CARP pub const IPPROTO_CARP: ::c_int = 112; /// PGM pub const IPPROTO_PGM: ::c_int = 113; /// MPLS-in-IP pub const IPPROTO_MPLS: ::c_int = 137; /// PFSYNC pub const IPPROTO_PFSYNC: ::c_int = 240; /* 255: Reserved */ /* BSD Private, local use, namespace incursion, no longer used */ /// OLD divert pseudo-proto pub const IPPROTO_OLD_DIVERT: ::c_int = 254; pub const IPPROTO_MAX: ::c_int = 256; /// last return value of *_input(), meaning "all job for this pkt is done". pub const IPPROTO_DONE: ::c_int = 257; /* Only used internally, so can be outside the range of valid IP protocols. */ /// divert pseudo-protocol pub const IPPROTO_DIVERT: ::c_int = 258; /// SeND pseudo-protocol pub const IPPROTO_SEND: ::c_int = 259; // sys/netinet/TCP.h 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_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 IP_BINDANY: ::c_int = 24; pub const IP_BINDMULTI: ::c_int = 25; pub const IP_RSS_LISTEN_BUCKET: ::c_int = 26; pub const IP_ORIGDSTADDR: ::c_int = 27; pub const IP_RECVORIGDSTADDR: ::c_int = IP_ORIGDSTADDR; pub const IP_RECVTOS: ::c_int = 68; pub const IPV6_ORIGDSTADDR: ::c_int = 72; pub const IPV6_RECVORIGDSTADDR: ::c_int = IPV6_ORIGDSTADDR; pub const PF_SLOW: ::c_int = AF_SLOW; pub const PF_SCLUSTER: ::c_int = AF_SCLUSTER; pub const PF_ARP: ::c_int = AF_ARP; pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH; pub const PF_IEEE80211: ::c_int = AF_IEEE80211; pub const PF_INET_SDP: ::c_int = AF_INET_SDP; pub const PF_INET6_SDP: ::c_int = AF_INET6_SDP; pub const NET_RT_DUMP: ::c_int = 1; pub const NET_RT_FLAGS: ::c_int = 2; pub const NET_RT_IFLIST: ::c_int = 3; 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; pub const SHM_INFO: ::c_int = 14; pub const SHM_ANON: *mut ::c_char = 1 as *mut ::c_char; // The *_MAXID constants never should've been used outside of the // FreeBSD base system. And with the exception of CTL_P1003_1B_MAXID, // they were all removed in svn r262489. They remain here for backwards // compatibility only, and are scheduled to be removed in libc 1.0.0. #[doc(hidden)] #[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")] pub const CTL_MAXID: ::c_int = 10; #[doc(hidden)] #[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")] pub const KERN_MAXID: ::c_int = 38; #[doc(hidden)] #[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")] pub const HW_MAXID: ::c_int = 13; #[doc(hidden)] #[deprecated(since = "0.2.54", note = "Removed in FreeBSD 11")] pub const USER_MAXID: ::c_int = 21; #[doc(hidden)] pub const CTL_P1003_1B_MAXID: ::c_int = 26; pub const MSG_NOTIFICATION: ::c_int = 0x00002000; pub const MSG_NBIO: ::c_int = 0x00004000; pub const MSG_COMPAT: ::c_int = 0x00008000; pub const MSG_CMSG_CLOEXEC: ::c_int = 0x00040000; pub const MSG_NOSIGNAL: ::c_int = 0x20000; // 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 SHUTDOWN_TIME: ::c_short = 8; // utmp database types pub const UTXDB_ACTIVE: ::c_int = 0; pub const UTXDB_LASTLOGIN: ::c_int = 1; pub const UTXDB_LOG: ::c_int = 2; pub const LC_COLLATE_MASK: ::c_int = (1 << 0); pub const LC_CTYPE_MASK: ::c_int = (1 << 1); pub const LC_MONETARY_MASK: ::c_int = (1 << 2); pub const LC_NUMERIC_MASK: ::c_int = (1 << 3); pub const LC_TIME_MASK: ::c_int = (1 << 4); pub const LC_MESSAGES_MASK: ::c_int = (1 << 5); pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MESSAGES_MASK | LC_MONETARY_MASK | LC_NUMERIC_MASK | LC_TIME_MASK; pub const WSTOPPED: ::c_int = 2; // same as WUNTRACED pub const WCONTINUED: ::c_int = 4; pub const WNOWAIT: ::c_int = 8; pub const WEXITED: ::c_int = 16; pub const WTRAPPED: ::c_int = 32; // FreeBSD defines a great many more of these, we only expose the // standardized ones. pub const P_PID: idtype_t = 0; pub const P_PGID: idtype_t = 2; pub const P_ALL: idtype_t = 7; pub const UTIME_OMIT: c_long = -2; pub const UTIME_NOW: c_long = -1; pub const B460800: ::speed_t = 460800; pub const B921600: ::speed_t = 921600; pub const AT_FDCWD: ::c_int = -100; pub const AT_EACCESS: ::c_int = 0x100; 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 TABDLY: ::tcflag_t = 0x00000004; pub const TAB0: ::tcflag_t = 0x00000000; pub const TAB3: ::tcflag_t = 0x00000004; pub const _PC_ACL_NFS4: ::c_int = 64; pub const _SC_CPUSET_SIZE: ::c_int = 122; pub const XU_NGROUPS: ::c_int = 16; pub const XUCRED_VERSION: ::c_uint = 0; // Flags which can be passed to pdfork(2) pub const PD_DAEMON: ::c_int = 0x00000001; pub const PD_CLOEXEC: ::c_int = 0x00000002; pub const PD_ALLOWED_AT_FORK: ::c_int = PD_DAEMON | PD_CLOEXEC; // Values for struct rtprio (type_ field) pub const RTP_PRIO_REALTIME: ::c_ushort = 2; pub const RTP_PRIO_NORMAL: ::c_ushort = 3; pub const RTP_PRIO_IDLE: ::c_ushort = 4; pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x01; pub const POSIX_SPAWN_SETPGROUP: ::c_int = 0x02; pub const POSIX_SPAWN_SETSCHEDPARAM: ::c_int = 0x04; pub const POSIX_SPAWN_SETSCHEDULER: ::c_int = 0x08; pub const POSIX_SPAWN_SETSIGDEF: ::c_int = 0x10; pub const POSIX_SPAWN_SETSIGMASK: ::c_int = 0x20; // Flags for chflags(2) pub const UF_SYSTEM: ::c_ulong = 0x00000080; pub const UF_SPARSE: ::c_ulong = 0x00000100; pub const UF_OFFLINE: ::c_ulong = 0x00000200; pub const UF_REPARSE: ::c_ulong = 0x00000400; pub const UF_ARCHIVE: ::c_ulong = 0x00000800; pub const UF_READONLY: ::c_ulong = 0x00001000; pub const UF_HIDDEN: ::c_ulong = 0x00008000; pub const SF_SNAPSHOT: ::c_ulong = 0x00200000; fn _ALIGN(p: usize) -> usize { (p + _ALIGNBYTES) & !_ALIGNBYTES } f! { pub fn CMSG_DATA(cmsg: *const ::cmsghdr) -> *mut ::c_uchar { (cmsg as *mut ::c_uchar) .offset(_ALIGN(::mem::size_of::<::cmsghdr>()) as isize) } pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { _ALIGN(::mem::size_of::<::cmsghdr>()) as ::c_uint + length } pub fn CMSG_NXTHDR(mhdr: *const ::msghdr, cmsg: *const ::cmsghdr) -> *mut ::cmsghdr { if cmsg.is_null() { return ::CMSG_FIRSTHDR(mhdr); }; let next = cmsg as usize + _ALIGN((*cmsg).cmsg_len as usize) + _ALIGN(::mem::size_of::<::cmsghdr>()); let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if next > max { 0 as *mut ::cmsghdr } else { (cmsg as usize + _ALIGN((*cmsg).cmsg_len as usize)) as *mut ::cmsghdr } } pub fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { (_ALIGN(::mem::size_of::<::cmsghdr>()) + _ALIGN(length as usize)) as ::c_uint } pub fn uname(buf: *mut ::utsname) -> ::c_int { __xuname(256, buf as *mut ::c_void) } } extern "C" { pub fn __error() -> *mut ::c_int; pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_settime( clk_id: ::clockid_t, tp: *const ::timespec, ) -> ::c_int; pub fn extattr_delete_fd( fd: ::c_int, attrnamespace: ::c_int, attrname: *const ::c_char, ) -> ::c_int; pub fn extattr_delete_file( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, ) -> ::c_int; pub fn extattr_delete_link( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, ) -> ::c_int; pub fn extattr_get_fd( fd: ::c_int, attrnamespace: ::c_int, attrname: *const ::c_char, data: *mut ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_get_file( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, data: *mut ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_get_link( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, data: *mut ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_list_fd( fd: ::c_int, attrnamespace: ::c_int, data: *mut ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_list_file( path: *const ::c_char, attrnamespace: ::c_int, data: *mut ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_list_link( path: *const ::c_char, attrnamespace: ::c_int, data: *mut ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_set_fd( fd: ::c_int, attrnamespace: ::c_int, attrname: *const ::c_char, data: *const ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_set_file( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, data: *const ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_set_link( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, data: *const ::c_void, nbytes: ::size_t, ) -> ::ssize_t; 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; pub fn jail_get( iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int, ) -> ::c_int; pub fn jail_set( iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int, ) -> ::c_int; pub fn fdatasync(fd: ::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 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; pub fn getutxuser(user: *const ::c_char) -> *mut utmpx; pub fn setutxdb(_type: ::c_int, file: *const ::c_char) -> ::c_int; pub fn aio_waitcomplete( iocbp: *mut *mut aiocb, timeout: *mut ::timespec, ) -> ::ssize_t; pub fn mq_getfd_np(mqd: ::mqd_t) -> ::c_int; pub fn waitid( idtype: idtype_t, id: ::id_t, infop: *mut ::siginfo_t, options: ::c_int, ) -> ::c_int; pub fn ftok(pathname: *const ::c_char, proj_id: ::c_int) -> ::key_t; 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 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( msqid: ::c_int, msgp: *const ::c_void, msgsz: ::size_t, 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; pub fn pdkill(fd: ::c_int, signum: ::c_int) -> ::c_int; pub fn rtprio_thread( function: ::c_int, lwpid: ::lwpid_t, rtp: *mut super::rtprio, ) -> ::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; #[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" )] pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int; pub fn dup3(src: ::c_int, dst: ::c_int, flags: ::c_int) -> ::c_int; pub fn __xuname(nmln: ::c_int, buf: *mut ::c_void) -> ::c_int; pub fn sendmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::size_t, flags: ::c_int, ) -> ::ssize_t; pub fn recvmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::size_t, flags: ::c_int, timeout: *const ::timespec, ) -> ::ssize_t; } #[link(name = "util")] extern "C" { pub fn extattr_namespace_to_string( attrnamespace: ::c_int, string: *mut *mut ::c_char, ) -> ::c_int; pub fn extattr_string_to_namespace( string: *const ::c_char, attrnamespace: *mut ::c_int, ) -> ::c_int; } cfg_if! { if #[cfg(freebsd12)] { mod freebsd12; pub use self::freebsd12::*; } else if #[cfg(freebsd13)] { mod freebsd12; pub use self::freebsd12::*; } else if #[cfg(any(freebsd10, freebsd11))] { mod freebsd11; pub use self::freebsd11::*; } else { // Unknown freebsd version } } cfg_if! { 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 = "arm")] { mod arm; pub use self::arm::*; } else if #[cfg(target_arch = "powerpc64")] { mod powerpc64; pub use self::powerpc64::*; } else { // Unknown target_arch } } libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/powerpc64.rs010064400007650000024000000022231353453276600213640ustar0000000000000000pub type c_char = u8; pub type c_long = i64; pub type c_ulong = u64; pub type time_t = i64; pub type suseconds_t = i64; 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_long>() - 1; } else { #[doc(hidden)] pub const _ALIGNBYTES: usize = 8 - 1; } } pub const MAP_32BIT: ::c_int = 0x00080000; libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/x86.rs010064400007650000024000000022021353453276600201550ustar0000000000000000pub type c_char = i8; pub type c_long = i32; pub type c_ulong = u32; pub type time_t = i32; pub type suseconds_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, __unused: [u8; 8], } } // 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; } } libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs010064400007650000024000000002251355140103400215410ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f64; 4] } } libc-0.2.66/src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs010064400007650000024000000010451354141276600212440ustar0000000000000000pub type c_char = i8; pub type c_long = i64; pub type c_ulong = u64; pub type time_t = i64; pub type suseconds_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_long>() - 1; } else { #[doc(hidden)] pub const _ALIGNBYTES: usize = 8 - 1; } } pub const MAP_32BIT: ::c_int = 0x00080000; cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/bsd/freebsdlike/mod.rs010064400007650000024000001357021355140103400166670ustar0000000000000000pub type mode_t = u16; pub type pthread_attr_t = *mut ::c_void; pub type rlim_t = i64; pub type pthread_mutex_t = *mut ::c_void; pub type pthread_mutexattr_t = *mut ::c_void; 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_key_t = ::c_int; pub type tcflag_t = ::c_uint; pub type speed_t = ::c_uint; pub type nl_item = ::c_int; pub type id_t = i64; pub type vm_size_t = ::uintptr_t; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } impl siginfo_t { pub unsafe fn si_addr(&self) -> *mut ::c_void { self.si_addr } pub unsafe fn si_value(&self) -> ::sigval { self.si_value } } s! { pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct glob_t { pub gl_pathc: ::size_t, pub gl_matchc: ::size_t, pub gl_offs: ::size_t, pub gl_flags: ::c_int, pub gl_pathv: *mut *mut ::c_char, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, __unused6: *mut ::c_void, __unused7: *mut ::c_void, __unused8: *mut ::c_void, } pub struct addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: ::socklen_t, pub ai_canonname: *mut ::c_char, pub ai_addr: *mut ::sockaddr, pub ai_next: *mut addrinfo, } pub struct sigset_t { bits: [u32; 4], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub si_pid: ::pid_t, pub si_uid: ::uid_t, pub si_status: ::c_int, pub si_addr: *mut ::c_void, pub si_value: ::sigval, _pad1: ::c_long, _pad2: [::c_int; 7], } pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_flags: ::c_int, pub sa_mask: sigset_t, } pub struct sched_param { pub sched_priority: ::c_int, } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } pub struct sockaddr_in { pub sin_len: u8, pub sin_family: ::sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [::c_char; 8], } pub struct termios { pub c_iflag: ::tcflag_t, pub c_oflag: ::tcflag_t, pub c_cflag: ::tcflag_t, pub c_lflag: ::tcflag_t, pub c_cc: [::cc_t; ::NCCS], pub c_ispeed: ::speed_t, pub c_ospeed: ::speed_t, } pub struct flock { pub l_start: ::off_t, pub l_len: ::off_t, pub l_pid: ::pid_t, pub l_type: ::c_short, pub l_whence: ::c_short, #[cfg(not(target_os = "dragonfly"))] pub l_sysid: ::c_int, } pub struct sf_hdtr { pub headers: *mut ::iovec, pub hdr_cnt: ::c_int, pub trailers: *mut ::iovec, pub trl_cnt: ::c_int, } 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 cmsgcred { pub cmcred_pid: ::pid_t, pub cmcred_uid: ::uid_t, pub cmcred_euid: ::uid_t, pub cmcred_gid: ::gid_t, pub cmcred_ngroups: ::c_short, pub cmcred_groups: [::gid_t; CMGROUP_MAX], } pub struct rtprio { pub type_: ::c_ushort, pub prio: ::c_ushort, } pub struct in6_pktinfo { pub ipi6_addr: ::in6_addr, pub ipi6_ifindex: ::c_uint, } pub struct arphdr { pub ar_hrd: u16, pub ar_pro: u16, pub ar_hln: u8, pub ar_pln: u8, pub ar_op: u16, } } s_no_extra_traits! { pub struct sockaddr_storage { pub ss_len: u8, pub ss_family: ::sa_family_t, __ss_pad1: [u8; 6], __ss_align: i64, __ss_pad2: [u8; 112], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.ss_len == other.ss_len && self.ss_family == other.ss_family && self.__ss_pad1 == other.__ss_pad1 && self.__ss_align == other.__ss_align && self .__ss_pad2 .iter() .zip(other.__ss_pad2.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_len", &self.ss_len) .field("ss_family", &self.ss_family) .field("__ss_pad1", &self.__ss_pad1) .field("__ss_align", &self.__ss_align) // FIXME: .field("__ss_pad2", &self.__ss_pad2) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.ss_len.hash(state); self.ss_family.hash(state); self.__ss_pad1.hash(state); self.__ss_align.hash(state); self.__ss_pad2.hash(state); } } } } #[deprecated( since = "0.2.64", note = "Can vary at runtime. Use sysconf(3) instead" )] pub const AIO_LISTIO_MAX: ::c_int = 16; pub const AIO_CANCELED: ::c_int = 1; pub const AIO_NOTCANCELED: ::c_int = 2; pub const AIO_ALLDONE: ::c_int = 3; pub const LIO_NOP: ::c_int = 0; pub const LIO_WRITE: ::c_int = 1; pub const LIO_READ: ::c_int = 2; pub const LIO_WAIT: ::c_int = 1; pub const LIO_NOWAIT: ::c_int = 0; pub const SIGEV_NONE: ::c_int = 0; pub const SIGEV_SIGNAL: ::c_int = 1; pub const SIGEV_THREAD: ::c_int = 2; pub const SIGEV_KEVENT: ::c_int = 3; pub const CODESET: ::nl_item = 0; pub const D_T_FMT: ::nl_item = 1; pub const D_FMT: ::nl_item = 2; pub const T_FMT: ::nl_item = 3; pub const T_FMT_AMPM: ::nl_item = 4; pub const AM_STR: ::nl_item = 5; pub const PM_STR: ::nl_item = 6; pub const DAY_1: ::nl_item = 7; pub const DAY_2: ::nl_item = 8; pub const DAY_3: ::nl_item = 9; pub const DAY_4: ::nl_item = 10; pub const DAY_5: ::nl_item = 11; pub const DAY_6: ::nl_item = 12; pub const DAY_7: ::nl_item = 13; pub const ABDAY_1: ::nl_item = 14; pub const ABDAY_2: ::nl_item = 15; pub const ABDAY_3: ::nl_item = 16; pub const ABDAY_4: ::nl_item = 17; pub const ABDAY_5: ::nl_item = 18; pub const ABDAY_6: ::nl_item = 19; pub const ABDAY_7: ::nl_item = 20; pub const MON_1: ::nl_item = 21; pub const MON_2: ::nl_item = 22; pub const MON_3: ::nl_item = 23; pub const MON_4: ::nl_item = 24; pub const MON_5: ::nl_item = 25; pub const MON_6: ::nl_item = 26; pub const MON_7: ::nl_item = 27; pub const MON_8: ::nl_item = 28; pub const MON_9: ::nl_item = 29; pub const MON_10: ::nl_item = 30; pub const MON_11: ::nl_item = 31; pub const MON_12: ::nl_item = 32; pub const ABMON_1: ::nl_item = 33; pub const ABMON_2: ::nl_item = 34; pub const ABMON_3: ::nl_item = 35; pub const ABMON_4: ::nl_item = 36; pub const ABMON_5: ::nl_item = 37; pub const ABMON_6: ::nl_item = 38; pub const ABMON_7: ::nl_item = 39; pub const ABMON_8: ::nl_item = 40; pub const ABMON_9: ::nl_item = 41; pub const ABMON_10: ::nl_item = 42; pub const ABMON_11: ::nl_item = 43; pub const ABMON_12: ::nl_item = 44; pub const ERA: ::nl_item = 45; pub const ERA_D_FMT: ::nl_item = 46; pub const ERA_D_T_FMT: ::nl_item = 47; pub const ERA_T_FMT: ::nl_item = 48; pub const ALT_DIGITS: ::nl_item = 49; pub const RADIXCHAR: ::nl_item = 50; pub const THOUSEP: ::nl_item = 51; pub const YESEXPR: ::nl_item = 52; pub const NOEXPR: ::nl_item = 53; pub const YESSTR: ::nl_item = 54; pub const NOSTR: ::nl_item = 55; pub const CRNCYSTR: ::nl_item = 56; pub const D_MD_ORDER: ::nl_item = 57; pub const ALTMON_1: ::nl_item = 58; pub const ALTMON_2: ::nl_item = 59; pub const ALTMON_3: ::nl_item = 60; pub const ALTMON_4: ::nl_item = 61; pub const ALTMON_5: ::nl_item = 62; pub const ALTMON_6: ::nl_item = 63; pub const ALTMON_7: ::nl_item = 64; pub const ALTMON_8: ::nl_item = 65; pub const ALTMON_9: ::nl_item = 66; pub const ALTMON_10: ::nl_item = 67; pub const ALTMON_11: ::nl_item = 68; pub const ALTMON_12: ::nl_item = 69; pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; 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 SEEK_DATA: ::c_int = 3; pub const SEEK_HOLE: ::c_int = 4; 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 L_tmpnam: ::c_uint = 1024; pub const TMP_MAX: ::c_uint = 308915776; pub const O_NOCTTY: ::c_int = 32768; pub const O_DIRECT: ::c_int = 0x00010000; pub const S_IFIFO: mode_t = 4096; pub const S_IFCHR: mode_t = 8192; pub const S_IFBLK: mode_t = 24576; pub const S_IFDIR: mode_t = 16384; 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 = 61440; pub const S_IEXEC: mode_t = 64; pub const S_IWRITE: mode_t = 128; pub const S_IREAD: mode_t = 256; pub const S_IRWXU: mode_t = 448; pub const S_IXUSR: mode_t = 64; pub const S_IWUSR: mode_t = 128; pub const S_IRUSR: mode_t = 256; pub const S_IRWXG: mode_t = 56; pub const S_IXGRP: mode_t = 8; pub const S_IWGRP: mode_t = 16; pub const S_IRGRP: mode_t = 32; pub const S_IRWXO: mode_t = 7; pub const S_IXOTH: mode_t = 1; pub const S_IWOTH: mode_t = 2; pub const S_IROTH: mode_t = 4; pub const F_OK: ::c_int = 0; pub const R_OK: ::c_int = 4; pub const W_OK: ::c_int = 2; pub const X_OK: ::c_int = 1; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::c_int = 2; pub const F_LOCK: ::c_int = 1; 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 SIGHUP: ::c_int = 1; pub const SIGINT: ::c_int = 2; pub const SIGQUIT: ::c_int = 3; pub const SIGILL: ::c_int = 4; 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 SIGSEGV: ::c_int = 11; pub const SIGPIPE: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const PROT_NONE: ::c_int = 0; pub const PROT_READ: ::c_int = 1; pub const PROT_WRITE: ::c_int = 2; pub const PROT_EXEC: ::c_int = 4; pub const MAP_FILE: ::c_int = 0x0000; pub const MAP_SHARED: ::c_int = 0x0001; pub const MAP_PRIVATE: ::c_int = 0x0002; pub const MAP_FIXED: ::c_int = 0x0010; pub const MAP_ANON: ::c_int = 0x1000; pub const MAP_ANONYMOUS: ::c_int = MAP_ANON; 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 MS_SYNC: ::c_int = 0x0000; pub const MS_ASYNC: ::c_int = 0x0001; pub const MS_INVALIDATE: ::c_int = 0x0002; 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 EDEADLK: ::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 EAGAIN: ::c_int = 35; pub const EWOULDBLOCK: ::c_int = 35; pub const EINPROGRESS: ::c_int = 36; pub const EALREADY: ::c_int = 37; pub const ENOTSOCK: ::c_int = 38; pub const EDESTADDRREQ: ::c_int = 39; pub const EMSGSIZE: ::c_int = 40; pub const EPROTOTYPE: ::c_int = 41; pub const ENOPROTOOPT: ::c_int = 42; pub const EPROTONOSUPPORT: ::c_int = 43; pub const ESOCKTNOSUPPORT: ::c_int = 44; pub const EOPNOTSUPP: ::c_int = 45; pub const ENOTSUP: ::c_int = EOPNOTSUPP; pub const EPFNOSUPPORT: ::c_int = 46; pub const EAFNOSUPPORT: ::c_int = 47; pub const EADDRINUSE: ::c_int = 48; pub const EADDRNOTAVAIL: ::c_int = 49; pub const ENETDOWN: ::c_int = 50; pub const ENETUNREACH: ::c_int = 51; pub const ENETRESET: ::c_int = 52; pub const ECONNABORTED: ::c_int = 53; pub const ECONNRESET: ::c_int = 54; pub const ENOBUFS: ::c_int = 55; pub const EISCONN: ::c_int = 56; pub const ENOTCONN: ::c_int = 57; 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 ELOOP: ::c_int = 62; pub const ENAMETOOLONG: ::c_int = 63; pub const EHOSTDOWN: ::c_int = 64; pub const EHOSTUNREACH: ::c_int = 65; pub const ENOTEMPTY: ::c_int = 66; pub const EPROCLIM: ::c_int = 67; pub const EUSERS: ::c_int = 68; pub const EDQUOT: ::c_int = 69; pub const ESTALE: ::c_int = 70; pub const EREMOTE: ::c_int = 71; pub const EBADRPC: ::c_int = 72; pub const ERPCMISMATCH: ::c_int = 73; pub const EPROGUNAVAIL: ::c_int = 74; pub const EPROGMISMATCH: ::c_int = 75; pub const EPROCUNAVAIL: ::c_int = 76; pub const ENOLCK: ::c_int = 77; pub const ENOSYS: ::c_int = 78; pub const EFTYPE: ::c_int = 79; pub const EAUTH: ::c_int = 80; pub const ENEEDAUTH: ::c_int = 81; pub const EIDRM: ::c_int = 82; pub const ENOMSG: ::c_int = 83; pub const EOVERFLOW: ::c_int = 84; pub const ECANCELED: ::c_int = 85; pub const EILSEQ: ::c_int = 86; pub const ENOATTR: ::c_int = 87; pub const EDOOFUS: ::c_int = 88; pub const EBADMSG: ::c_int = 89; pub const EMULTIHOP: ::c_int = 90; pub const ENOLINK: ::c_int = 91; pub const EPROTO: ::c_int = 92; pub const POLLSTANDARD: ::c_short = ::POLLIN | ::POLLPRI | ::POLLOUT | ::POLLRDNORM | ::POLLRDBAND | ::POLLWRBAND | ::POLLERR | ::POLLHUP | ::POLLNVAL; pub const EAI_AGAIN: ::c_int = 2; pub const EAI_BADFLAGS: ::c_int = 3; pub const EAI_FAIL: ::c_int = 4; pub const EAI_FAMILY: ::c_int = 5; pub const EAI_MEMORY: ::c_int = 6; pub const EAI_NONAME: ::c_int = 8; pub const EAI_SERVICE: ::c_int = 9; pub const EAI_SOCKTYPE: ::c_int = 10; pub const EAI_SYSTEM: ::c_int = 11; pub const EAI_OVERFLOW: ::c_int = 14; pub const F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; pub const SIGTRAP: ::c_int = 5; pub const GLOB_APPEND: ::c_int = 0x0001; pub const GLOB_DOOFFS: ::c_int = 0x0002; pub const GLOB_ERR: ::c_int = 0x0004; pub const GLOB_MARK: ::c_int = 0x0008; pub const GLOB_NOCHECK: ::c_int = 0x0010; pub const GLOB_NOSORT: ::c_int = 0x0020; pub const GLOB_NOESCAPE: ::c_int = 0x2000; pub const GLOB_NOSPACE: ::c_int = -1; pub const GLOB_ABORTED: ::c_int = -2; pub const GLOB_NOMATCH: ::c_int = -3; 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_MADV_DONTNEED: ::c_int = 4; pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0; pub const PTHREAD_PROCESS_SHARED: ::c_int = 1; pub const PTHREAD_CREATE_JOINABLE: ::c_int = 0; pub const PTHREAD_CREATE_DETACHED: ::c_int = 1; pub const RLIMIT_CPU: ::c_int = 0; pub const RLIMIT_FSIZE: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; pub const RLIMIT_STACK: ::c_int = 3; pub const RLIMIT_CORE: ::c_int = 4; pub const RLIMIT_RSS: ::c_int = 5; pub const RLIMIT_MEMLOCK: ::c_int = 6; pub const RLIMIT_NPROC: ::c_int = 7; pub const RLIMIT_NOFILE: ::c_int = 8; pub const RLIMIT_SBSIZE: ::c_int = 9; pub const RLIMIT_VMEM: ::c_int = 10; pub const RLIMIT_AS: ::c_int = RLIMIT_VMEM; pub const RLIM_INFINITY: rlim_t = 0x7fff_ffff_ffff_ffff; pub const RUSAGE_SELF: ::c_int = 0; pub const RUSAGE_CHILDREN: ::c_int = -1; pub const MADV_NORMAL: ::c_int = 0; pub const MADV_RANDOM: ::c_int = 1; pub const MADV_SEQUENTIAL: ::c_int = 2; pub const MADV_WILLNEED: ::c_int = 3; pub const MADV_DONTNEED: ::c_int = 4; pub const MADV_FREE: ::c_int = 5; pub const MADV_NOSYNC: ::c_int = 6; pub const MADV_AUTOSYNC: ::c_int = 7; pub const MADV_NOCORE: ::c_int = 8; pub const MADV_CORE: ::c_int = 9; pub const MINCORE_INCORE: ::c_int = 0x1; 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; pub const AF_UNIX: ::c_int = AF_LOCAL; pub const AF_INET: ::c_int = 2; pub const AF_IMPLINK: ::c_int = 3; pub const AF_PUP: ::c_int = 4; pub const AF_CHAOS: ::c_int = 5; pub const AF_NETBIOS: ::c_int = 6; pub const AF_ISO: ::c_int = 7; pub const AF_OSI: ::c_int = AF_ISO; pub const AF_ECMA: ::c_int = 8; pub const AF_DATAKIT: ::c_int = 9; pub const AF_CCITT: ::c_int = 10; pub const AF_SNA: ::c_int = 11; pub const AF_DECnet: ::c_int = 12; pub const AF_DLI: ::c_int = 13; pub const AF_LAT: ::c_int = 14; pub const AF_HYLINK: ::c_int = 15; pub const AF_APPLETALK: ::c_int = 16; pub const AF_ROUTE: ::c_int = 17; pub const AF_LINK: ::c_int = 18; pub const pseudo_AF_XTP: ::c_int = 19; pub const AF_COIP: ::c_int = 20; pub const AF_CNT: ::c_int = 21; pub const pseudo_AF_RTIP: ::c_int = 22; pub const AF_IPX: ::c_int = 23; pub const AF_SIP: ::c_int = 24; pub const pseudo_AF_PIP: ::c_int = 25; pub const AF_ISDN: ::c_int = 26; pub const AF_E164: ::c_int = AF_ISDN; pub const pseudo_AF_KEY: ::c_int = 27; pub const AF_INET6: ::c_int = 28; pub const AF_NATM: ::c_int = 29; pub const AF_ATM: ::c_int = 30; pub const pseudo_AF_HDRCMPLT: ::c_int = 31; pub const AF_NETGRAPH: ::c_int = 32; pub const PF_UNSPEC: ::c_int = AF_UNSPEC; pub const PF_LOCAL: ::c_int = AF_LOCAL; pub const PF_UNIX: ::c_int = PF_LOCAL; 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_NETBIOS: ::c_int = AF_NETBIOS; pub const PF_ISO: ::c_int = AF_ISO; pub const PF_OSI: ::c_int = AF_ISO; 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_ROUTE: ::c_int = AF_ROUTE; pub const PF_LINK: ::c_int = AF_LINK; pub const PF_XTP: ::c_int = pseudo_AF_XTP; pub const PF_COIP: ::c_int = AF_COIP; pub const PF_CNT: ::c_int = AF_CNT; pub const PF_SIP: ::c_int = AF_SIP; pub const PF_IPX: ::c_int = AF_IPX; pub const PF_RTIP: ::c_int = pseudo_AF_RTIP; pub const PF_PIP: ::c_int = pseudo_AF_PIP; pub const PF_ISDN: ::c_int = AF_ISDN; pub const PF_KEY: ::c_int = pseudo_AF_KEY; pub const PF_INET6: ::c_int = AF_INET6; pub const PF_NATM: ::c_int = AF_NATM; pub const PF_ATM: ::c_int = AF_ATM; pub const PF_NETGRAPH: ::c_int = AF_NETGRAPH; pub const PT_TRACE_ME: ::c_int = 0; pub const PT_READ_I: ::c_int = 1; pub const PT_READ_D: ::c_int = 2; pub const PT_WRITE_I: ::c_int = 4; pub const PT_WRITE_D: ::c_int = 5; pub const PT_CONTINUE: ::c_int = 7; pub const PT_KILL: ::c_int = 8; pub const PT_STEP: ::c_int = 9; pub const PT_ATTACH: ::c_int = 10; pub const PT_DETACH: ::c_int = 11; pub const PT_IO: ::c_int = 12; pub const SOMAXCONN: ::c_int = 128; pub const MSG_OOB: ::c_int = 0x00000001; pub const MSG_PEEK: ::c_int = 0x00000002; pub const MSG_DONTROUTE: ::c_int = 0x00000004; pub const MSG_EOR: ::c_int = 0x00000008; pub const MSG_TRUNC: ::c_int = 0x00000010; pub const MSG_CTRUNC: ::c_int = 0x00000020; pub const MSG_WAITALL: ::c_int = 0x00000040; pub const MSG_DONTWAIT: ::c_int = 0x00000080; pub const MSG_EOF: ::c_int = 0x00000100; pub const SCM_TIMESTAMP: ::c_int = 0x02; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_RAW: ::c_int = 3; pub const SOCK_RDM: ::c_int = 4; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOCK_CLOEXEC: ::c_int = 0x10000000; pub const SOCK_NONBLOCK: ::c_int = 0x20000000; pub const SOCK_MAXADDRLEN: ::c_int = 255; pub const IP_TTL: ::c_int = 4; pub const IP_HDRINCL: ::c_int = 2; pub const IP_RECVDSTADDR: ::c_int = 7; pub const IP_SENDSRCADDR: ::c_int = IP_RECVDSTADDR; 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 IPV6_JOIN_GROUP: ::c_int = 12; pub const IPV6_LEAVE_GROUP: ::c_int = 13; pub const IPV6_RECVPKTINFO: ::c_int = 36; pub const IPV6_PKTINFO: ::c_int = 46; pub const IPV6_RECVTCLASS: ::c_int = 57; pub const IPV6_TCLASS: ::c_int = 61; pub const TCP_NOPUSH: ::c_int = 4; pub const TCP_NOOPT: ::c_int = 8; pub const TCP_KEEPIDLE: ::c_int = 256; pub const TCP_KEEPINTVL: ::c_int = 512; pub const TCP_KEEPCNT: ::c_int = 1024; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_DEBUG: ::c_int = 0x01; pub const SO_ACCEPTCONN: ::c_int = 0x0002; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_USELOOPBACK: ::c_int = 0x0040; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_TIMESTAMP: ::c_int = 0x0400; pub const SO_NOSIGPIPE: ::c_int = 0x0800; pub const SO_ACCEPTFILTER: ::c_int = 0x1000; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; 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; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_TYPE: ::c_int = 0x1008; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const LOCK_SH: ::c_int = 1; pub const LOCK_EX: ::c_int = 2; pub const LOCK_NB: ::c_int = 4; 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")] pub const MAP_RENAME: ::c_int = 0x0020; #[doc(hidden)] #[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; pub const MAP_NOSYNC: ::c_int = 0x0800; pub const MAP_NOCORE: ::c_int = 0x020000; pub const IPPROTO_RAW: ::c_int = 255; pub const _PC_LINK_MAX: ::c_int = 1; pub const _PC_MAX_CANON: ::c_int = 2; pub const _PC_MAX_INPUT: ::c_int = 3; pub const _PC_NAME_MAX: ::c_int = 4; pub const _PC_PATH_MAX: ::c_int = 5; pub const _PC_PIPE_BUF: ::c_int = 6; pub const _PC_CHOWN_RESTRICTED: ::c_int = 7; pub const _PC_NO_TRUNC: ::c_int = 8; pub const _PC_VDISABLE: ::c_int = 9; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 10; pub const _PC_FILESIZEBITS: ::c_int = 12; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 14; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 15; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 16; pub const _PC_REC_XFER_ALIGN: ::c_int = 17; pub const _PC_SYMLINK_MAX: ::c_int = 18; pub const _PC_MIN_HOLE_SIZE: ::c_int = 21; pub const _PC_ASYNC_IO: ::c_int = 53; pub const _PC_PRIO_IO: ::c_int = 54; pub const _PC_SYNC_IO: ::c_int = 55; pub const _PC_ACL_EXTENDED: ::c_int = 59; pub const _PC_ACL_PATH_MAX: ::c_int = 60; pub const _PC_CAP_PRESENT: ::c_int = 61; pub const _PC_INF_PRESENT: ::c_int = 62; pub const _PC_MAC_PRESENT: ::c_int = 63; pub const _SC_ARG_MAX: ::c_int = 1; pub const _SC_CHILD_MAX: ::c_int = 2; pub const _SC_CLK_TCK: ::c_int = 3; pub const _SC_NGROUPS_MAX: ::c_int = 4; pub const _SC_OPEN_MAX: ::c_int = 5; pub const _SC_JOB_CONTROL: ::c_int = 6; pub const _SC_SAVED_IDS: ::c_int = 7; pub const _SC_VERSION: ::c_int = 8; pub const _SC_BC_BASE_MAX: ::c_int = 9; pub const _SC_BC_DIM_MAX: ::c_int = 10; pub const _SC_BC_SCALE_MAX: ::c_int = 11; pub const _SC_BC_STRING_MAX: ::c_int = 12; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 13; pub const _SC_EXPR_NEST_MAX: ::c_int = 14; pub const _SC_LINE_MAX: ::c_int = 15; pub const _SC_RE_DUP_MAX: ::c_int = 16; pub const _SC_2_VERSION: ::c_int = 17; pub const _SC_2_C_BIND: ::c_int = 18; pub const _SC_2_C_DEV: ::c_int = 19; pub const _SC_2_CHAR_TERM: ::c_int = 20; pub const _SC_2_FORT_DEV: ::c_int = 21; pub const _SC_2_FORT_RUN: ::c_int = 22; pub const _SC_2_LOCALEDEF: ::c_int = 23; pub const _SC_2_SW_DEV: ::c_int = 24; pub const _SC_2_UPE: ::c_int = 25; pub const _SC_STREAM_MAX: ::c_int = 26; pub const _SC_TZNAME_MAX: ::c_int = 27; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 28; pub const _SC_MAPPED_FILES: ::c_int = 29; pub const _SC_MEMLOCK: ::c_int = 30; pub const _SC_MEMLOCK_RANGE: ::c_int = 31; pub const _SC_MEMORY_PROTECTION: ::c_int = 32; pub const _SC_MESSAGE_PASSING: ::c_int = 33; pub const _SC_PRIORITIZED_IO: ::c_int = 34; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 35; pub const _SC_REALTIME_SIGNALS: ::c_int = 36; pub const _SC_SEMAPHORES: ::c_int = 37; pub const _SC_FSYNC: ::c_int = 38; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 39; pub const _SC_SYNCHRONIZED_IO: ::c_int = 40; pub const _SC_TIMERS: ::c_int = 41; pub const _SC_AIO_LISTIO_MAX: ::c_int = 42; pub const _SC_AIO_MAX: ::c_int = 43; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 44; pub const _SC_DELAYTIMER_MAX: ::c_int = 45; pub const _SC_MQ_OPEN_MAX: ::c_int = 46; pub const _SC_PAGESIZE: ::c_int = 47; pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; pub const _SC_RTSIG_MAX: ::c_int = 48; pub const _SC_SEM_NSEMS_MAX: ::c_int = 49; pub const _SC_SEM_VALUE_MAX: ::c_int = 50; pub const _SC_SIGQUEUE_MAX: ::c_int = 51; pub const _SC_TIMER_MAX: ::c_int = 52; pub const _SC_IOV_MAX: ::c_int = 56; pub const _SC_NPROCESSORS_CONF: ::c_int = 57; pub const _SC_2_PBS: ::c_int = 59; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 60; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 61; pub const _SC_2_PBS_LOCATE: ::c_int = 62; pub const _SC_2_PBS_MESSAGE: ::c_int = 63; pub const _SC_2_PBS_TRACK: ::c_int = 64; pub const _SC_ADVISORY_INFO: ::c_int = 65; pub const _SC_BARRIERS: ::c_int = 66; pub const _SC_CLOCK_SELECTION: ::c_int = 67; pub const _SC_CPUTIME: ::c_int = 68; pub const _SC_FILE_LOCKING: ::c_int = 69; pub const _SC_NPROCESSORS_ONLN: ::c_int = 58; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 70; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 71; pub const _SC_HOST_NAME_MAX: ::c_int = 72; pub const _SC_LOGIN_NAME_MAX: ::c_int = 73; pub const _SC_MONOTONIC_CLOCK: ::c_int = 74; pub const _SC_MQ_PRIO_MAX: ::c_int = 75; pub const _SC_READER_WRITER_LOCKS: ::c_int = 76; pub const _SC_REGEXP: ::c_int = 77; pub const _SC_SHELL: ::c_int = 78; pub const _SC_SPAWN: ::c_int = 79; pub const _SC_SPIN_LOCKS: ::c_int = 80; pub const _SC_SPORADIC_SERVER: ::c_int = 81; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 82; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 83; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 85; pub const _SC_THREAD_KEYS_MAX: ::c_int = 86; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 87; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 88; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 89; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 90; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 91; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 92; pub const _SC_THREAD_STACK_MIN: ::c_int = 93; pub const _SC_THREAD_THREADS_MAX: ::c_int = 94; pub const _SC_TIMEOUTS: ::c_int = 95; pub const _SC_THREADS: ::c_int = 96; pub const _SC_TRACE: ::c_int = 97; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 98; pub const _SC_TRACE_INHERIT: ::c_int = 99; pub const _SC_TRACE_LOG: ::c_int = 100; pub const _SC_TTY_NAME_MAX: ::c_int = 101; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 102; pub const _SC_V6_ILP32_OFF32: ::c_int = 103; pub const _SC_V6_ILP32_OFFBIG: ::c_int = 104; pub const _SC_V6_LP64_OFF64: ::c_int = 105; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 106; pub const _SC_ATEXIT_MAX: ::c_int = 107; pub const _SC_XOPEN_CRYPT: ::c_int = 108; pub const _SC_XOPEN_ENH_I18N: ::c_int = 109; pub const _SC_XOPEN_LEGACY: ::c_int = 110; pub const _SC_XOPEN_REALTIME: ::c_int = 111; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 112; pub const _SC_XOPEN_SHM: ::c_int = 113; pub const _SC_XOPEN_STREAMS: ::c_int = 114; pub const _SC_XOPEN_UNIX: ::c_int = 115; pub const _SC_XOPEN_VERSION: ::c_int = 116; pub const _SC_XOPEN_XCU_VERSION: ::c_int = 117; pub const _SC_IPV6: ::c_int = 118; pub const _SC_RAW_SOCKETS: ::c_int = 119; pub const _SC_SYMLOOP_MAX: ::c_int = 120; pub const _SC_PHYS_PAGES: ::c_int = 121; pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = 0 as *mut _; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = 0 as *mut _; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = 0 as *mut _; pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 1; pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 2; pub const PTHREAD_MUTEX_NORMAL: ::c_int = 3; pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_ERRORCHECK; pub const SCHED_FIFO: ::c_int = 1; pub const SCHED_OTHER: ::c_int = 2; pub const SCHED_RR: ::c_int = 3; pub const FD_SETSIZE: usize = 1024; pub const ST_NOSUID: ::c_ulong = 2; pub const NI_MAXHOST: ::size_t = 1025; pub const RTLD_LOCAL: ::c_int = 0; pub const RTLD_NODELETE: ::c_int = 0x1000; pub const RTLD_NOLOAD: ::c_int = 0x2000; pub const RTLD_GLOBAL: ::c_int = 0x100; pub const LOG_NTP: ::c_int = 12 << 3; 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_uint = 0x2000740d; pub const TIOCNXCL: ::c_uint = 0x2000740e; pub const TIOCFLUSH: ::c_ulong = 0x80047410; 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_uint = 0x4004741a; pub const TIOCSETD: ::c_ulong = 0x8004741b; pub const TIOCGDRAINWAIT: ::c_uint = 0x40047456; pub const TIOCSDRAINWAIT: ::c_ulong = 0x80047457; pub const TIOCTIMESTAMP: ::c_uint = 0x40107459; pub const TIOCMGDTRWAIT: ::c_uint = 0x4004745a; pub const TIOCMSDTRWAIT: ::c_ulong = 0x8004745b; pub const TIOCDRAIN: ::c_uint = 0x2000745e; pub const TIOCEXT: ::c_ulong = 0x80047460; pub const TIOCSCTTY: ::c_uint = 0x20007461; pub const TIOCCONS: ::c_ulong = 0x80047462; 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_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; pub const TIOCM_ST: ::c_int = 0x8; pub const TIOCM_SR: ::c_int = 0x10; pub const TIOCM_CTS: ::c_int = 0x20; pub const TIOCM_RI: ::c_int = 0x80; pub const TIOCM_DSR: ::c_int = 0x100; pub const TIOCM_CD: ::c_int = 0x40; pub const TIOCM_CAR: ::c_int = 0x40; 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_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; pub const TIOCPKT_FLUSHWRITE: ::c_int = 0x2; pub const TIOCPKT_STOP: ::c_int = 0x4; 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_uint = 0x20007471; pub const TIOCSTI: ::c_ulong = 0x80017472; pub const TIOCOUTQ: ::c_uint = 0x40047473; pub const TIOCSPGRP: ::c_ulong = 0x80047476; pub const TIOCGPGRP: ::c_uint = 0x40047477; pub const TIOCCDTR: ::c_uint = 0x20007478; pub const TIOCSDTR: ::c_uint = 0x20007479; pub const TIOCCBRK: ::c_uint = 0x2000747a; pub const TIOCSBRK: ::c_uint = 0x2000747b; pub const TTYDISC: ::c_int = 0x0; pub const SLIPDISC: ::c_int = 0x4; pub const PPPDISC: ::c_int = 0x5; pub const NETGRAPHDISC: ::c_int = 0x6; pub const BIOCGRSIG: ::c_ulong = 0x40044272; pub const BIOCSRSIG: ::c_ulong = 0x80044273; pub const BIOCSDLT: ::c_ulong = 0x80044278; pub const BIOCGSEESENT: ::c_ulong = 0x40044276; pub const BIOCSSEESENT: ::c_ulong = 0x80044277; pub const BIOCSETF: ::c_ulong = 0x80104267; pub const BIOCGDLTLIST: ::c_ulong = 0xc0104279; pub const BIOCSRTIMEOUT: ::c_ulong = 0x8010426d; 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; pub const B75: speed_t = 75; pub const B110: speed_t = 110; pub const B134: speed_t = 134; pub const B150: speed_t = 150; pub const B200: speed_t = 200; pub const B300: speed_t = 300; pub const B600: speed_t = 600; pub const B1200: speed_t = 1200; pub const B1800: speed_t = 1800; pub const B2400: speed_t = 2400; pub const B4800: speed_t = 4800; pub const B9600: speed_t = 9600; pub const B19200: speed_t = 19200; pub const B38400: speed_t = 38400; pub const B7200: speed_t = 7200; pub const B14400: speed_t = 14400; pub const B28800: speed_t = 28800; pub const B57600: speed_t = 57600; pub const B76800: speed_t = 76800; pub const B115200: speed_t = 115200; pub const B230400: speed_t = 230400; pub const EXTA: speed_t = 19200; pub const EXTB: speed_t = 38400; pub const SEM_FAILED: *mut sem_t = 0 as *mut sem_t; pub const CRTSCTS: ::tcflag_t = 0x00030000; pub const CCTS_OFLOW: ::tcflag_t = 0x00010000; pub const CRTS_IFLOW: ::tcflag_t = 0x00020000; pub const CDTR_IFLOW: ::tcflag_t = 0x00040000; pub const CDSR_OFLOW: ::tcflag_t = 0x00080000; pub const CCAR_OFLOW: ::tcflag_t = 0x00100000; pub const VERASE2: usize = 7; pub const OCRNL: ::tcflag_t = 0x10; pub const ONOCR: ::tcflag_t = 0x20; pub const ONLRET: ::tcflag_t = 0x40; pub const CMGROUP_MAX: usize = 16; // https://github.com/freebsd/freebsd/blob/master/sys/net/bpf.h // sizeof(long) pub const BPF_ALIGNMENT: ::c_int = 8; // Values for rtprio struct (prio field) and syscall (function argument) pub const RTP_PRIO_MIN: ::c_ushort = 0; pub const RTP_PRIO_MAX: ::c_ushort = 31; pub const RTP_LOOKUP: ::c_int = 0; pub const RTP_SET: ::c_int = 1; // Flags for chflags(2) pub const UF_SETTABLE: ::c_ulong = 0x0000ffff; pub const UF_NODUMP: ::c_ulong = 0x00000001; pub const UF_IMMUTABLE: ::c_ulong = 0x00000002; pub const UF_APPEND: ::c_ulong = 0x00000004; pub const UF_OPAQUE: ::c_ulong = 0x00000008; pub const UF_NOUNLINK: ::c_ulong = 0x00000010; pub const SF_SETTABLE: ::c_ulong = 0xffff0000; pub const SF_ARCHIVED: ::c_ulong = 0x00010000; pub const SF_IMMUTABLE: ::c_ulong = 0x00020000; pub const SF_APPEND: ::c_ulong = 0x00040000; pub const SF_NOUNLINK: ::c_ulong = 0x00100000; pub const TIMER_ABSTIME: ::c_int = 1; f! { pub fn WIFCONTINUED(status: ::c_int) -> bool { status == 0x13 } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { status >> 8 } pub fn WIFSIGNALED(status: ::c_int) -> bool { (status & 0o177) != 0o177 && (status & 0o177) != 0 } pub fn WIFSTOPPED(status: ::c_int) -> bool { (status & 0o177) == 0o177 } } extern "C" { 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 daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::timezone) -> ::c_int; pub fn accept4( s: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, flags: ::c_int, ) -> ::c_int; pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int; pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int; pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int; pub fn aio_error(aiocbp: *const aiocb) -> ::c_int; pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t; pub fn aio_suspend( aiocb_list: *const *const aiocb, nitems: ::c_int, timeout: *const ::timespec, ) -> ::c_int; pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int; pub fn chflags(path: *const ::c_char, flags: ::c_ulong) -> ::c_int; pub fn chflagsat( fd: ::c_int, path: *const ::c_char, flags: ::c_ulong, atflag: ::c_int, ) -> ::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 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( grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwent_r50")] pub fn getpwent_r( pwd: *mut ::passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::passwd, ) -> ::c_int; pub fn getgrouplist( name: *const ::c_char, basegid: ::gid_t, groups: *mut ::gid_t, ngroups: *mut ::c_int, ) -> ::c_int; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::size_t, serv: *mut ::c_char, servlen: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn getpriority(which: ::c_int, who: ::c_int) -> ::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 initgroups(name: *const ::c_char, basegid: ::gid_t) -> ::c_int; #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "kevent@FBSD_1.0" )] pub fn kevent( kq: ::c_int, changelist: *const ::kevent, nchanges: ::c_int, eventlist: *mut ::kevent, nevents: ::c_int, timeout: *const ::timespec, ) -> ::c_int; pub fn lchflags(path: *const ::c_char, flags: ::c_ulong) -> ::c_int; pub fn lio_listio( mode: ::c_int, aiocb_list: *const *mut aiocb, nitems: ::c_int, sevp: *mut sigevent, ) -> ::c_int; pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int; pub fn memrchr( cx: *const ::c_void, c: ::c_int, n: ::size_t, ) -> *mut ::c_void; pub fn mkfifoat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, ) -> ::c_int; #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "mknodat@FBSD_1.1" )] pub fn mknodat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, dev: dev_t, ) -> ::c_int; pub fn mq_close(mqd: ::mqd_t) -> ::c_int; pub fn mq_getattr(mqd: ::mqd_t, attr: *mut ::mq_attr) -> ::c_int; pub fn mq_notify(mqd: ::mqd_t, notification: *const ::sigevent) -> ::c_int; pub fn mq_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::mqd_t; pub fn mq_receive( mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msg_prio: *mut ::c_uint, ) -> ::ssize_t; pub fn mq_send( mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msg_prio: ::c_uint, ) -> ::c_int; pub fn mq_setattr( mqd: ::mqd_t, newattr: *const ::mq_attr, oldattr: *mut ::mq_attr, ) -> ::c_int; pub fn mq_timedreceive( mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msg_prio: *mut ::c_uint, abs_timeout: *const ::timespec, ) -> ::ssize_t; pub fn mq_timedsend( mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msg_prio: ::c_uint, abs_timeout: *const ::timespec, ) -> ::c_int; pub fn mq_unlink(name: *const ::c_char) -> ::c_int; pub fn mincore( addr: *const ::c_void, len: ::size_t, vec: *mut ::c_char, ) -> ::c_int; pub fn newlocale( mask: ::c_int, locale: *const ::c_char, base: ::locale_t, ) -> ::locale_t; pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char; pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int; pub fn ppoll( fds: *mut ::pollfd, nfds: ::nfds_t, timeout: *const ::timespec, sigmask: *const sigset_t, ) -> ::c_int; pub fn preadv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn pthread_attr_get_np( tid: ::pthread_t, attr: *mut ::pthread_attr_t, ) -> ::c_int; pub fn pthread_attr_getguardsize( attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, stacksize: *mut ::size_t, ) -> ::c_int; pub fn pthread_condattr_getclock( attr: *const pthread_condattr_t, clock_id: *mut clockid_t, ) -> ::c_int; pub fn pthread_condattr_getpshared( attr: *const pthread_condattr_t, pshared: *mut ::c_int, ) -> ::c_int; pub fn pthread_condattr_setclock( attr: *mut pthread_condattr_t, clock_id: ::clockid_t, ) -> ::c_int; pub fn pthread_condattr_setpshared( attr: *mut pthread_condattr_t, pshared: ::c_int, ) -> ::c_int; pub fn pthread_main_np() -> ::c_int; pub fn pthread_mutex_timedlock( lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn pthread_mutexattr_getpshared( attr: *const pthread_mutexattr_t, pshared: *mut ::c_int, ) -> ::c_int; pub fn pthread_mutexattr_setpshared( attr: *mut pthread_mutexattr_t, pshared: ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_getpshared( attr: *const pthread_rwlockattr_t, val: *mut ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_setpshared( attr: *mut pthread_rwlockattr_t, val: ::c_int, ) -> ::c_int; 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 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_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_getvalue(sem: *mut sem_t, sval: *mut ::c_int) -> ::c_int; pub fn sem_timedwait( sem: *mut sem_t, abstime: *const ::timespec, ) -> ::c_int; pub fn sendfile( fd: ::c_int, s: ::c_int, offset: ::off_t, nbytes: ::size_t, hdtr: *mut ::sf_hdtr, sbytes: *mut ::off_t, flags: ::c_int, ) -> ::c_int; pub fn setdomainname(name: *const ::c_char, len: ::c_int) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::c_int) -> ::c_int; pub fn setpriority(which: ::c_int, who: ::c_int, prio: ::c_int) -> ::c_int; pub fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int; pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int; pub fn settimeofday( tv: *const ::timeval, tz: *const ::timezone, ) -> ::c_int; pub fn setutxent(); pub fn shm_open( name: *const ::c_char, oflag: ::c_int, mode: ::mode_t, ) -> ::c_int; pub fn sigtimedwait( set: *const sigset_t, info: *mut siginfo_t, timeout: *const ::timespec, ) -> ::c_int; pub fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::c_int; pub fn sysctl( name: *const ::c_int, namelen: ::c_uint, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *const ::c_void, newlen: ::size_t, ) -> ::c_int; pub fn sysctlbyname( name: *const ::c_char, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *const ::c_void, newlen: ::size_t, ) -> ::c_int; pub fn sysctlnametomib( name: *const ::c_char, mibp: *mut ::c_int, sizep: *mut ::size_t, ) -> ::c_int; pub fn uselocale(loc: ::locale_t) -> ::locale_t; pub fn utimensat( dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int, ) -> ::c_int; } #[link(name = "util")] extern "C" { pub fn openpty( amaster: *mut ::c_int, aslave: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize, ) -> ::c_int; pub fn forkpty( amaster: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize, ) -> ::pid_t; pub fn login_tty(fd: ::c_int) -> ::c_int; } cfg_if! { if #[cfg(target_os = "freebsd")] { mod freebsd; pub use self::freebsd::*; } else if #[cfg(target_os = "dragonfly")] { mod dragonfly; pub use self::dragonfly::*; } else { // ... } } libc-0.2.66/src/unix/bsd/mod.rs010064400007650000024000000611371354141276600144250ustar0000000000000000pub type wchar_t = i32; pub type off_t = i64; pub type useconds_t = u32; pub type blkcnt_t = i64; pub type socklen_t = u32; pub type sa_family_t = u8; pub type pthread_t = ::uintptr_t; pub type nfds_t = ::c_uint; s! { pub struct sockaddr { pub sa_len: u8, pub sa_family: sa_family_t, pub sa_data: [::c_char; 14], } pub struct sockaddr_in6 { pub sin6_len: u8, 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 passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_change: ::time_t, pub pw_class: *mut ::c_char, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, pub pw_expire: ::time_t, #[cfg(not(any(target_os = "macos", target_os = "ios", target_os = "netbsd", target_os = "openbsd")))] pub pw_fields: ::c_int, } 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 ifa_data: *mut ::c_void, #[cfg(target_os = "netbsd")] pub ifa_addrflags: ::c_uint } pub struct fd_set { #[cfg(all(target_pointer_width = "64", any(target_os = "freebsd", target_os = "dragonfly")))] fds_bits: [i64; FD_SETSIZE / 64], #[cfg(not(all(target_pointer_width = "64", any(target_os = "freebsd", target_os = "dragonfly"))))] fds_bits: [i32; FD_SETSIZE / 32], } 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, } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::c_int, pub msg_control: *mut ::c_void, pub msg_controllen: ::socklen_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::socklen_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct fsid_t { __fsid_val: [i32; 2], } pub struct if_nameindex { pub if_index: ::c_uint, pub if_name: *mut ::c_char, } } s_no_extra_traits! { pub struct sockaddr_un { pub sun_len: u8, pub sun_family: sa_family_t, pub sun_path: [c_char; 104] } pub struct utsname { #[cfg(not(target_os = "dragonfly"))] pub sysname: [::c_char; 256], #[cfg(target_os = "dragonfly")] pub sysname: [::c_char; 32], #[cfg(not(target_os = "dragonfly"))] pub nodename: [::c_char; 256], #[cfg(target_os = "dragonfly")] pub nodename: [::c_char; 32], #[cfg(not(target_os = "dragonfly"))] pub release: [::c_char; 256], #[cfg(target_os = "dragonfly")] pub release: [::c_char; 32], #[cfg(not(target_os = "dragonfly"))] pub version: [::c_char; 256], #[cfg(target_os = "dragonfly")] pub version: [::c_char; 32], #[cfg(not(target_os = "dragonfly"))] pub machine: [::c_char; 256], #[cfg(target_os = "dragonfly")] pub machine: [::c_char; 32], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for sockaddr_un { fn eq(&self, other: &sockaddr_un) -> bool { self.sun_len == other.sun_len && self.sun_family == other.sun_family && self .sun_path .iter() .zip(other.sun_path.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_un {} impl ::fmt::Debug for sockaddr_un { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_un") .field("sun_len", &self.sun_len) .field("sun_family", &self.sun_family) // FIXME: .field("sun_path", &self.sun_path) .finish() } } impl ::hash::Hash for sockaddr_un { fn hash(&self, state: &mut H) { self.sun_len.hash(state); self.sun_family.hash(state); self.sun_path.hash(state); } } impl PartialEq for utsname { fn eq(&self, other: &utsname) -> bool { self.sysname .iter() .zip(other.sysname.iter()) .all(|(a,b)| a == b) && self .nodename .iter() .zip(other.nodename.iter()) .all(|(a,b)| a == b) && self .release .iter() .zip(other.release.iter()) .all(|(a,b)| a == b) && self .version .iter() .zip(other.version.iter()) .all(|(a,b)| a == b) && self .machine .iter() .zip(other.machine.iter()) .all(|(a,b)| a == b) } } impl Eq for utsname {} impl ::fmt::Debug for utsname { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utsname") // FIXME: .field("sysname", &self.sysname) // FIXME: .field("nodename", &self.nodename) // FIXME: .field("release", &self.release) // FIXME: .field("version", &self.version) // FIXME: .field("machine", &self.machine) .finish() } } impl ::hash::Hash for utsname { fn hash(&self, state: &mut H) { self.sysname.hash(state); self.nodename.hash(state); self.release.hash(state); self.version.hash(state); self.machine.hash(state); } } } } 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 FIOCLEX: ::c_ulong = 0x20006601; pub const FIONCLEX: ::c_ulong = 0x20006602; pub const FIONREAD: ::c_ulong = 0x4004667f; pub const FIONBIO: ::c_ulong = 0x8004667e; pub const FIOASYNC: ::c_ulong = 0x8004667d; pub const FIOSETOWN: ::c_ulong = 0x8004667c; pub const FIOGETOWN: ::c_ulong = 0x4004667b; pub const PATH_MAX: ::c_int = 1024; pub const SA_ONSTACK: ::c_int = 0x0001; pub const SA_SIGINFO: ::c_int = 0x0040; pub const SA_RESTART: ::c_int = 0x0002; pub const SA_RESETHAND: ::c_int = 0x0004; pub const SA_NOCLDSTOP: ::c_int = 0x0008; pub const SA_NODEFER: ::c_int = 0x0010; pub const SA_NOCLDWAIT: ::c_int = 0x0020; pub const SS_ONSTACK: ::c_int = 1; pub const SS_DISABLE: ::c_int = 4; pub const SIGCHLD: ::c_int = 20; pub const SIGBUS: ::c_int = 10; pub const SIGUSR1: ::c_int = 30; pub const SIGUSR2: ::c_int = 31; pub const SIGCONT: ::c_int = 19; pub const SIGSTOP: ::c_int = 17; pub const SIGTSTP: ::c_int = 18; pub const SIGURG: ::c_int = 16; pub const SIGIO: ::c_int = 23; pub const SIGSYS: ::c_int = 12; 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 SIGINFO: ::c_int = 29; pub const SIG_SETMASK: ::c_int = 3; pub const SIG_BLOCK: ::c_int = 0x1; pub const SIG_UNBLOCK: ::c_int = 0x2; pub const IP_TOS: ::c_int = 3; pub const IP_MULTICAST_IF: ::c_int = 9; pub const IP_MULTICAST_TTL: ::c_int = 10; pub const IP_MULTICAST_LOOP: ::c_int = 11; pub const IPV6_UNICAST_HOPS: ::c_int = 4; pub const IPV6_MULTICAST_IF: ::c_int = 9; pub const IPV6_MULTICAST_HOPS: ::c_int = 10; pub const IPV6_MULTICAST_LOOP: ::c_int = 11; pub const IPV6_V6ONLY: ::c_int = 27; pub const IPTOS_ECN_NOTECT: u8 = 0x00; pub const IPTOS_ECN_MASK: u8 = 0x03; pub const IPTOS_ECN_ECT1: u8 = 0x01; pub const IPTOS_ECN_ECT0: u8 = 0x02; pub const IPTOS_ECN_CE: u8 = 0x03; pub const ST_RDONLY: ::c_ulong = 1; pub const SCM_RIGHTS: ::c_int = 0x01; pub const NCCS: usize = 20; pub const O_ACCMODE: ::c_int = 0x3; 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 = 512; pub const O_TRUNC: ::c_int = 1024; pub const O_EXCL: ::c_int = 2048; pub const O_ASYNC: ::c_int = 0x40; pub const O_SYNC: ::c_int = 0x80; pub const O_NONBLOCK: ::c_int = 0x4; pub const O_NOFOLLOW: ::c_int = 0x100; pub const O_SHLOCK: ::c_int = 0x10; pub const O_EXLOCK: ::c_int = 0x20; pub const O_FSYNC: ::c_int = O_SYNC; pub const O_NDELAY: ::c_int = O_NONBLOCK; pub const F_GETOWN: ::c_int = 5; pub const F_SETOWN: ::c_int = 6; pub const F_RDLCK: ::c_short = 1; pub const F_UNLCK: ::c_short = 2; pub const F_WRLCK: ::c_short = 3; pub const MNT_FORCE: ::c_int = 0x80000; pub const Q_SYNC: ::c_int = 0x600; pub const Q_QUOTAON: ::c_int = 0x100; pub const Q_QUOTAOFF: ::c_int = 0x200; pub const TCIOFF: ::c_int = 3; pub const TCION: ::c_int = 4; pub const TCOOFF: ::c_int = 1; pub const TCOON: ::c_int = 2; pub const TCIFLUSH: ::c_int = 1; pub const TCOFLUSH: ::c_int = 2; pub const TCIOFLUSH: ::c_int = 3; pub const TCSANOW: ::c_int = 0; pub const TCSADRAIN: ::c_int = 1; pub const TCSAFLUSH: ::c_int = 2; 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 VINTR: usize = 8; pub const VQUIT: usize = 9; pub const VSUSP: usize = 10; pub const VDSUSP: usize = 11; 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 VSTATUS: usize = 18; pub const _POSIX_VDISABLE: ::cc_t = 0xff; pub const IGNBRK: ::tcflag_t = 0x00000001; pub const BRKINT: ::tcflag_t = 0x00000002; pub const IGNPAR: ::tcflag_t = 0x00000004; pub const PARMRK: ::tcflag_t = 0x00000008; pub const INPCK: ::tcflag_t = 0x00000010; pub const ISTRIP: ::tcflag_t = 0x00000020; pub const INLCR: ::tcflag_t = 0x00000040; pub const IGNCR: ::tcflag_t = 0x00000080; pub const ICRNL: ::tcflag_t = 0x00000100; pub const IXON: ::tcflag_t = 0x00000200; pub const IXOFF: ::tcflag_t = 0x00000400; pub const IXANY: ::tcflag_t = 0x00000800; pub const IMAXBEL: ::tcflag_t = 0x00002000; pub const OPOST: ::tcflag_t = 0x1; pub const ONLCR: ::tcflag_t = 0x2; pub const OXTABS: ::tcflag_t = 0x4; pub const ONOEOT: ::tcflag_t = 0x8; pub const CIGNORE: ::tcflag_t = 0x00000001; pub const CSIZE: ::tcflag_t = 0x00000300; pub const CS5: ::tcflag_t = 0x00000000; pub const CS6: ::tcflag_t = 0x00000100; pub const CS7: ::tcflag_t = 0x00000200; pub const CS8: ::tcflag_t = 0x00000300; pub const CSTOPB: ::tcflag_t = 0x00000400; pub const CREAD: ::tcflag_t = 0x00000800; pub const PARENB: ::tcflag_t = 0x00001000; pub const PARODD: ::tcflag_t = 0x00002000; pub const HUPCL: ::tcflag_t = 0x00004000; pub const CLOCAL: ::tcflag_t = 0x00008000; pub const ECHOKE: ::tcflag_t = 0x00000001; pub const ECHOE: ::tcflag_t = 0x00000002; pub const ECHOK: ::tcflag_t = 0x00000004; pub const ECHO: ::tcflag_t = 0x00000008; pub const ECHONL: ::tcflag_t = 0x00000010; pub const ECHOPRT: ::tcflag_t = 0x00000020; pub const ECHOCTL: ::tcflag_t = 0x00000040; pub const ISIG: ::tcflag_t = 0x00000080; pub const ICANON: ::tcflag_t = 0x00000100; pub const ALTWERASE: ::tcflag_t = 0x00000200; pub const IEXTEN: ::tcflag_t = 0x00000400; pub const EXTPROC: ::tcflag_t = 0x00000800; pub const TOSTOP: ::tcflag_t = 0x00400000; pub const FLUSHO: ::tcflag_t = 0x00800000; pub const NOKERNINFO: ::tcflag_t = 0x02000000; pub const PENDIN: ::tcflag_t = 0x20000000; pub const NOFLSH: ::tcflag_t = 0x80000000; pub const MDMBUF: ::tcflag_t = 0x00100000; pub const WNOHANG: ::c_int = 0x00000001; pub const WUNTRACED: ::c_int = 0x00000002; pub const RTLD_LAZY: ::c_int = 0x1; pub const RTLD_NOW: ::c_int = 0x2; pub const RTLD_NEXT: *mut ::c_void = -1isize as *mut ::c_void; pub const RTLD_DEFAULT: *mut ::c_void = -2isize as *mut ::c_void; pub const RTLD_SELF: *mut ::c_void = -3isize as *mut ::c_void; pub const LOG_CRON: ::c_int = 9 << 3; pub const LOG_AUTHPRIV: ::c_int = 10 << 3; pub const LOG_FTP: ::c_int = 11 << 3; pub const LOG_PERROR: ::c_int = 0x20; pub const TCP_NODELAY: ::c_int = 1; pub const TCP_MAXSEG: ::c_int = 2; pub const PIPE_BUF: usize = 512; pub const POLLIN: ::c_short = 0x1; pub const POLLPRI: ::c_short = 0x2; pub const POLLOUT: ::c_short = 0x4; pub const POLLERR: ::c_short = 0x8; pub const POLLHUP: ::c_short = 0x10; pub const POLLNVAL: ::c_short = 0x20; pub const POLLRDNORM: ::c_short = 0x040; pub const POLLWRNORM: ::c_short = 0x004; pub const POLLRDBAND: ::c_short = 0x080; pub const POLLWRBAND: ::c_short = 0x100; pub const BIOCGBLEN: ::c_ulong = 0x40044266; pub const BIOCSBLEN: ::c_ulong = 0xc0044266; pub const BIOCFLUSH: ::c_uint = 0x20004268; pub const BIOCPROMISC: ::c_uint = 0x20004269; pub const BIOCGDLT: ::c_ulong = 0x4004426a; pub const BIOCGETIF: ::c_ulong = 0x4020426b; pub const BIOCSETIF: ::c_ulong = 0x8020426c; pub const BIOCGSTATS: ::c_ulong = 0x4008426f; pub const BIOCIMMEDIATE: ::c_ulong = 0x80044270; pub const BIOCVERSION: ::c_ulong = 0x40044271; pub const BIOCGHDRCMPLT: ::c_ulong = 0x40044274; pub const BIOCSHDRCMPLT: ::c_ulong = 0x80044275; pub const SIOCGIFADDR: ::c_ulong = 0xc0206921; f! { pub fn CMSG_FIRSTHDR(mhdr: *const ::msghdr) -> *mut ::cmsghdr { if (*mhdr).msg_controllen as usize >= ::mem::size_of::<::cmsghdr>() { (*mhdr).msg_control as *mut ::cmsghdr } else { 0 as *mut ::cmsghdr } } pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () { let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; let fd = fd as usize; (*set).fds_bits[fd / bits] &= !(1 << (fd % bits)); return } 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 } pub fn FD_SET(fd: ::c_int, set: *mut fd_set) -> () { let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; let fd = fd as usize; (*set).fds_bits[fd / bits] |= 1 << (fd % bits); return } pub fn FD_ZERO(set: *mut fd_set) -> () { for slot in (*set).fds_bits.iter_mut() { *slot = 0; } } pub fn WTERMSIG(status: ::c_int) -> ::c_int { status & 0o177 } pub fn WIFEXITED(status: ::c_int) -> bool { (status & 0o177) == 0 } pub fn WEXITSTATUS(status: ::c_int) -> ::c_int { status >> 8 } pub fn WCOREDUMP(status: ::c_int) -> bool { (status & 0o200) != 0 } pub fn QCMD(cmd: ::c_int, type_: ::c_int) -> ::c_int { (cmd << 8) | (type_ & 0x00ff) } } extern "C" { #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "getrlimit$UNIX2003" )] pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "setrlimit$UNIX2003" )] pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::c_int; pub fn abs(i: ::c_int) -> ::c_int; pub fn atof(s: *const ::c_char) -> ::c_double; 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 setgroups(ngroups: ::c_int, ptr: *const ::gid_t) -> ::c_int; pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int; pub fn kqueue() -> ::c_int; pub fn unmount(target: *const ::c_char, arg: ::c_int) -> ::c_int; pub fn syscall(num: ::c_int, ...) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwent50")] pub fn getpwent() -> *mut passwd; pub fn setpwent(); pub fn endpwent(); pub fn endgrent(); pub fn getgrent() -> *mut ::group; pub fn getprogname() -> *const ::c_char; pub fn setprogname(name: *const ::c_char); pub fn getloadavg(loadavg: *mut ::c_double, nelem: ::c_int) -> ::c_int; pub fn if_nameindex() -> *mut if_nameindex; pub fn if_freenameindex(ptr: *mut if_nameindex); pub fn getpeereid( socket: ::c_int, euid: *mut ::uid_t, egid: *mut ::gid_t, ) -> ::c_int; #[cfg_attr(target_os = "macos", link_name = "glob$INODE64")] #[cfg_attr(target_os = "netbsd", link_name = "__glob30")] #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "glob@FBSD_1.0" )] pub fn glob( pattern: *const ::c_char, flags: ::c_int, errfunc: ::Option< extern "C" fn(epath: *const ::c_char, errno: ::c_int) -> ::c_int, >, pglob: *mut ::glob_t, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__globfree30")] #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "globfree@FBSD_1.0" )] pub fn globfree(pglob: *mut ::glob_t); pub fn posix_madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn shm_unlink(name: *const ::c_char) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86_64"), link_name = "seekdir$INODE64" )] #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "seekdir$INODE64$UNIX2003" )] pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long); #[cfg_attr( all(target_os = "macos", target_arch = "x86_64"), link_name = "telldir$INODE64" )] #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "telldir$INODE64$UNIX2003" )] pub fn telldir(dirp: *mut ::DIR) -> ::c_long; pub fn madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "msync$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__msync13")] pub fn msync( addr: *mut ::c_void, len: ::size_t, flags: ::c_int, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "recvfrom$UNIX2003" )] pub fn recvfrom( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::ssize_t; pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__futimes50")] pub fn futimes(fd: ::c_int, times: *const ::timeval) -> ::c_int; pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "bind$UNIX2003" )] pub fn bind( socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "writev$UNIX2003" )] pub fn writev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "readv$UNIX2003" )] pub fn readv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sendmsg$UNIX2003" )] pub fn sendmsg( fd: ::c_int, msg: *const ::msghdr, flags: ::c_int, ) -> ::ssize_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "recvmsg$UNIX2003" )] pub fn recvmsg( fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int, ) -> ::ssize_t; pub fn sync(); #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")] pub fn getgrgid_r( gid: ::gid_t, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigaltstack$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")] 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; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")] pub fn getgrnam_r( name: *const ::c_char, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_sigmask$UNIX2003" )] 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; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_cancel$UNIX2003" )] pub fn pthread_cancel(thread: ::pthread_t) -> ::c_int; pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int; pub fn sem_unlink(name: *const ::c_char) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")] pub fn getpwnam_r( name: *const ::c_char, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")] pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigwait$UNIX2003" )] #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")] pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int; pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; pub fn getgrgid(gid: ::gid_t) -> *mut ::group; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "popen$UNIX2003" )] pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE; pub fn faccessat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::c_int, flags: ::c_int, ) -> ::c_int; 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 acct(filename: *const ::c_char) -> ::c_int; } cfg_if! { if #[cfg(any(target_os = "macos", target_os = "ios"))] { mod apple; pub use self::apple::*; } else if #[cfg(any(target_os = "openbsd", target_os = "netbsd"))] { mod netbsdlike; pub use self::netbsdlike::*; } else if #[cfg(any(target_os = "freebsd", target_os = "dragonfly"))] { mod freebsdlike; pub use self::freebsdlike::*; } else { // Unknown target_os } } libc-0.2.66/src/unix/bsd/netbsdlike/mod.rs010064400007650000024000000574371357020644200165530ustar0000000000000000pub type time_t = i64; pub type mode_t = u32; pub type nlink_t = u32; pub type ino_t = u64; pub type pthread_key_t = ::c_int; pub type rlim_t = u64; pub type speed_t = ::c_uint; pub type tcflag_t = ::c_uint; pub type nl_item = c_long; pub type clockid_t = ::c_int; pub type id_t = u32; pub type sem_t = *mut sem; pub type key_t = c_long; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum sem {} impl ::Copy for sem {} impl ::Clone for sem { fn clone(&self) -> sem { *self } } s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct in6_pktinfo { pub ipi6_addr: ::in6_addr, pub ipi6_ifindex: ::c_uint, } pub struct termios { pub c_iflag: ::tcflag_t, pub c_oflag: ::tcflag_t, pub c_cflag: ::tcflag_t, pub c_lflag: ::tcflag_t, pub c_cc: [::cc_t; ::NCCS], pub c_ispeed: ::c_int, pub c_ospeed: ::c_int, } pub struct flock { pub l_start: ::off_t, pub l_len: ::off_t, pub l_pid: ::pid_t, pub l_type: ::c_short, pub l_whence: ::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 const D_T_FMT: ::nl_item = 0; pub const D_FMT: ::nl_item = 1; pub const T_FMT: ::nl_item = 2; pub const T_FMT_AMPM: ::nl_item = 3; pub const AM_STR: ::nl_item = 4; pub const PM_STR: ::nl_item = 5; pub const DAY_1: ::nl_item = 6; pub const DAY_2: ::nl_item = 7; pub const DAY_3: ::nl_item = 8; pub const DAY_4: ::nl_item = 9; pub const DAY_5: ::nl_item = 10; pub const DAY_6: ::nl_item = 11; pub const DAY_7: ::nl_item = 12; pub const ABDAY_1: ::nl_item = 13; pub const ABDAY_2: ::nl_item = 14; pub const ABDAY_3: ::nl_item = 15; pub const ABDAY_4: ::nl_item = 16; pub const ABDAY_5: ::nl_item = 17; pub const ABDAY_6: ::nl_item = 18; pub const ABDAY_7: ::nl_item = 19; pub const MON_1: ::nl_item = 20; pub const MON_2: ::nl_item = 21; pub const MON_3: ::nl_item = 22; pub const MON_4: ::nl_item = 23; pub const MON_5: ::nl_item = 24; pub const MON_6: ::nl_item = 25; pub const MON_7: ::nl_item = 26; pub const MON_8: ::nl_item = 27; pub const MON_9: ::nl_item = 28; pub const MON_10: ::nl_item = 29; pub const MON_11: ::nl_item = 30; pub const MON_12: ::nl_item = 31; pub const ABMON_1: ::nl_item = 32; pub const ABMON_2: ::nl_item = 33; pub const ABMON_3: ::nl_item = 34; pub const ABMON_4: ::nl_item = 35; pub const ABMON_5: ::nl_item = 36; pub const ABMON_6: ::nl_item = 37; pub const ABMON_7: ::nl_item = 38; pub const ABMON_8: ::nl_item = 39; pub const ABMON_9: ::nl_item = 40; pub const ABMON_10: ::nl_item = 41; pub const ABMON_11: ::nl_item = 42; pub const ABMON_12: ::nl_item = 43; pub const RADIXCHAR: ::nl_item = 44; pub const THOUSEP: ::nl_item = 45; pub const YESSTR: ::nl_item = 46; pub const YESEXPR: ::nl_item = 47; pub const NOSTR: ::nl_item = 48; pub const NOEXPR: ::nl_item = 49; pub const CRNCYSTR: ::nl_item = 50; pub const CODESET: ::nl_item = 51; pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; pub const RAND_MAX: ::c_int = 2147483647; 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 L_tmpnam: ::c_uint = 1024; pub const O_NOCTTY: ::c_int = 32768; pub const S_IFIFO: mode_t = 4096; pub const S_IFCHR: mode_t = 8192; pub const S_IFBLK: mode_t = 24576; pub const S_IFDIR: mode_t = 16384; 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 = 61440; pub const S_IEXEC: mode_t = 64; pub const S_IWRITE: mode_t = 128; pub const S_IREAD: mode_t = 256; pub const S_IRWXU: mode_t = 448; pub const S_IXUSR: mode_t = 64; pub const S_IWUSR: mode_t = 128; pub const S_IRUSR: mode_t = 256; pub const S_IRWXG: mode_t = 56; pub const S_IXGRP: mode_t = 8; pub const S_IWGRP: mode_t = 16; pub const S_IRGRP: mode_t = 32; pub const S_IRWXO: mode_t = 7; pub const S_IXOTH: mode_t = 1; pub const S_IWOTH: mode_t = 2; pub const S_IROTH: mode_t = 4; pub const F_OK: ::c_int = 0; pub const R_OK: ::c_int = 4; pub const W_OK: ::c_int = 2; pub const X_OK: ::c_int = 1; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::c_int = 2; pub const F_LOCK: ::c_int = 1; pub const F_TEST: ::c_int = 3; pub const F_TLOCK: ::c_int = 2; pub const F_ULOCK: ::c_int = 0; pub const F_GETLK: ::c_int = 7; pub const F_SETLK: ::c_int = 8; pub const F_SETLKW: ::c_int = 9; 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 SIGABRT: ::c_int = 6; pub const SIGEMT: ::c_int = 7; pub const SIGFPE: ::c_int = 8; pub const SIGKILL: ::c_int = 9; pub const SIGSEGV: ::c_int = 11; pub const SIGPIPE: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const PROT_NONE: ::c_int = 0; pub const PROT_READ: ::c_int = 1; pub const PROT_WRITE: ::c_int = 2; pub const PROT_EXEC: ::c_int = 4; pub const MAP_FILE: ::c_int = 0x0000; pub const MAP_SHARED: ::c_int = 0x0001; pub const MAP_PRIVATE: ::c_int = 0x0002; pub const MAP_FIXED: ::c_int = 0x0010; pub const MAP_ANON: ::c_int = 0x1000; pub const MAP_ANONYMOUS: ::c_int = MAP_ANON; pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void; pub const IPC_CREAT: ::c_int = 0o001000; pub const IPC_EXCL: ::c_int = 0o002000; pub const IPC_NOWAIT: ::c_int = 0o004000; pub const IPC_PRIVATE: ::key_t = 0; pub const IPC_RMID: ::c_int = 0; pub const IPC_SET: ::c_int = 1; pub const IPC_STAT: ::c_int = 2; pub const MCL_CURRENT: ::c_int = 0x0001; pub const MCL_FUTURE: ::c_int = 0x0002; pub const MS_ASYNC: ::c_int = 0x0001; 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 EDEADLK: ::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 EAGAIN: ::c_int = 35; pub const EWOULDBLOCK: ::c_int = 35; pub const EINPROGRESS: ::c_int = 36; pub const EALREADY: ::c_int = 37; pub const ENOTSOCK: ::c_int = 38; pub const EDESTADDRREQ: ::c_int = 39; pub const EMSGSIZE: ::c_int = 40; pub const EPROTOTYPE: ::c_int = 41; pub const ENOPROTOOPT: ::c_int = 42; pub const EPROTONOSUPPORT: ::c_int = 43; pub const ESOCKTNOSUPPORT: ::c_int = 44; pub const EOPNOTSUPP: ::c_int = 45; pub const EPFNOSUPPORT: ::c_int = 46; pub const EAFNOSUPPORT: ::c_int = 47; pub const EADDRINUSE: ::c_int = 48; pub const EADDRNOTAVAIL: ::c_int = 49; pub const ENETDOWN: ::c_int = 50; pub const ENETUNREACH: ::c_int = 51; pub const ENETRESET: ::c_int = 52; pub const ECONNABORTED: ::c_int = 53; pub const ECONNRESET: ::c_int = 54; pub const ENOBUFS: ::c_int = 55; pub const EISCONN: ::c_int = 56; pub const ENOTCONN: ::c_int = 57; 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 ELOOP: ::c_int = 62; pub const ENAMETOOLONG: ::c_int = 63; pub const EHOSTDOWN: ::c_int = 64; pub const EHOSTUNREACH: ::c_int = 65; pub const ENOTEMPTY: ::c_int = 66; pub const EPROCLIM: ::c_int = 67; pub const EUSERS: ::c_int = 68; pub const EDQUOT: ::c_int = 69; pub const ESTALE: ::c_int = 70; pub const EREMOTE: ::c_int = 71; pub const EBADRPC: ::c_int = 72; pub const ERPCMISMATCH: ::c_int = 73; pub const EPROGUNAVAIL: ::c_int = 74; pub const EPROGMISMATCH: ::c_int = 75; pub const EPROCUNAVAIL: ::c_int = 76; pub const ENOLCK: ::c_int = 77; pub const ENOSYS: ::c_int = 78; pub const EFTYPE: ::c_int = 79; pub const EAUTH: ::c_int = 80; pub const ENEEDAUTH: ::c_int = 81; pub const F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; pub const SIGTRAP: ::c_int = 5; pub const GLOB_APPEND: ::c_int = 0x0001; pub const GLOB_DOOFFS: ::c_int = 0x0002; pub const GLOB_ERR: ::c_int = 0x0004; pub const GLOB_MARK: ::c_int = 0x0008; pub const GLOB_NOCHECK: ::c_int = 0x0010; pub const GLOB_NOSORT: ::c_int = 0x0020; pub const GLOB_NOESCAPE: ::c_int = 0x1000; pub const GLOB_NOSPACE: ::c_int = -1; pub const GLOB_ABORTED: ::c_int = -2; pub const GLOB_NOMATCH: ::c_int = -3; pub const GLOB_NOSYS: ::c_int = -4; 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_MADV_DONTNEED: ::c_int = 4; pub const PTHREAD_CREATE_JOINABLE: ::c_int = 0; pub const PTHREAD_CREATE_DETACHED: ::c_int = 1; pub const PT_TRACE_ME: ::c_int = 0; pub const PT_READ_I: ::c_int = 1; pub const PT_READ_D: ::c_int = 2; pub const PT_WRITE_I: ::c_int = 4; pub const PT_WRITE_D: ::c_int = 5; pub const PT_CONTINUE: ::c_int = 7; pub const PT_KILL: ::c_int = 8; pub const PT_ATTACH: ::c_int = 9; pub const PT_DETACH: ::c_int = 10; pub const PT_IO: ::c_int = 11; // http://man.openbsd.org/OpenBSD-current/man2/clock_getres.2 // The man page says clock_gettime(3) can accept various values as clockid_t but // http://fxr.watson.org/fxr/source/kern/kern_time.c?v=OPENBSD;im=excerpts#L161 // the implementation rejects anything other than the below two // // http://netbsd.gw.com/cgi-bin/man-cgi?clock_gettime // https://github.com/jsonn/src/blob/HEAD/sys/kern/subr_time.c#L222 // Basically the same goes for NetBSD pub const CLOCK_REALTIME: ::clockid_t = 0; pub const CLOCK_MONOTONIC: ::clockid_t = 3; pub const RLIMIT_CPU: ::c_int = 0; pub const RLIMIT_FSIZE: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; pub const RLIMIT_STACK: ::c_int = 3; pub const RLIMIT_CORE: ::c_int = 4; pub const RLIMIT_RSS: ::c_int = 5; pub const RLIMIT_MEMLOCK: ::c_int = 6; pub const RLIMIT_NPROC: ::c_int = 7; pub const RLIMIT_NOFILE: ::c_int = 8; pub const RLIM_INFINITY: rlim_t = 0x7fff_ffff_ffff_ffff; pub const RLIM_SAVED_MAX: rlim_t = RLIM_INFINITY; pub const RLIM_SAVED_CUR: rlim_t = RLIM_INFINITY; pub const RUSAGE_SELF: ::c_int = 0; pub const RUSAGE_CHILDREN: ::c_int = -1; pub const MADV_NORMAL: ::c_int = 0; pub const MADV_RANDOM: ::c_int = 1; pub const MADV_SEQUENTIAL: ::c_int = 2; pub const MADV_WILLNEED: ::c_int = 3; pub const MADV_DONTNEED: ::c_int = 4; pub const MADV_FREE: ::c_int = 6; pub const AF_UNSPEC: ::c_int = 0; pub const AF_LOCAL: ::c_int = 1; pub const AF_UNIX: ::c_int = AF_LOCAL; pub const AF_INET: ::c_int = 2; pub const AF_IMPLINK: ::c_int = 3; pub const AF_PUP: ::c_int = 4; pub const AF_CHAOS: ::c_int = 5; pub const AF_NS: ::c_int = 6; pub const AF_ISO: ::c_int = 7; pub const AF_OSI: ::c_int = AF_ISO; pub const AF_DATAKIT: ::c_int = 9; pub const AF_CCITT: ::c_int = 10; pub const AF_SNA: ::c_int = 11; pub const AF_DECnet: ::c_int = 12; pub const AF_DLI: ::c_int = 13; pub const AF_LAT: ::c_int = 14; pub const AF_HYLINK: ::c_int = 15; pub const AF_APPLETALK: ::c_int = 16; pub const AF_LINK: ::c_int = 18; pub const pseudo_AF_XTP: ::c_int = 19; pub const AF_COIP: ::c_int = 20; pub const AF_CNT: ::c_int = 21; pub const pseudo_AF_RTIP: ::c_int = 22; pub const AF_IPX: ::c_int = 23; pub const AF_INET6: ::c_int = 24; pub const pseudo_AF_PIP: ::c_int = 25; pub const AF_ISDN: ::c_int = 26; pub const AF_E164: ::c_int = AF_ISDN; pub const AF_NATM: ::c_int = 27; pub const PF_UNSPEC: ::c_int = AF_UNSPEC; pub const PF_LOCAL: ::c_int = AF_LOCAL; pub const PF_UNIX: ::c_int = PF_LOCAL; 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_ISO: ::c_int = AF_ISO; pub const PF_OSI: ::c_int = AF_ISO; 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_LINK: ::c_int = AF_LINK; pub const PF_XTP: ::c_int = pseudo_AF_XTP; pub const PF_COIP: ::c_int = AF_COIP; pub const PF_CNT: ::c_int = AF_CNT; pub const PF_IPX: ::c_int = AF_IPX; pub const PF_INET6: ::c_int = AF_INET6; pub const PF_RTIP: ::c_int = pseudo_AF_RTIP; pub const PF_PIP: ::c_int = pseudo_AF_PIP; pub const PF_ISDN: ::c_int = AF_ISDN; pub const PF_NATM: ::c_int = AF_NATM; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_RAW: ::c_int = 3; pub const SOCK_RDM: ::c_int = 4; pub const SOCK_SEQPACKET: ::c_int = 5; pub const IP_TTL: ::c_int = 4; pub const IP_HDRINCL: ::c_int = 2; pub const IP_ADD_MEMBERSHIP: ::c_int = 12; pub const IP_DROP_MEMBERSHIP: ::c_int = 13; pub const IPV6_RECVPKTINFO: ::c_int = 36; pub const IPV6_PKTINFO: ::c_int = 46; pub const IPV6_RECVTCLASS: ::c_int = 57; pub const IPV6_TCLASS: ::c_int = 61; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_DEBUG: ::c_int = 0x01; pub const SO_ACCEPTCONN: ::c_int = 0x0002; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_USELOOPBACK: ::c_int = 0x0040; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; pub const SO_SNDLOWAT: ::c_int = 0x1003; pub const SO_RCVLOWAT: ::c_int = 0x1004; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_TYPE: ::c_int = 0x1008; pub const SOMAXCONN: ::c_int = 128; pub const MSG_OOB: ::c_int = 0x1; pub const MSG_PEEK: ::c_int = 0x2; pub const MSG_DONTROUTE: ::c_int = 0x4; pub const MSG_EOR: ::c_int = 0x8; pub const MSG_TRUNC: ::c_int = 0x10; pub const MSG_CTRUNC: ::c_int = 0x20; pub const MSG_WAITALL: ::c_int = 0x40; pub const MSG_DONTWAIT: ::c_int = 0x80; pub const MSG_BCAST: ::c_int = 0x100; pub const MSG_MCAST: ::c_int = 0x200; pub const MSG_NOSIGNAL: ::c_int = 0x400; pub const MSG_CMSG_CLOEXEC: ::c_int = 0x800; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const LOCK_SH: ::c_int = 1; pub const LOCK_EX: ::c_int = 2; pub const LOCK_NB: ::c_int = 4; pub const LOCK_UN: ::c_int = 8; pub const IPPROTO_RAW: ::c_int = 255; pub const _SC_ARG_MAX: ::c_int = 1; pub const _SC_CHILD_MAX: ::c_int = 2; pub const _SC_NGROUPS_MAX: ::c_int = 4; pub const _SC_OPEN_MAX: ::c_int = 5; pub const _SC_JOB_CONTROL: ::c_int = 6; pub const _SC_SAVED_IDS: ::c_int = 7; pub const _SC_VERSION: ::c_int = 8; pub const _SC_BC_BASE_MAX: ::c_int = 9; pub const _SC_BC_DIM_MAX: ::c_int = 10; pub const _SC_BC_SCALE_MAX: ::c_int = 11; pub const _SC_BC_STRING_MAX: ::c_int = 12; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 13; pub const _SC_EXPR_NEST_MAX: ::c_int = 14; pub const _SC_LINE_MAX: ::c_int = 15; pub const _SC_RE_DUP_MAX: ::c_int = 16; pub const _SC_2_VERSION: ::c_int = 17; pub const _SC_2_C_BIND: ::c_int = 18; pub const _SC_2_C_DEV: ::c_int = 19; pub const _SC_2_CHAR_TERM: ::c_int = 20; pub const _SC_2_FORT_DEV: ::c_int = 21; pub const _SC_2_FORT_RUN: ::c_int = 22; pub const _SC_2_LOCALEDEF: ::c_int = 23; pub const _SC_2_SW_DEV: ::c_int = 24; pub const _SC_2_UPE: ::c_int = 25; pub const _SC_STREAM_MAX: ::c_int = 26; pub const _SC_TZNAME_MAX: ::c_int = 27; pub const _SC_PAGESIZE: ::c_int = 28; pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; pub const _SC_FSYNC: ::c_int = 29; pub const _SC_XOPEN_SHM: ::c_int = 30; pub const Q_GETQUOTA: ::c_int = 0x300; pub const Q_SETQUOTA: ::c_int = 0x400; pub const RTLD_GLOBAL: ::c_int = 0x100; pub const LOG_NFACILITIES: ::c_int = 24; pub const HW_NCPU: ::c_int = 3; pub const B0: speed_t = 0; pub const B50: speed_t = 50; pub const B75: speed_t = 75; pub const B110: speed_t = 110; pub const B134: speed_t = 134; pub const B150: speed_t = 150; pub const B200: speed_t = 200; pub const B300: speed_t = 300; pub const B600: speed_t = 600; pub const B1200: speed_t = 1200; pub const B1800: speed_t = 1800; pub const B2400: speed_t = 2400; pub const B4800: speed_t = 4800; pub const B9600: speed_t = 9600; pub const B19200: speed_t = 19200; pub const B38400: speed_t = 38400; pub const B7200: speed_t = 7200; pub const B14400: speed_t = 14400; pub const B28800: speed_t = 28800; pub const B57600: speed_t = 57600; pub const B76800: speed_t = 76800; pub const B115200: speed_t = 115200; pub const B230400: speed_t = 230400; pub const EXTA: speed_t = 19200; pub const EXTB: speed_t = 38400; pub const SEM_FAILED: *mut sem_t = 0 as *mut sem_t; pub const CRTSCTS: ::tcflag_t = 0x00010000; pub const CRTS_IFLOW: ::tcflag_t = CRTSCTS; pub const CCTS_OFLOW: ::tcflag_t = CRTSCTS; pub const OCRNL: ::tcflag_t = 0x10; pub const TIOCEXCL: ::c_ulong = 0x2000740d; pub const TIOCNXCL: ::c_ulong = 0x2000740e; pub const TIOCFLUSH: ::c_ulong = 0x80047410; pub const TIOCGETA: ::c_ulong = 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 TIOCSETD: ::c_ulong = 0x8004741b; 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 TIOCSTART: ::c_ulong = 0x2000746e; pub const TIOCSTOP: ::c_ulong = 0x2000746f; pub const TIOCSCTTY: ::c_ulong = 0x20007461; pub const TIOCGWINSZ: ::c_ulong = 0x40087468; pub const TIOCSWINSZ: ::c_ulong = 0x80087467; 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_RNG: ::c_int = 0o0200; pub const TIOCM_DSR: ::c_int = 0o0400; pub const TIOCM_CD: ::c_int = TIOCM_CAR; pub const TIOCM_RI: ::c_int = TIOCM_RNG; // Flags for chflags(2) pub const UF_SETTABLE: ::c_ulong = 0x0000ffff; pub const UF_NODUMP: ::c_ulong = 0x00000001; pub const UF_IMMUTABLE: ::c_ulong = 0x00000002; pub const UF_APPEND: ::c_ulong = 0x00000004; pub const UF_OPAQUE: ::c_ulong = 0x00000008; pub const SF_SETTABLE: ::c_ulong = 0xffff0000; pub const SF_ARCHIVED: ::c_ulong = 0x00010000; pub const SF_IMMUTABLE: ::c_ulong = 0x00020000; pub const SF_APPEND: ::c_ulong = 0x00040000; pub const TIMER_ABSTIME: ::c_int = 1; #[link(name = "util")] extern "C" { pub fn setgrent(); 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 daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; pub fn mincore( addr: *mut ::c_void, len: ::size_t, vec: *mut ::c_char, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__clock_getres50")] pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__clock_gettime50")] pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__clock_settime50")] pub fn clock_settime( clk_id: ::clockid_t, tp: *const ::timespec, ) -> ::c_int; pub fn __errno() -> *mut ::c_int; pub fn shm_open( name: *const ::c_char, oflag: ::c_int, mode: ::mode_t, ) -> ::c_int; pub fn memrchr( cx: *const ::c_void, c: ::c_int, n: ::size_t, ) -> *mut ::c_void; 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; pub fn pwritev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn preadv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int; pub fn utimensat( dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int, ) -> ::c_int; pub fn fdatasync(fd: ::c_int) -> ::c_int; pub fn openpty( amaster: *mut ::c_int, aslave: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize, ) -> ::c_int; pub fn forkpty( amaster: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize, ) -> ::pid_t; pub fn login_tty(fd: ::c_int) -> ::c_int; 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 mknodat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, dev: dev_t, ) -> ::c_int; pub fn mkfifoat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, ) -> ::c_int; pub fn sem_timedwait( sem: *mut sem_t, abstime: *const ::timespec, ) -> ::c_int; pub fn sem_getvalue(sem: *mut sem_t, sval: *mut ::c_int) -> ::c_int; pub fn pthread_condattr_setclock( attr: *mut pthread_condattr_t, clock_id: ::clockid_t, ) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn pthread_mutex_timedlock( lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::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 getdomainname(name: *mut ::c_char, len: ::size_t) -> ::c_int; pub fn setdomainname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn uname(buf: *mut ::utsname) -> ::c_int; 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; } cfg_if! { if #[cfg(target_os = "netbsd")] { mod netbsd; pub use self::netbsd::*; } else if #[cfg(target_os = "openbsd")] { mod openbsd; pub use self::openbsd::*; } else { // Unknown target_os } } libc-0.2.66/src/unix/bsd/netbsdlike/netbsd/aarch64.rs010064400007650000024000000011611353453276600204750ustar0000000000000000use PT_FIRSTMACH; pub type c_long = i64; pub type c_ulong = u64; pub type c_char = u8; pub type __cpu_simple_lock_nv_t = ::c_uchar; // 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 PT_GETREGS: ::c_int = PT_FIRSTMACH + 0; pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 1; pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 2; pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 3; libc-0.2.66/src/unix/bsd/netbsdlike/netbsd/arm.rs010064400007650000024000000011641353453276600200270ustar0000000000000000use PT_FIRSTMACH; pub type c_long = i32; pub type c_ulong = u32; pub type c_char = u8; pub type __cpu_simple_lock_nv_t = ::c_int; // 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; } } pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1; pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2; pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3; pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4; libc-0.2.66/src/unix/bsd/netbsdlike/netbsd/mod.rs010064400007650000024000002017061357020644200200200ustar0000000000000000pub type clock_t = ::c_uint; pub type suseconds_t = ::c_int; pub type dev_t = u64; pub type blksize_t = i32; pub type fsblkcnt_t = u64; 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; pub type lwpid_t = ::c_uint; pub type shmatt_t = ::c_uint; impl siginfo_t { pub unsafe fn si_value(&self) -> ::sigval { #[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, } (*(self as *const siginfo_t as *const siginfo_timer)).value } } s! { pub struct aiocb { pub aio_offset: ::off_t, pub aio_buf: *mut ::c_void, pub aio_nbytes: ::size_t, pub aio_fildes: ::c_int, pub aio_lio_opcode: ::c_int, pub aio_reqprio: ::c_int, pub aio_sigevent: ::sigevent, _state: ::c_int, _errno: ::c_int, _retval: ::ssize_t } pub struct glob_t { pub gl_pathc: ::size_t, pub gl_matchc: ::size_t, pub gl_offs: ::size_t, pub gl_flags: ::c_int, pub gl_pathv: *mut *mut ::c_char, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, __unused6: *mut ::c_void, __unused7: *mut ::c_void, __unused8: *mut ::c_void, } pub struct mq_attr { pub mq_flags: ::c_long, pub mq_maxmsg: ::c_long, pub mq_msgsize: ::c_long, pub mq_curmsgs: ::c_long, } pub struct sigset_t { __bits: [u32; 4], } pub struct stat { pub st_dev: ::dev_t, pub st_mode: ::mode_t, pub st_ino: ::ino_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_atimensec: ::c_long, pub st_mtime: ::time_t, pub st_mtimensec: ::c_long, pub st_ctime: ::time_t, pub st_ctimensec: ::c_long, pub st_birthtime: ::time_t, pub st_birthtimensec: ::c_long, pub st_size: ::off_t, pub st_blocks: ::blkcnt_t, pub st_blksize: ::blksize_t, pub st_flags: u32, pub st_gen: u32, pub st_spare: [u32; 2], } pub struct addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: ::socklen_t, pub ai_canonname: *mut ::c_char, pub ai_addr: *mut ::sockaddr, pub ai_next: *mut ::addrinfo, } pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, pub si_errno: ::c_int, __pad1: ::c_int, pub si_addr: *mut ::c_void, __pad2: [u64; 13], } pub struct pthread_attr_t { pta_magic: ::c_uint, pta_flags: ::c_int, pta_private: *mut ::c_void, } pub struct pthread_mutex_t { ptm_magic: ::c_uint, ptm_errorcheck: __pthread_spin_t, #[cfg(any(target_arch = "sparc", target_arch = "sparc64", target_arch = "x86", target_arch = "x86_64"))] ptm_pad1: [u8; 3], // actually a union with a non-unused, 0-initialized field ptm_unused: __pthread_spin_t, #[cfg(any(target_arch = "sparc", target_arch = "sparc64", target_arch = "x86", target_arch = "x86_64"))] ptm_pad2: [u8; 3], ptm_owner: ::pthread_t, ptm_waiters: *mut u8, ptm_recursed: ::c_uint, ptm_spare2: *mut ::c_void, } pub struct pthread_mutexattr_t { ptma_magic: ::c_uint, ptma_private: *mut ::c_void, } pub struct pthread_rwlockattr_t { ptra_magic: ::c_uint, ptra_private: *mut ::c_void, } pub struct pthread_cond_t { ptc_magic: ::c_uint, ptc_lock: __pthread_spin_t, ptc_waiters_first: *mut u8, ptc_waiters_last: *mut u8, ptc_mutex: *mut ::pthread_mutex_t, ptc_private: *mut ::c_void, } pub struct pthread_condattr_t { ptca_magic: ::c_uint, ptca_private: *mut ::c_void, } pub struct pthread_rwlock_t { ptr_magic: ::c_uint, ptr_interlock: __pthread_spin_t, ptr_rblocked_first: *mut u8, ptr_rblocked_last: *mut u8, ptr_wblocked_first: *mut u8, ptr_wblocked_last: *mut u8, ptr_nreaders: ::c_uint, ptr_owner: ::pthread_t, ptr_private: *mut ::c_void, } pub struct kevent { pub ident: ::uintptr_t, pub filter: u32, pub flags: u32, pub fflags: u32, pub data: i64, pub udata: ::intptr_t, } pub struct dqblk { pub dqb_bhardlimit: u32, pub dqb_bsoftlimit: u32, pub dqb_curblocks: u32, pub dqb_ihardlimit: u32, pub dqb_isoftlimit: u32, pub dqb_curinodes: u32, pub dqb_btime: i32, pub dqb_itime: i32, } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *const ::c_void, } 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 if_data { pub ifi_type: ::c_uchar, pub ifi_addrlen: ::c_uchar, pub ifi_hdrlen: ::c_uchar, pub ifi_link_state: ::c_int, pub ifi_mtu: u64, pub ifi_metric: u64, 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_lastchange: ::timespec, } pub struct if_msghdr { 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_data: if_data, } pub struct sockcred { 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 sockaddr_dl { pub sdl_len: ::c_uchar, pub sdl_family: ::c_uchar, pub sdl_index: ::c_ushort, pub sdl_type: u8, pub sdl_nlen: u8, pub sdl_alen: u8, pub sdl_slen: u8, pub sdl_data: [::c_char; 12], } pub struct mmsghdr { pub msg_hdr: ::msghdr, pub msg_len: ::c_uint, } pub struct __exit_status { pub e_termination: u16, pub e_exit: u16, } 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 utmp { pub ut_line: [::c_char; UT_LINESIZE], pub ut_name: [::c_char; UT_NAMESIZE], pub ut_host: [::c_char; UT_HOSTSIZE], pub ut_time: ::time_t } pub struct lastlog { pub ll_line: [::c_char; UT_LINESIZE], pub ll_host: [::c_char; UT_HOSTSIZE], pub ll_time: ::time_t } } s_no_extra_traits! { pub struct utmpx { pub ut_name: [::c_char; _UTX_USERSIZE], pub ut_id: [::c_char; _UTX_IDSIZE], pub ut_line: [::c_char; _UTX_LINESIZE], pub ut_host: [::c_char; _UTX_HOSTSIZE], pub ut_session: u16, pub ut_type: u16, pub ut_pid: ::pid_t, pub ut_exit: __exit_status, pub ut_ss: sockaddr_storage, pub ut_tv: ::timeval, pub ut_pad: [u8; _UTX_PADSIZE], } 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 in_pktinfo { pub ipi_addr: ::in_addr, pub ipi_ifindex: ::c_uint, } #[repr(packed)] pub struct arphdr { pub ar_hrd: u16, pub ar_pro: u16, pub ar_hln: u8, pub ar_pln: u8, pub ar_op: u16, } #[repr(packed)] pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct sockaddr_in { pub sin_len: u8, pub sin_family: ::sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [i8; 8], } pub struct dirent { pub d_fileno: ::ino_t, pub d_reclen: u16, pub d_namlen: u16, pub d_type: u8, pub d_name: [::c_char; 512], } pub struct statvfs { pub f_flag: ::c_ulong, pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_iosize: ::c_ulong, pub f_blocks: ::fsblkcnt_t, pub f_bfree: ::fsblkcnt_t, pub f_bavail: ::fsblkcnt_t, pub f_bresvd: ::fsblkcnt_t, pub f_files: ::fsfilcnt_t, pub f_ffree: ::fsfilcnt_t, pub f_favail: ::fsfilcnt_t, pub f_fresvd: ::fsfilcnt_t, pub f_syncreads: u64, pub f_syncwrites: u64, pub f_asyncreads: u64, pub f_asyncwrites: u64, pub f_fsidx: ::fsid_t, pub f_fsid: ::c_ulong, pub f_namemax: ::c_ulong, pub f_owner: ::uid_t, pub f_spare: [u32; 4], pub f_fstypename: [::c_char; 32], pub f_mntonname: [::c_char; 1024], pub f_mntfromname: [::c_char; 1024], } pub struct sockaddr_storage { pub ss_len: u8, pub ss_family: ::sa_family_t, __ss_pad1: [u8; 6], __ss_pad2: i64, __ss_pad3: [u8; 112], } pub struct sigevent { pub sigev_notify: ::c_int, pub sigev_signo: ::c_int, pub sigev_value: ::sigval, __unused1: *mut ::c_void, //actually a function pointer pub sigev_notify_attributes: *mut ::c_void } } 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_pid == other.ut_pid && self.ut_name == other.ut_name && self.ut_line == other.ut_line && self.ut_id == other.ut_id && self.ut_exit == other.ut_exit && self.ut_session == other.ut_session && self.ut_tv == other.ut_tv && self.ut_ss == other.ut_ss && self .ut_pad .iter() .zip(other.ut_pad.iter()) .all(|(a,b)| a == b) && self .ut_host .iter() .zip(other.ut_host.iter()) .all(|(a,b)| a == b) } } impl Eq for utmpx {} impl ::fmt::Debug for utmpx { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utmpx") .field("ut_name", &self.ut_name) .field("ut_id", &self.ut_id) .field("ut_line", &self.ut_line) // FIXME .field("ut_host", &self.ut_host) .field("ut_session", &self.ut_session) .field("ut_type", &self.ut_type) .field("ut_pid", &self.ut_pid) .field("ut_exit", &self.ut_exit) .field("ut_ss", &self.ut_ss) .field("ut_tv", &self.ut_tv) // FIXME .field("ut_pad", &self.ut_pad) .finish() } } impl ::hash::Hash for utmpx { fn hash(&self, state: &mut H) { self.ut_name.hash(state); self.ut_type.hash(state); self.ut_pid.hash(state); self.ut_line.hash(state); self.ut_id.hash(state); self.ut_host.hash(state); self.ut_exit.hash(state); self.ut_session.hash(state); self.ut_tv.hash(state); self.ut_ss.hash(state); self.ut_pad.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_ss == other.ll_ss && self .ll_host .iter() .zip(other.ll_host.iter()) .all(|(a,b)| a == b) } } 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) // FIXME.field("ll_host", &self.ll_host) .field("ll_ss", &self.ll_ss) .finish() } } impl ::hash::Hash for lastlogx { fn hash(&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 in_pktinfo { fn eq(&self, other: &in_pktinfo) -> bool { self.ipi_addr == other.ipi_addr && self.ipi_ifindex == other.ipi_ifindex } } impl Eq for in_pktinfo {} impl ::fmt::Debug for in_pktinfo { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("in_pktinfo") .field("ipi_addr", &self.ipi_addr) .field("ipi_ifindex", &self.ipi_ifindex) .finish() } } impl ::hash::Hash for in_pktinfo { fn hash(&self, state: &mut H) { self.ipi_addr.hash(state); self.ipi_ifindex.hash(state); } } impl PartialEq for arphdr { fn eq(&self, other: &arphdr) -> bool { self.ar_hrd == other.ar_hrd && self.ar_pro == other.ar_pro && self.ar_hln == other.ar_hln && self.ar_pln == other.ar_pln && self.ar_op == other.ar_op } } impl Eq for arphdr {} impl ::fmt::Debug for arphdr { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { let ar_hrd = self.ar_hrd; let ar_pro = self.ar_pro; let ar_op = self.ar_op; f.debug_struct("arphdr") .field("ar_hrd", &ar_hrd) .field("ar_pro", &ar_pro) .field("ar_hln", &self.ar_hln) .field("ar_pln", &self.ar_pln) .field("ar_op", &ar_op) .finish() } } impl ::hash::Hash for arphdr { fn hash(&self, state: &mut H) { let ar_hrd = self.ar_hrd; let ar_pro = self.ar_pro; let ar_op = self.ar_op; ar_hrd.hash(state); ar_pro.hash(state); self.ar_hln.hash(state); self.ar_pln.hash(state); ar_op.hash(state); } } impl PartialEq for in_addr { fn eq(&self, other: &in_addr) -> bool { self.s_addr == other.s_addr } } impl Eq for in_addr {} impl ::fmt::Debug for in_addr { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { let s_addr = self.s_addr; f.debug_struct("in_addr") .field("s_addr", &s_addr) .finish() } } impl ::hash::Hash for in_addr { fn hash(&self, state: &mut H) { let s_addr = self.s_addr; s_addr.hash(state); } } impl PartialEq for ip_mreq { fn eq(&self, other: &ip_mreq) -> bool { self.imr_multiaddr == other.imr_multiaddr && self.imr_interface == other.imr_interface } } impl Eq for ip_mreq {} impl ::fmt::Debug for ip_mreq { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("ip_mreq") .field("imr_multiaddr", &self.imr_multiaddr) .field("imr_interface", &self.imr_interface) .finish() } } impl ::hash::Hash for ip_mreq { fn hash(&self, state: &mut H) { self.imr_multiaddr.hash(state); self.imr_interface.hash(state); } } impl PartialEq for sockaddr_in { fn eq(&self, other: &sockaddr_in) -> bool { self.sin_len == other.sin_len && self.sin_family == other.sin_family && self.sin_port == other.sin_port && self.sin_addr == other.sin_addr && self.sin_zero == other.sin_zero } } impl Eq for sockaddr_in {} impl ::fmt::Debug for sockaddr_in { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_in") .field("sin_len", &self.sin_len) .field("sin_family", &self.sin_family) .field("sin_port", &self.sin_port) .field("sin_addr", &self.sin_addr) .field("sin_zero", &self.sin_zero) .finish() } } impl ::hash::Hash for sockaddr_in { fn hash(&self, state: &mut H) { self.sin_len.hash(state); self.sin_family.hash(state); self.sin_port.hash(state); self.sin_addr.hash(state); self.sin_zero.hash(state); } } impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_fileno == other.d_fileno && self.d_reclen == other.d_reclen && self.d_namlen == other.d_namlen && self.d_type == other.d_type && self .d_name .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_reclen", &self.d_reclen) .field("d_namlen", &self.d_namlen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_fileno.hash(state); self.d_reclen.hash(state); self.d_namlen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for statvfs { fn eq(&self, other: &statvfs) -> bool { self.f_flag == other.f_flag && self.f_bsize == other.f_bsize && self.f_frsize == other.f_frsize && 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_bresvd == other.f_bresvd && self.f_files == other.f_files && self.f_ffree == other.f_ffree && self.f_favail == other.f_favail && self.f_fresvd == other.f_fresvd && self.f_syncreads == other.f_syncreads && self.f_syncwrites == other.f_syncwrites && self.f_asyncreads == other.f_asyncreads && self.f_asyncwrites == other.f_asyncwrites && self.f_fsidx == other.f_fsidx && self.f_fsid == other.f_fsid && self.f_namemax == other.f_namemax && self.f_owner == other.f_owner && self.f_spare == other.f_spare && self.f_fstypename == other.f_fstypename && self .f_mntonname .iter() .zip(other.f_mntonname.iter()) .all(|(a,b)| a == b) && self .f_mntfromname .iter() .zip(other.f_mntfromname.iter()) .all(|(a,b)| a == b) } } impl Eq for statvfs {} impl ::fmt::Debug for statvfs { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("statvfs") .field("f_flag", &self.f_flag) .field("f_bsize", &self.f_bsize) .field("f_frsize", &self.f_frsize) .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_bresvd", &self.f_bresvd) .field("f_files", &self.f_files) .field("f_ffree", &self.f_ffree) .field("f_favail", &self.f_favail) .field("f_fresvd", &self.f_fresvd) .field("f_syncreads", &self.f_syncreads) .field("f_syncwrites", &self.f_syncwrites) .field("f_asyncreads", &self.f_asyncreads) .field("f_asyncwrites", &self.f_asyncwrites) .field("f_fsidx", &self.f_fsidx) .field("f_fsid", &self.f_fsid) .field("f_namemax", &self.f_namemax) .field("f_owner", &self.f_owner) .field("f_spare", &self.f_spare) .field("f_fstypename", &self.f_fstypename) // FIXME: .field("f_mntonname", &self.f_mntonname) // FIXME: .field("f_mntfromname", &self.f_mntfromname) .finish() } } impl ::hash::Hash for statvfs { fn hash(&self, state: &mut H) { self.f_flag.hash(state); self.f_bsize.hash(state); self.f_frsize.hash(state); self.f_iosize.hash(state); self.f_blocks.hash(state); self.f_bfree.hash(state); self.f_bavail.hash(state); self.f_bresvd.hash(state); self.f_files.hash(state); self.f_ffree.hash(state); self.f_favail.hash(state); self.f_fresvd.hash(state); self.f_syncreads.hash(state); self.f_syncwrites.hash(state); self.f_asyncreads.hash(state); self.f_asyncwrites.hash(state); self.f_fsidx.hash(state); self.f_fsid.hash(state); self.f_namemax.hash(state); self.f_owner.hash(state); self.f_spare.hash(state); self.f_fstypename.hash(state); self.f_mntonname.hash(state); self.f_mntfromname.hash(state); } } impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.ss_len == other.ss_len && self.ss_family == other.ss_family && self.__ss_pad1 == other.__ss_pad1 && self.__ss_pad2 == other.__ss_pad2 && self .__ss_pad3 .iter() .zip(other.__ss_pad3.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_len", &self.ss_len) .field("ss_family", &self.ss_family) .field("__ss_pad1", &self.__ss_pad1) .field("__ss_pad2", &self.__ss_pad2) // FIXME: .field("__ss_pad3", &self.__ss_pad3) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.ss_len.hash(state); self.ss_family.hash(state); self.__ss_pad1.hash(state); self.__ss_pad2.hash(state); self.__ss_pad3.hash(state); } } impl PartialEq for sigevent { fn eq(&self, other: &sigevent) -> bool { self.sigev_notify == other.sigev_notify && self.sigev_signo == other.sigev_signo && self.sigev_value == other.sigev_value && self.sigev_notify_attributes == other.sigev_notify_attributes } } impl Eq for sigevent {} impl ::fmt::Debug for sigevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigevent") .field("sigev_notify", &self.sigev_notify) .field("sigev_signo", &self.sigev_signo) .field("sigev_value", &self.sigev_value) .field("sigev_notify_attributes", &self.sigev_notify_attributes) .finish() } } impl ::hash::Hash for sigevent { fn hash(&self, state: &mut H) { self.sigev_notify.hash(state); self.sigev_signo.hash(state); self.sigev_value.hash(state); self.sigev_notify_attributes.hash(state); } } } } pub const AT_FDCWD: ::c_int = -100; pub const AT_EACCESS: ::c_int = 0x100; 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 EXTATTR_NAMESPACE_USER: ::c_int = 1; pub const EXTATTR_NAMESPACE_SYSTEM: ::c_int = 2; pub const LC_COLLATE_MASK: ::c_int = (1 << ::LC_COLLATE); pub const LC_CTYPE_MASK: ::c_int = (1 << ::LC_CTYPE); pub const LC_MONETARY_MASK: ::c_int = (1 << ::LC_MONETARY); pub const LC_NUMERIC_MASK: ::c_int = (1 << ::LC_NUMERIC); pub const LC_TIME_MASK: ::c_int = (1 << ::LC_TIME); pub const LC_MESSAGES_MASK: ::c_int = (1 << ::LC_MESSAGES); pub const LC_ALL_MASK: ::c_int = !0; pub const ERA: ::nl_item = 52; pub const ERA_D_FMT: ::nl_item = 53; pub const ERA_D_T_FMT: ::nl_item = 54; pub const ERA_T_FMT: ::nl_item = 55; pub const ALT_DIGITS: ::nl_item = 56; pub const O_CLOEXEC: ::c_int = 0x400000; pub const O_ALT_IO: ::c_int = 0x40000; pub const O_NOSIGPIPE: ::c_int = 0x1000000; pub const O_SEARCH: ::c_int = 0x800000; pub const O_DIRECTORY: ::c_int = 0x200000; pub const O_DIRECT: ::c_int = 0x00080000; pub const O_RSYNC: ::c_int = 0x00020000; pub const MS_SYNC: ::c_int = 0x4; pub const MS_INVALIDATE: ::c_int = 0x2; #[deprecated(since = "0.2.64", note = "Not stable across OS versions")] pub const RLIM_NLIMITS: ::c_int = 12; pub const EIDRM: ::c_int = 82; pub const ENOMSG: ::c_int = 83; pub const EOVERFLOW: ::c_int = 84; pub const EILSEQ: ::c_int = 85; pub const ENOTSUP: ::c_int = 86; pub const ECANCELED: ::c_int = 87; pub const EBADMSG: ::c_int = 88; pub const ENODATA: ::c_int = 89; pub const ENOSR: ::c_int = 90; pub const ENOSTR: ::c_int = 91; pub const ETIME: ::c_int = 92; pub const ENOATTR: ::c_int = 93; pub const EMULTIHOP: ::c_int = 94; pub const ENOLINK: ::c_int = 95; pub const EPROTO: ::c_int = 96; pub const ELAST: ::c_int = 96; pub const F_DUPFD_CLOEXEC: ::c_int = 12; 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 IP_RECVDSTADDR: ::c_int = 7; pub const IP_SENDSRCADDR: ::c_int = IP_RECVDSTADDR; pub const IP_RECVIF: ::c_int = 20; pub const IP_PKTINFO: ::c_int = 25; pub const IP_RECVPKTINFO: ::c_int = 26; pub const IPV6_JOIN_GROUP: ::c_int = 12; pub const IPV6_LEAVE_GROUP: ::c_int = 13; pub const TCP_KEEPIDLE: ::c_int = 3; pub const TCP_KEEPINTVL: ::c_int = 5; pub const TCP_KEEPCNT: ::c_int = 6; pub const TCP_KEEPINIT: ::c_int = 7; pub const TCP_INFO: ::c_int = 9; pub const TCP_MD5SIG: ::c_int = 0x10; pub const TCP_CONGCTL: ::c_int = 0x20; pub const SOCK_CONN_DGRAM: ::c_int = 6; pub const SOCK_DCCP: ::c_int = SOCK_CONN_DGRAM; pub const SOCK_NOSIGPIPE: ::c_int = 0x40000000; pub const SOCK_FLAGS_MASK: ::c_int = 0xf0000000; pub const SO_SNDTIMEO: ::c_int = 0x100b; pub const SO_RCVTIMEO: ::c_int = 0x100c; pub const SO_ACCEPTFILTER: ::c_int = 0x1000; pub const SO_TIMESTAMP: ::c_int = 0x2000; pub const SO_OVERFLOWED: ::c_int = 0x1009; pub const SO_NOHEADER: ::c_int = 0x100a; // https://github.com/NetBSD/src/blob/trunk/sys/net/if.h#L373 pub const IFF_UP: ::c_int = 0x0001; // interface is up pub const IFF_BROADCAST: ::c_int = 0x0002; // broadcast address valid pub const IFF_DEBUG: ::c_int = 0x0004; // turn on debugging pub const IFF_LOOPBACK: ::c_int = 0x0008; // is a loopback net pub const IFF_POINTOPOINT: ::c_int = 0x0010; // interface is point-to-point link pub const IFF_NOTRAILERS: ::c_int = 0x0020; // avoid use of trailers pub const IFF_RUNNING: ::c_int = 0x0040; // resources allocated pub const IFF_NOARP: ::c_int = 0x0080; // no address resolution protocol pub const IFF_PROMISC: ::c_int = 0x0100; // receive all packets pub const IFF_ALLMULTI: ::c_int = 0x0200; // receive all multicast packets pub const IFF_OACTIVE: ::c_int = 0x0400; // transmission in progress pub const IFF_SIMPLEX: ::c_int = 0x0800; // 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_MULTICAST: ::c_int = 0x8000; // supports multicast // sys/netinet/in.h // Protocols (RFC 1700) // NOTE: These are in addition to the constants defined in src/unix/mod.rs // IPPROTO_IP defined in src/unix/mod.rs /// Hop-by-hop option header pub const IPPROTO_HOPOPTS: ::c_int = 0; // IPPROTO_ICMP defined in src/unix/mod.rs /// group mgmt protocol pub const IPPROTO_IGMP: ::c_int = 2; /// gateway^2 (deprecated) pub const IPPROTO_GGP: ::c_int = 3; /// for compatibility pub const IPPROTO_IPIP: ::c_int = 4; // IPPROTO_TCP defined in src/unix/mod.rs /// exterior gateway protocol pub const IPPROTO_EGP: ::c_int = 8; /// pup pub const IPPROTO_PUP: ::c_int = 12; // IPPROTO_UDP defined in src/unix/mod.rs /// xns idp pub const IPPROTO_IDP: ::c_int = 22; /// tp-4 w/ class negotiation pub const IPPROTO_TP: ::c_int = 29; /// DCCP pub const IPPROTO_DCCP: ::c_int = 33; // IPPROTO_IPV6 defined in src/unix/mod.rs /// IP6 routing header pub const IPPROTO_ROUTING: ::c_int = 43; /// IP6 fragmentation header pub const IPPROTO_FRAGMENT: ::c_int = 44; /// resource reservation pub const IPPROTO_RSVP: ::c_int = 46; /// General Routing Encap. pub const IPPROTO_GRE: ::c_int = 47; /// IP6 Encap Sec. Payload pub const IPPROTO_ESP: ::c_int = 50; /// IP6 Auth Header pub const IPPROTO_AH: ::c_int = 51; /// IP Mobility RFC 2004 pub const IPPROTO_MOBILE: ::c_int = 55; /// IPv6 ICMP pub const IPPROTO_IPV6_ICMP: ::c_int = 58; // IPPROTO_ICMPV6 defined in src/unix/mod.rs /// IP6 no next header pub const IPPROTO_NONE: ::c_int = 59; /// IP6 destination option pub const IPPROTO_DSTOPTS: ::c_int = 60; /// ISO cnlp pub const IPPROTO_EON: ::c_int = 80; /// Ethernet-in-IP pub const IPPROTO_ETHERIP: ::c_int = 97; /// encapsulation header pub const IPPROTO_ENCAP: ::c_int = 98; /// Protocol indep. multicast pub const IPPROTO_PIM: ::c_int = 103; /// IP Payload Comp. Protocol pub const IPPROTO_IPCOMP: ::c_int = 108; /// VRRP RFC 2338 pub const IPPROTO_VRRP: ::c_int = 112; /// Common Address Resolution Protocol pub const IPPROTO_CARP: ::c_int = 112; /// L2TPv3 // TEMP: Disabled for now; this constant was added to NetBSD on 2017-02-16, // but isn't yet supported by the NetBSD rumprun kernel image used for // libc testing. //pub const IPPROTO_L2TP: ::c_int = 115; /// SCTP pub const IPPROTO_SCTP: ::c_int = 132; /// PFSYNC pub const IPPROTO_PFSYNC: ::c_int = 240; pub const IPPROTO_MAX: ::c_int = 256; /// last return value of *_input(), meaning "all job for this pkt is done". pub const IPPROTO_DONE: ::c_int = 257; /// sysctl placeholder for (FAST_)IPSEC pub const CTL_IPPROTO_IPSEC: ::c_int = 258; pub const AF_OROUTE: ::c_int = 17; pub const AF_ARP: ::c_int = 28; pub const pseudo_AF_KEY: ::c_int = 29; pub const pseudo_AF_HDRCMPLT: ::c_int = 30; pub const AF_BLUETOOTH: ::c_int = 31; pub const AF_IEEE80211: ::c_int = 32; pub const AF_MPLS: ::c_int = 33; pub const AF_ROUTE: ::c_int = 34; pub const NET_RT_DUMP: ::c_int = 1; pub const NET_RT_FLAGS: ::c_int = 2; pub const NET_RT_OOOIFLIST: ::c_int = 3; pub const NET_RT_OOIFLIST: ::c_int = 4; pub const NET_RT_OIFLIST: ::c_int = 5; pub const NET_RT_IFLIST: ::c_int = 6; pub const NET_RT_MAXID: ::c_int = 7; pub const PF_OROUTE: ::c_int = AF_OROUTE; pub const PF_ARP: ::c_int = AF_ARP; pub const PF_KEY: ::c_int = pseudo_AF_KEY; pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH; pub const PF_MPLS: ::c_int = AF_MPLS; pub const PF_ROUTE: ::c_int = AF_ROUTE; pub const MSG_NBIO: ::c_int = 0x1000; pub const MSG_WAITFORONE: ::c_int = 0x2000; pub const MSG_NOTIFICATION: ::c_int = 0x4000; pub const SCM_TIMESTAMP: ::c_int = 0x08; pub const SCM_CREDS: ::c_int = 0x10; pub const O_DSYNC: ::c_int = 0x10000; pub const MAP_RENAME: ::c_int = 0x20; pub const MAP_NORESERVE: ::c_int = 0x40; pub const MAP_HASSEMAPHORE: ::c_int = 0x200; pub const MAP_WIRED: ::c_int = 0x800; pub const DCCP_TYPE_REQUEST: ::c_int = 0; pub const DCCP_TYPE_RESPONSE: ::c_int = 1; pub const DCCP_TYPE_DATA: ::c_int = 2; pub const DCCP_TYPE_ACK: ::c_int = 3; pub const DCCP_TYPE_DATAACK: ::c_int = 4; pub const DCCP_TYPE_CLOSEREQ: ::c_int = 5; pub const DCCP_TYPE_CLOSE: ::c_int = 6; pub const DCCP_TYPE_RESET: ::c_int = 7; pub const DCCP_TYPE_MOVE: ::c_int = 8; pub const DCCP_FEATURE_CC: ::c_int = 1; pub const DCCP_FEATURE_ECN: ::c_int = 2; pub const DCCP_FEATURE_ACKRATIO: ::c_int = 3; pub const DCCP_FEATURE_ACKVECTOR: ::c_int = 4; pub const DCCP_FEATURE_MOBILITY: ::c_int = 5; pub const DCCP_FEATURE_LOSSWINDOW: ::c_int = 6; pub const DCCP_FEATURE_CONN_NONCE: ::c_int = 8; pub const DCCP_FEATURE_IDENTREG: ::c_int = 7; pub const DCCP_OPT_PADDING: ::c_int = 0; pub const DCCP_OPT_DATA_DISCARD: ::c_int = 1; pub const DCCP_OPT_SLOW_RECV: ::c_int = 2; pub const DCCP_OPT_BUF_CLOSED: ::c_int = 3; pub const DCCP_OPT_CHANGE_L: ::c_int = 32; pub const DCCP_OPT_CONFIRM_L: ::c_int = 33; pub const DCCP_OPT_CHANGE_R: ::c_int = 34; pub const DCCP_OPT_CONFIRM_R: ::c_int = 35; pub const DCCP_OPT_INIT_COOKIE: ::c_int = 36; pub const DCCP_OPT_NDP_COUNT: ::c_int = 37; pub const DCCP_OPT_ACK_VECTOR0: ::c_int = 38; pub const DCCP_OPT_ACK_VECTOR1: ::c_int = 39; pub const DCCP_OPT_RECV_BUF_DROPS: ::c_int = 40; pub const DCCP_OPT_TIMESTAMP: ::c_int = 41; pub const DCCP_OPT_TIMESTAMP_ECHO: ::c_int = 42; pub const DCCP_OPT_ELAPSEDTIME: ::c_int = 43; pub const DCCP_OPT_DATACHECKSUM: ::c_int = 44; pub const DCCP_REASON_UNSPEC: ::c_int = 0; pub const DCCP_REASON_CLOSED: ::c_int = 1; pub const DCCP_REASON_INVALID: ::c_int = 2; pub const DCCP_REASON_OPTION_ERR: ::c_int = 3; pub const DCCP_REASON_FEA_ERR: ::c_int = 4; pub const DCCP_REASON_CONN_REF: ::c_int = 5; pub const DCCP_REASON_BAD_SNAME: ::c_int = 6; pub const DCCP_REASON_BAD_COOKIE: ::c_int = 7; pub const DCCP_REASON_INV_MOVE: ::c_int = 8; pub const DCCP_REASON_UNANSW_CH: ::c_int = 10; pub const DCCP_REASON_FRUITLESS_NEG: ::c_int = 11; pub const DCCP_CCID: ::c_int = 1; pub const DCCP_CSLEN: ::c_int = 2; pub const DCCP_MAXSEG: ::c_int = 4; pub const DCCP_SERVICE: ::c_int = 8; pub const DCCP_NDP_LIMIT: ::c_int = 16; pub const DCCP_SEQ_NUM_LIMIT: ::c_int = 16777216; pub const DCCP_MAX_OPTIONS: ::c_int = 32; pub const DCCP_MAX_PKTS: ::c_int = 100; pub const _PC_LINK_MAX: ::c_int = 1; pub const _PC_MAX_CANON: ::c_int = 2; pub const _PC_MAX_INPUT: ::c_int = 3; pub const _PC_NAME_MAX: ::c_int = 4; pub const _PC_PATH_MAX: ::c_int = 5; pub const _PC_PIPE_BUF: ::c_int = 6; pub const _PC_CHOWN_RESTRICTED: ::c_int = 7; pub const _PC_NO_TRUNC: ::c_int = 8; pub const _PC_VDISABLE: ::c_int = 9; pub const _PC_SYNC_IO: ::c_int = 10; pub const _PC_FILESIZEBITS: ::c_int = 11; pub const _PC_SYMLINK_MAX: ::c_int = 12; pub const _PC_2_SYMLINKS: ::c_int = 13; pub const _PC_ACL_EXTENDED: ::c_int = 14; pub const _PC_MIN_HOLE_SIZE: ::c_int = 15; pub const _SC_SYNCHRONIZED_IO: ::c_int = 31; pub const _SC_IOV_MAX: ::c_int = 32; pub const _SC_MAPPED_FILES: ::c_int = 33; pub const _SC_MEMLOCK: ::c_int = 34; pub const _SC_MEMLOCK_RANGE: ::c_int = 35; pub const _SC_MEMORY_PROTECTION: ::c_int = 36; pub const _SC_LOGIN_NAME_MAX: ::c_int = 37; pub const _SC_MONOTONIC_CLOCK: ::c_int = 38; pub const _SC_CLK_TCK: ::c_int = 39; pub const _SC_ATEXIT_MAX: ::c_int = 40; pub const _SC_THREADS: ::c_int = 41; pub const _SC_SEMAPHORES: ::c_int = 42; pub const _SC_BARRIERS: ::c_int = 43; pub const _SC_TIMERS: ::c_int = 44; pub const _SC_SPIN_LOCKS: ::c_int = 45; pub const _SC_READER_WRITER_LOCKS: ::c_int = 46; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 47; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 48; pub const _SC_CLOCK_SELECTION: ::c_int = 49; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 50; pub const _SC_AIO_LISTIO_MAX: ::c_int = 51; pub const _SC_AIO_MAX: ::c_int = 52; pub const _SC_MESSAGE_PASSING: ::c_int = 53; pub const _SC_MQ_OPEN_MAX: ::c_int = 54; pub const _SC_MQ_PRIO_MAX: ::c_int = 55; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 56; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 57; pub const _SC_THREAD_KEYS_MAX: ::c_int = 58; pub const _SC_THREAD_STACK_MIN: ::c_int = 59; pub const _SC_THREAD_THREADS_MAX: ::c_int = 60; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 61; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 62; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 63; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 64; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 65; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 66; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 67; pub const _SC_TTY_NAME_MAX: ::c_int = 68; pub const _SC_HOST_NAME_MAX: ::c_int = 69; pub const _SC_PASS_MAX: ::c_int = 70; pub const _SC_REGEXP: ::c_int = 71; pub const _SC_SHELL: ::c_int = 72; pub const _SC_SYMLOOP_MAX: ::c_int = 73; pub const _SC_V6_ILP32_OFF32: ::c_int = 74; pub const _SC_V6_ILP32_OFFBIG: ::c_int = 75; pub const _SC_V6_LP64_OFF64: ::c_int = 76; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 77; pub const _SC_2_PBS: ::c_int = 80; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 81; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 82; pub const _SC_2_PBS_LOCATE: ::c_int = 83; pub const _SC_2_PBS_MESSAGE: ::c_int = 84; pub const _SC_2_PBS_TRACK: ::c_int = 85; pub const _SC_SPAWN: ::c_int = 86; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 87; pub const _SC_TIMER_MAX: ::c_int = 88; pub const _SC_SEM_NSEMS_MAX: ::c_int = 89; pub const _SC_CPUTIME: ::c_int = 90; pub const _SC_THREAD_CPUTIME: ::c_int = 91; pub const _SC_DELAYTIMER_MAX: ::c_int = 92; // These two variables will be supported in NetBSD 8.0 // pub const _SC_SIGQUEUE_MAX : ::c_int = 93; // pub const _SC_REALTIME_SIGNALS : ::c_int = 94; pub const _SC_PHYS_PAGES: ::c_int = 121; pub const _SC_NPROCESSORS_CONF: ::c_int = 1001; pub const _SC_NPROCESSORS_ONLN: ::c_int = 1002; pub const _SC_SCHED_RT_TS: ::c_int = 2001; pub const _SC_SCHED_PRI_MIN: ::c_int = 2002; pub const _SC_SCHED_PRI_MAX: ::c_int = 2003; pub const FD_SETSIZE: usize = 0x100; pub const ST_NOSUID: ::c_ulong = 8; pub const BIOCGRSIG: ::c_ulong = 0x40044272; pub const BIOCSRSIG: ::c_ulong = 0x80044273; pub const BIOCSDLT: ::c_ulong = 0x80044278; pub const BIOCGSEESENT: ::c_ulong = 0x40044276; pub const BIOCSSEESENT: ::c_ulong = 0x80044277; cfg_if! { if #[cfg(any(target_arch = "sparc", target_arch = "sparc64", target_arch = "x86", target_arch = "x86_64"))] { pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { ptm_magic: 0x33330003, ptm_errorcheck: 0, ptm_pad1: [0; 3], ptm_unused: 0, ptm_pad2: [0; 3], ptm_waiters: 0 as *mut _, ptm_owner: 0, ptm_recursed: 0, ptm_spare2: 0 as *mut _, }; } else { pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { ptm_magic: 0x33330003, ptm_errorcheck: 0, ptm_unused: 0, ptm_waiters: 0 as *mut _, ptm_owner: 0, ptm_recursed: 0, ptm_spare2: 0 as *mut _, }; } } pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { ptc_magic: 0x55550005, ptc_lock: 0, ptc_waiters_first: 0 as *mut _, ptc_waiters_last: 0 as *mut _, ptc_mutex: 0 as *mut _, ptc_private: 0 as *mut _, }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { ptr_magic: 0x99990009, ptr_interlock: 0, ptr_rblocked_first: 0 as *mut _, ptr_rblocked_last: 0 as *mut _, ptr_wblocked_first: 0 as *mut _, ptr_wblocked_last: 0 as *mut _, ptr_nreaders: 0, ptr_owner: 0, ptr_private: 0 as *mut _, }; pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0; 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 EVFILT_AIO: u32 = 2; pub const EVFILT_PROC: u32 = 4; pub const EVFILT_READ: u32 = 0; pub const EVFILT_SIGNAL: u32 = 5; pub const EVFILT_TIMER: u32 = 6; pub const EVFILT_VNODE: u32 = 3; pub const EVFILT_WRITE: u32 = 1; pub const EV_ADD: u32 = 0x1; pub const EV_DELETE: u32 = 0x2; pub const EV_ENABLE: u32 = 0x4; pub const EV_DISABLE: u32 = 0x8; pub const EV_ONESHOT: u32 = 0x10; pub const EV_CLEAR: u32 = 0x20; pub const EV_RECEIPT: u32 = 0x40; pub const EV_DISPATCH: u32 = 0x80; pub const EV_FLAG1: u32 = 0x2000; pub const EV_ERROR: u32 = 0x4000; pub const EV_EOF: u32 = 0x8000; pub const EV_SYSFLAGS: u32 = 0xf000; pub const NOTE_LOWAT: u32 = 0x00000001; pub const NOTE_DELETE: u32 = 0x00000001; pub const NOTE_WRITE: u32 = 0x00000002; pub const NOTE_EXTEND: u32 = 0x00000004; pub const NOTE_ATTRIB: u32 = 0x00000008; pub const NOTE_LINK: u32 = 0x00000010; pub const NOTE_RENAME: u32 = 0x00000020; pub const NOTE_REVOKE: u32 = 0x00000040; pub const NOTE_EXIT: u32 = 0x80000000; pub const NOTE_FORK: u32 = 0x40000000; pub const NOTE_EXEC: u32 = 0x20000000; pub const NOTE_PDATAMASK: u32 = 0x000fffff; pub const NOTE_PCTRLMASK: u32 = 0xf0000000; pub const NOTE_TRACK: u32 = 0x00000001; pub const NOTE_TRACKERR: u32 = 0x00000002; pub const NOTE_CHILD: u32 = 0x00000004; pub const TMP_MAX: ::c_uint = 308915776; pub const NI_MAXHOST: ::socklen_t = 1025; pub const RTLD_NOLOAD: ::c_int = 0x2000; pub const RTLD_LOCAL: ::c_int = 0x200; pub const CTL_MAXNAME: ::c_int = 12; pub const SYSCTL_NAMELEN: ::c_int = 32; pub const SYSCTL_DEFSIZE: ::c_int = 8; pub const CTLTYPE_NODE: ::c_int = 1; pub const CTLTYPE_INT: ::c_int = 2; pub const CTLTYPE_STRING: ::c_int = 3; pub const CTLTYPE_QUAD: ::c_int = 4; pub const CTLTYPE_STRUCT: ::c_int = 5; pub const CTLTYPE_BOOL: ::c_int = 6; pub const CTLFLAG_READONLY: ::c_int = 0x00000000; pub const CTLFLAG_READWRITE: ::c_int = 0x00000070; pub const CTLFLAG_ANYWRITE: ::c_int = 0x00000080; pub const CTLFLAG_PRIVATE: ::c_int = 0x00000100; pub const CTLFLAG_PERMANENT: ::c_int = 0x00000200; pub const CTLFLAG_OWNDATA: ::c_int = 0x00000400; pub const CTLFLAG_IMMEDIATE: ::c_int = 0x00000800; pub const CTLFLAG_HEX: ::c_int = 0x00001000; pub const CTLFLAG_ROOT: ::c_int = 0x00002000; pub const CTLFLAG_ANYNUMBER: ::c_int = 0x00004000; pub const CTLFLAG_HIDDEN: ::c_int = 0x00008000; pub const CTLFLAG_ALIAS: ::c_int = 0x00010000; pub const CTLFLAG_MMAP: ::c_int = 0x00020000; pub const CTLFLAG_OWNDESC: ::c_int = 0x00040000; pub const CTLFLAG_UNSIGNED: ::c_int = 0x00080000; pub const SYSCTL_VERS_MASK: ::c_int = 0xff000000; pub const SYSCTL_VERS_0: ::c_int = 0x00000000; pub const SYSCTL_VERS_1: ::c_int = 0x01000000; pub const SYSCTL_VERSION: ::c_int = SYSCTL_VERS_1; pub const CTL_EOL: ::c_int = -1; pub const CTL_QUERY: ::c_int = -2; pub const CTL_CREATE: ::c_int = -3; pub const CTL_CREATESYM: ::c_int = -4; pub const CTL_DESTROY: ::c_int = -5; pub const CTL_MMAP: ::c_int = -6; pub const CTL_DESCRIBE: ::c_int = -7; pub const CTL_UNSPEC: ::c_int = 0; pub const CTL_KERN: ::c_int = 1; pub const CTL_VM: ::c_int = 2; pub const CTL_VFS: ::c_int = 3; pub const CTL_NET: ::c_int = 4; pub const CTL_DEBUG: ::c_int = 5; pub const CTL_HW: ::c_int = 6; pub const CTL_MACHDEP: ::c_int = 7; pub const CTL_USER: ::c_int = 8; pub const CTL_DDB: ::c_int = 9; pub const CTL_PROC: ::c_int = 10; pub const CTL_VENDOR: ::c_int = 11; pub const CTL_EMUL: ::c_int = 12; pub const CTL_SECURITY: ::c_int = 13; pub const CTL_MAXID: ::c_int = 14; pub const KERN_OSTYPE: ::c_int = 1; pub const KERN_OSRELEASE: ::c_int = 2; pub const KERN_OSREV: ::c_int = 3; pub const KERN_VERSION: ::c_int = 4; pub const KERN_MAXVNODES: ::c_int = 5; pub const KERN_MAXPROC: ::c_int = 6; pub const KERN_MAXFILES: ::c_int = 7; pub const KERN_ARGMAX: ::c_int = 8; pub const KERN_SECURELVL: ::c_int = 9; pub const KERN_HOSTNAME: ::c_int = 10; pub const KERN_HOSTID: ::c_int = 11; pub const KERN_CLOCKRATE: ::c_int = 12; pub const KERN_VNODE: ::c_int = 13; pub const KERN_PROC: ::c_int = 14; pub const KERN_FILE: ::c_int = 15; pub const KERN_PROF: ::c_int = 16; pub const KERN_POSIX1: ::c_int = 17; pub const KERN_NGROUPS: ::c_int = 18; pub const KERN_JOB_CONTROL: ::c_int = 19; pub const KERN_SAVED_IDS: ::c_int = 20; pub const KERN_OBOOTTIME: ::c_int = 21; pub const KERN_DOMAINNAME: ::c_int = 22; pub const KERN_MAXPARTITIONS: ::c_int = 23; pub const KERN_RAWPARTITION: ::c_int = 24; pub const KERN_NTPTIME: ::c_int = 25; pub const KERN_TIMEX: ::c_int = 26; pub const KERN_AUTONICETIME: ::c_int = 27; pub const KERN_AUTONICEVAL: ::c_int = 28; pub const KERN_RTC_OFFSET: ::c_int = 29; pub const KERN_ROOT_DEVICE: ::c_int = 30; pub const KERN_MSGBUFSIZE: ::c_int = 31; pub const KERN_FSYNC: ::c_int = 32; pub const KERN_OLDSYSVMSG: ::c_int = 33; pub const KERN_OLDSYSVSEM: ::c_int = 34; pub const KERN_OLDSYSVSHM: ::c_int = 35; pub const KERN_OLDSHORTCORENAME: ::c_int = 36; pub const KERN_SYNCHRONIZED_IO: ::c_int = 37; pub const KERN_IOV_MAX: ::c_int = 38; pub const KERN_MBUF: ::c_int = 39; pub const KERN_MAPPED_FILES: ::c_int = 40; pub const KERN_MEMLOCK: ::c_int = 41; pub const KERN_MEMLOCK_RANGE: ::c_int = 42; pub const KERN_MEMORY_PROTECTION: ::c_int = 43; pub const KERN_LOGIN_NAME_MAX: ::c_int = 44; pub const KERN_DEFCORENAME: ::c_int = 45; pub const KERN_LOGSIGEXIT: ::c_int = 46; pub const KERN_PROC2: ::c_int = 47; pub const KERN_PROC_ARGS: ::c_int = 48; pub const KERN_FSCALE: ::c_int = 49; pub const KERN_CCPU: ::c_int = 50; pub const KERN_CP_TIME: ::c_int = 51; pub const KERN_OLDSYSVIPC_INFO: ::c_int = 52; pub const KERN_MSGBUF: ::c_int = 53; pub const KERN_CONSDEV: ::c_int = 54; pub const KERN_MAXPTYS: ::c_int = 55; pub const KERN_PIPE: ::c_int = 56; pub const KERN_MAXPHYS: ::c_int = 57; pub const KERN_SBMAX: ::c_int = 58; pub const KERN_TKSTAT: ::c_int = 59; pub const KERN_MONOTONIC_CLOCK: ::c_int = 60; pub const KERN_URND: ::c_int = 61; pub const KERN_LABELSECTOR: ::c_int = 62; pub const KERN_LABELOFFSET: ::c_int = 63; pub const KERN_LWP: ::c_int = 64; pub const KERN_FORKFSLEEP: ::c_int = 65; pub const KERN_POSIX_THREADS: ::c_int = 66; pub const KERN_POSIX_SEMAPHORES: ::c_int = 67; pub const KERN_POSIX_BARRIERS: ::c_int = 68; pub const KERN_POSIX_TIMERS: ::c_int = 69; pub const KERN_POSIX_SPIN_LOCKS: ::c_int = 70; pub const KERN_POSIX_READER_WRITER_LOCKS: ::c_int = 71; pub const KERN_DUMP_ON_PANIC: ::c_int = 72; pub const KERN_SOMAXKVA: ::c_int = 73; pub const KERN_ROOT_PARTITION: ::c_int = 74; pub const KERN_DRIVERS: ::c_int = 75; pub const KERN_BUF: ::c_int = 76; pub const KERN_FILE2: ::c_int = 77; pub const KERN_VERIEXEC: ::c_int = 78; pub const KERN_CP_ID: ::c_int = 79; pub const KERN_HARDCLOCK_TICKS: ::c_int = 80; pub const KERN_ARND: ::c_int = 81; pub const KERN_SYSVIPC: ::c_int = 82; pub const KERN_BOOTTIME: ::c_int = 83; pub const KERN_EVCNT: ::c_int = 84; pub const KERN_MAXID: ::c_int = 85; pub const KERN_PROC_ALL: ::c_int = 0; pub const KERN_PROC_PID: ::c_int = 1; pub const KERN_PROC_PGRP: ::c_int = 2; pub const KERN_PROC_SESSION: ::c_int = 3; 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_GID: ::c_int = 7; pub const KERN_PROC_RGID: ::c_int = 8; pub const KERN_PROC_ARGV: ::c_int = 1; 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 EAI_AGAIN: ::c_int = 2; pub const EAI_BADFLAGS: ::c_int = 3; pub const EAI_FAIL: ::c_int = 4; pub const EAI_FAMILY: ::c_int = 5; pub const EAI_MEMORY: ::c_int = 6; pub const EAI_NODATA: ::c_int = 7; pub const EAI_NONAME: ::c_int = 8; pub const EAI_SERVICE: ::c_int = 9; pub const EAI_SOCKTYPE: ::c_int = 10; pub const EAI_SYSTEM: ::c_int = 11; pub const EAI_OVERFLOW: ::c_int = 14; pub const AIO_CANCELED: ::c_int = 1; pub const AIO_NOTCANCELED: ::c_int = 2; pub const AIO_ALLDONE: ::c_int = 3; pub const LIO_NOP: ::c_int = 0; pub const LIO_WRITE: ::c_int = 1; pub const LIO_READ: ::c_int = 2; pub const LIO_WAIT: ::c_int = 1; pub const LIO_NOWAIT: ::c_int = 0; pub const SIGEV_NONE: ::c_int = 0; pub const SIGEV_SIGNAL: ::c_int = 1; pub const SIGEV_THREAD: ::c_int = 2; pub const WSTOPPED: ::c_int = 0x00000002; // same as WUNTRACED pub const WCONTINUED: ::c_int = 0x00000010; pub const WEXITED: ::c_int = 0x000000020; pub const WNOWAIT: ::c_int = 0x00010000; pub const P_ALL: idtype_t = 0; pub const P_PID: idtype_t = 1; pub const P_PGID: idtype_t = 4; pub const UTIME_OMIT: c_long = 1073741822; pub const UTIME_NOW: c_long = 1073741823; pub const B460800: ::speed_t = 460800; pub const B921600: ::speed_t = 921600; pub const ONOCR: ::tcflag_t = 0x20; pub const ONLRET: ::tcflag_t = 0x40; pub const CDTRCTS: ::tcflag_t = 0x00020000; pub const CHWFLOW: ::tcflag_t = ::MDMBUF | ::CRTSCTS | ::CDTRCTS; // pub const _PATH_UTMPX: &[::c_char; 14] = b"/var/run/utmpx"; // pub const _PATH_WTMPX: &[::c_char; 14] = b"/var/log/wtmpx"; // pub const _PATH_LASTLOGX: &[::c_char; 17] = b"/var/log/lastlogx"; // pub const _PATH_UTMP_UPDATE: &[::c_char; 24] = b"/usr/libexec/utmp_update"; pub const UT_NAMESIZE: usize = 8; pub const UT_LINESIZE: usize = 8; pub const UT_HOSTSIZE: usize = 16; pub const _UTX_USERSIZE: usize = 32; pub const _UTX_LINESIZE: usize = 32; pub const _UTX_PADSIZE: usize = 40; pub const _UTX_IDSIZE: usize = 4; pub const _UTX_HOSTSIZE: usize = 256; pub const EMPTY: u16 = 0; pub const RUN_LVL: u16 = 1; pub const BOOT_TIME: u16 = 2; pub const OLD_TIME: u16 = 3; pub const NEW_TIME: u16 = 4; pub const INIT_PROCESS: u16 = 5; pub const LOGIN_PROCESS: u16 = 6; pub const USER_PROCESS: u16 = 7; pub const DEAD_PROCESS: u16 = 8; pub const ACCOUNTING: u16 = 9; pub const SIGNATURE: u16 = 10; pub const DOWN_TIME: u16 = 11; pub const SOCK_CLOEXEC: ::c_int = 0x10000000; pub const SOCK_NONBLOCK: ::c_int = 0x20000000; // Uncomment on next NetBSD release // pub const FIOSEEKDATA: ::c_ulong = 0xc0086661; // pub const FIOSEEKHOLE: ::c_ulong = 0xc0086662; pub const OFIOGETBMAP: ::c_ulong = 0xc004667a; pub const FIOGETBMAP: ::c_ulong = 0xc008667a; pub const FIONWRITE: ::c_ulong = 0x40046679; pub const FIONSPACE: ::c_ulong = 0x40046678; pub const FIBMAP: ::c_ulong = 0xc008667a; pub const SIGSTKSZ: ::size_t = 40960; pub const PT_DUMPCORE: ::c_int = 12; pub const PT_LWPINFO: ::c_int = 13; pub const PT_SYSCALL: ::c_int = 14; 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_FIRSTMACH: ::c_int = 32; // 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; fn _ALIGN(p: usize) -> usize { (p + _ALIGNBYTES) & !_ALIGNBYTES } f! { pub fn CMSG_DATA(cmsg: *const ::cmsghdr) -> *mut ::c_uchar { (cmsg as *mut ::c_uchar) .offset(_ALIGN(::mem::size_of::<::cmsghdr>()) as isize) } pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { _ALIGN(::mem::size_of::<::cmsghdr>()) as ::c_uint + length } pub fn CMSG_NXTHDR(mhdr: *const ::msghdr, cmsg: *const ::cmsghdr) -> *mut ::cmsghdr { if cmsg.is_null() { return ::CMSG_FIRSTHDR(mhdr); }; let next = cmsg as usize + _ALIGN((*cmsg).cmsg_len as usize) + _ALIGN(::mem::size_of::<::cmsghdr>()); let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if next > max { 0 as *mut ::cmsghdr } else { (cmsg as usize + _ALIGN((*cmsg).cmsg_len as usize)) as *mut ::cmsghdr } } pub fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { (_ALIGN(::mem::size_of::<::cmsghdr>()) + _ALIGN(length as usize)) as ::c_uint } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { status >> 8 } pub fn WIFSIGNALED(status: ::c_int) -> bool { (status & 0o177) != 0o177 && (status & 0o177) != 0 } pub fn WIFSTOPPED(status: ::c_int) -> bool { (status & 0o177) == 0o177 } // dirfd() is a macro on netbsd to access // the first field of the struct where dirp points to: // http://cvsweb.netbsd.org/bsdweb.cgi/src/include/dirent.h?rev=1.36 pub fn dirfd(dirp: *mut ::DIR) -> ::c_int { *(dirp as *const ::c_int) } pub fn WIFCONTINUED(status: ::c_int) -> bool { status == 0xffff } pub fn SOCKCREDSIZE(ngrps: usize) -> usize { let ngrps = if ngrps > 0 { ngrps - 1 } else { 0 }; ::mem::size_of::() + ::mem::size_of::<::gid_t>() * ngrps } } #[link(name = "rt")] extern "C" { pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int; pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int; pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int; pub fn aio_error(aiocbp: *const aiocb) -> ::c_int; pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t; #[link_name = "__aio_suspend50"] pub fn aio_suspend( aiocb_list: *const *const aiocb, nitems: ::c_int, timeout: *const ::timespec, ) -> ::c_int; pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int; pub fn lio_listio( mode: ::c_int, aiocb_list: *const *mut aiocb, nitems: ::c_int, sevp: *mut sigevent, ) -> ::c_int; } extern "C" { pub fn chflags(path: *const ::c_char, flags: ::c_ulong) -> ::c_int; pub fn fchflags(fd: ::c_int, flags: ::c_ulong) -> ::c_int; pub fn lchflags(path: *const ::c_char, flags: ::c_ulong) -> ::c_int; pub fn extattr_delete_fd( fd: ::c_int, attrnamespace: ::c_int, attrname: *const ::c_char, ) -> ::c_int; pub fn extattr_delete_file( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, ) -> ::c_int; pub fn extattr_delete_link( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, ) -> ::c_int; pub fn extattr_get_fd( fd: ::c_int, attrnamespace: ::c_int, attrname: *const ::c_char, data: *mut ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_get_file( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, data: *mut ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_get_link( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, data: *mut ::c_void, nbytes: ::size_t, ) -> ::ssize_t; pub fn extattr_namespace_to_string( attrnamespace: ::c_int, string: *mut *mut ::c_char, ) -> ::c_int; pub fn extattr_set_fd( fd: ::c_int, attrnamespace: ::c_int, attrname: *const ::c_char, data: *const ::c_void, nbytes: ::size_t, ) -> ::c_int; pub fn extattr_set_file( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, data: *const ::c_void, nbytes: ::size_t, ) -> ::c_int; pub fn extattr_set_link( path: *const ::c_char, attrnamespace: ::c_int, attrname: *const ::c_char, data: *const ::c_void, nbytes: ::size_t, ) -> ::c_int; pub fn extattr_string_to_namespace( string: *const ::c_char, attrnamespace: *mut ::c_int, ) -> ::c_int; #[link_name = "__lutimes50"] pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int; #[link_name = "__gettimeofday50"] pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::socklen_t, serv: *mut ::c_char, sevlen: ::socklen_t, flags: ::c_int, ) -> ::c_int; pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn sysctl( name: *const ::c_int, namelen: ::c_uint, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *const ::c_void, newlen: ::size_t, ) -> ::c_int; pub fn sysctlbyname( name: *const ::c_char, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *const ::c_void, newlen: ::size_t, ) -> ::c_int; #[link_name = "__kevent50"] pub fn kevent( kq: ::c_int, changelist: *const ::kevent, nchanges: ::size_t, eventlist: *mut ::kevent, nevents: ::size_t, timeout: *const ::timespec, ) -> ::c_int; #[link_name = "__mount50"] pub fn mount( src: *const ::c_char, target: *const ::c_char, flags: ::c_int, data: *mut ::c_void, size: ::size_t, ) -> ::c_int; pub fn mq_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::mqd_t; pub fn mq_close(mqd: ::mqd_t) -> ::c_int; pub fn mq_getattr(mqd: ::mqd_t, attr: *mut ::mq_attr) -> ::c_int; pub fn mq_notify(mqd: ::mqd_t, notification: *const ::sigevent) -> ::c_int; pub fn mq_receive( mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msg_prio: *mut ::c_uint, ) -> ::ssize_t; pub fn mq_send( mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msg_prio: ::c_uint, ) -> ::c_int; pub fn mq_setattr( mqd: ::mqd_t, newattr: *const ::mq_attr, oldattr: *mut ::mq_attr, ) -> ::c_int; #[link_name = "__mq_timedreceive50"] pub fn mq_timedreceive( mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msg_prio: *mut ::c_uint, abs_timeout: *const ::timespec, ) -> ::ssize_t; #[link_name = "__mq_timedsend50"] pub fn mq_timedsend( mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msg_prio: ::c_uint, abs_timeout: *const ::timespec, ) -> ::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 pthread_setname_np( t: ::pthread_t, name: *const ::c_char, arg: *const ::c_void, ) -> ::c_int; pub fn pthread_attr_get_np( thread: ::pthread_t, attr: *mut ::pthread_attr_t, ) -> ::c_int; pub fn pthread_getattr_np( native: ::pthread_t, attr: *mut ::pthread_attr_t, ) -> ::c_int; pub fn pthread_attr_getguardsize( attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, stacksize: *mut ::size_t, ) -> ::c_int; #[link_name = "__sigtimedwait50"] pub fn sigtimedwait( set: *const sigset_t, info: *mut siginfo_t, timeout: *const ::timespec, ) -> ::c_int; pub fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::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; pub fn newlocale( mask: ::c_int, locale: *const ::c_char, base: ::locale_t, ) -> ::locale_t; #[link_name = "__settimeofday50"] pub fn settimeofday(tv: *const ::timeval, tz: *const ::c_void) -> ::c_int; pub fn dup3(src: ::c_int, dst: ::c_int, flags: ::c_int) -> ::c_int; pub fn sendmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::c_uint, flags: ::c_int, ) -> ::c_int; pub fn recvmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::c_uint, flags: ::c_int, timeout: *mut ::timespec, ) -> ::c_int; pub fn _lwp_self() -> lwpid_t; } #[link(name = "util")] extern "C" { #[cfg_attr(target_os = "netbsd", link_name = "__getpwent_r50")] pub fn getpwent_r( pwd: *mut ::passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::passwd, ) -> ::c_int; pub fn getgrent_r( grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::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 utmpxname(file: *const ::c_char) -> ::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 getutmp(ux: *const utmpx, u: *mut utmp); pub fn getutmpx(u: *const utmp, ux: *mut utmpx); pub fn utpname(file: *const ::c_char) -> ::c_int; pub fn setutent(); pub fn endutent(); pub fn getutent() -> *mut utmp; } 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 = "powerpc")] { mod powerpc; pub use self::powerpc::*; } else if #[cfg(target_arch = "sparc64")] { mod sparc64; pub use self::sparc64::*; } else 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::*; } else { // Unknown target_arch } } libc-0.2.66/src/unix/bsd/netbsdlike/netbsd/powerpc.rs010064400007650000024000000010711353453276600207240ustar0000000000000000use PT_FIRSTMACH; pub type c_long = i32; pub type c_ulong = u32; pub type c_char = u8; pub type __cpu_simple_lock_nv_t = ::c_int; // 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 PT_STEP: ::c_int = PT_FIRSTMACH + 0; pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1; pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2; libc-0.2.66/src/unix/bsd/netbsdlike/netbsd/sparc64.rs010064400007650000024000000003351353453276600205310ustar0000000000000000pub type c_long = i64; pub type c_ulong = u64; pub type c_char = i8; pub type __cpu_simple_lock_nv_t = ::c_uchar; // should be pub(crate), but that requires Rust 1.18.0 #[doc(hidden)] pub const _ALIGNBYTES: usize = 0xf; libc-0.2.66/src/unix/bsd/netbsdlike/netbsd/x86.rs010064400007650000024000000006211353453276600176720ustar0000000000000000pub type c_long = i32; pub type c_ulong = u32; pub type c_char = i8; pub type __cpu_simple_lock_nv_t = ::c_uchar; // 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; } } libc-0.2.66/src/unix/bsd/netbsdlike/netbsd/x86_64.rs010064400007650000024000000012411353453276600202020ustar0000000000000000use PT_FIRSTMACH; pub type c_long = i64; pub type c_ulong = u64; pub type c_char = i8; pub type __cpu_simple_lock_nv_t = ::c_uchar; // 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 PT_STEP: ::c_int = PT_FIRSTMACH + 0; pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1; pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2; pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3; pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4; libc-0.2.66/src/unix/bsd/netbsdlike/openbsd/aarch64.rs010064400007650000024000000006131353453276600206510ustar0000000000000000pub 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; libc-0.2.66/src/unix/bsd/netbsdlike/openbsd/mod.rs010064400007650000024000001456561357020644200202060ustar0000000000000000use unix::bsd::O_SYNC; pub type clock_t = i64; pub type suseconds_t = ::c_long; pub type dev_t = i32; pub type sigset_t = ::c_uint; pub type blksize_t = i32; pub type fsblkcnt_t = u64; pub type fsfilcnt_t = u64; pub type pthread_attr_t = *mut ::c_void; pub type pthread_mutex_t = *mut ::c_void; pub type pthread_mutexattr_t = *mut ::c_void; 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 caddr_t = *mut ::c_char; s! { pub struct glob_t { pub gl_pathc: ::size_t, pub gl_matchc: ::size_t, pub gl_offs: ::size_t, pub gl_flags: ::c_int, pub gl_pathv: *mut *mut ::c_char, __unused1: *mut ::c_void, __unused2: *mut ::c_void, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, __unused6: *mut ::c_void, __unused7: *mut ::c_void, } 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_p_sep_by_space: ::c_char, pub int_n_cs_precedes: ::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 ufs_args { pub fspec: *mut ::c_char, pub export_info: export_args, } pub struct mfs_args { pub fspec: *mut ::c_char, pub export_info: export_args, // https://github.com/openbsd/src/blob/master/sys/sys/types.h#L134 pub base: *mut ::c_char, pub size: ::c_ulong, } pub struct iso_args { pub fspec: *mut ::c_char, pub export_info: export_args, pub flags: ::c_int, pub sess: ::c_int, } pub struct nfs_args { pub version: ::c_int, pub addr: *mut ::sockaddr, pub addrlen: ::c_int, pub sotype: ::c_int, pub proto: ::c_int, pub fh: *mut ::c_uchar, pub fhsize: ::c_int, pub flags: ::c_int, pub wsize: ::c_int, pub rsize: ::c_int, pub readdirsize: ::c_int, pub timeo: ::c_int, pub retrans: ::c_int, pub maxgrouplist: ::c_int, pub readahead: ::c_int, pub leaseterm: ::c_int, pub deadthresh: ::c_int, pub hostname: *mut ::c_char, pub acregmin: ::c_int, pub acregmax: ::c_int, pub acdirmin: ::c_int, pub acdirmax: ::c_int, } pub struct msdosfs_args { pub fspec: *mut ::c_char, pub export_info: export_args, pub uid: ::uid_t, pub gid: ::gid_t, pub mask: ::mode_t, pub flags: ::c_int, } pub struct ntfs_args { pub fspec: *mut ::c_char, pub export_info: export_args, pub uid: ::uid_t, pub gid: ::gid_t, pub mode: ::mode_t, pub flag: ::c_ulong, } pub struct udf_args { pub fspec: *mut ::c_char, pub lastblock: u32, } pub struct tmpfs_args { pub ta_version: ::c_int, pub ta_nodes_max: ::ino_t, pub ta_size_max: ::off_t, pub ta_root_uid: ::uid_t, pub ta_root_gid: ::gid_t, pub ta_root_mode: ::mode_t, } pub struct fusefs_args { pub name: *mut ::c_char, pub fd: ::c_int, pub max_read: ::c_int, pub allow_other: ::c_int, } pub struct xucred { pub cr_uid: ::uid_t, pub cr_gid: ::gid_t, pub cr_ngroups: ::c_short, //https://github.com/openbsd/src/blob/master/sys/sys/syslimits.h#L44 pub cr_groups: [::gid_t; 16], } pub struct export_args { pub ex_flags: ::c_int, pub ex_root: ::uid_t, pub ex_anon: xucred, pub ex_addr: *mut ::sockaddr, pub ex_addrlen: ::c_int, pub ex_mask: *mut ::sockaddr, pub ex_masklen: ::c_int, } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct sockaddr_in { pub sin_len: u8, pub sin_family: ::sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [i8; 8], } pub struct kevent { pub ident: ::uintptr_t, pub filter: ::c_short, pub flags: ::c_ushort, pub fflags: ::c_uint, pub data: i64, pub udata: *mut ::c_void, } pub struct stat { pub st_mode: ::mode_t, pub st_dev: ::dev_t, pub st_ino: ::ino_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: u32, pub st_gen: u32, pub st_birthtime: ::time_t, pub st_birthtime_nsec: ::c_long, } 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 struct addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: ::socklen_t, pub ai_addr: *mut ::sockaddr, pub ai_canonname: *mut ::c_char, pub ai_next: *mut ::addrinfo, } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } pub struct if_data { pub ifi_type: ::c_uchar, pub ifi_addrlen: ::c_uchar, pub ifi_hdrlen: ::c_uchar, pub ifi_link_state: ::c_uchar, pub ifi_mtu: u32, pub ifi_metric: u32, pub ifi_rdomain: 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_oqdrops: u64, pub ifi_noproto: u64, pub ifi_capabilities: u32, pub ifi_lastchange: ::timeval, } pub struct if_msghdr { pub ifm_msglen: ::c_ushort, pub ifm_version: ::c_uchar, pub ifm_type: ::c_uchar, pub ifm_hdrlen: ::c_ushort, pub ifm_index: ::c_ushort, pub ifm_tableid: ::c_ushort, pub ifm_pad1: ::c_uchar, pub ifm_pad2: ::c_uchar, pub ifm_addrs: ::c_int, pub ifm_flags: ::c_int, pub ifm_xflags: ::c_int, pub ifm_data: if_data, } pub struct sockaddr_dl { pub sdl_len: ::c_uchar, pub sdl_family: ::c_uchar, pub sdl_index: ::c_ushort, pub sdl_type: ::c_uchar, pub sdl_nlen: ::c_uchar, pub sdl_alen: ::c_uchar, pub sdl_slen: ::c_uchar, pub sdl_data: [::c_char; 24], } pub struct sockpeercred { pub uid: ::uid_t, pub gid: ::gid_t, pub pid: ::pid_t, } pub struct arphdr { pub ar_hrd: u16, pub ar_pro: u16, pub ar_hln: u8, pub ar_pln: u8, pub ar_op: u16, } pub struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_segsz: ::c_int, pub shm_lpid: ::pid_t, pub shm_cpid: ::pid_t, pub shm_nattch: ::c_short, pub shm_atime: ::time_t, __shm_atimensec: c_long, pub shm_dtime: ::time_t, __shm_dtimensec: c_long, pub shm_ctime: ::time_t, __shm_ctimensec: c_long, pub shm_internal: *mut ::c_void, } } impl siginfo_t { pub unsafe fn si_value(&self) -> ::sigval { #[repr(C)] struct siginfo_timer { _si_signo: ::c_int, _si_errno: ::c_int, _si_code: ::c_int, _pid: ::pid_t, _uid: ::uid_t, value: ::sigval, } (*(self as *const siginfo_t as *const siginfo_timer)).value } } 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, pub d_namlen: u8, __d_padding: [u8; 4], pub d_name: [::c_char; 256], } pub struct sockaddr_storage { pub ss_len: u8, pub ss_family: ::sa_family_t, __ss_pad1: [u8; 6], __ss_pad2: i64, __ss_pad3: [u8; 240], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, pub si_errno: ::c_int, pub si_addr: *mut ::c_char, #[cfg(target_pointer_width = "32")] __pad: [u8; 112], #[cfg(target_pointer_width = "64")] __pad: [u8; 108], } pub struct lastlog { ll_time: ::time_t, ll_line: [::c_char; UT_LINESIZE], ll_host: [::c_char; UT_HOSTSIZE], } pub struct utmp { pub ut_line: [::c_char; UT_LINESIZE], pub ut_name: [::c_char; UT_NAMESIZE], pub ut_host: [::c_char; UT_HOSTSIZE], pub ut_time: ::time_t, } pub union mount_info { pub ufs_args: ufs_args, pub mfs_args: mfs_args, pub nfs_args: nfs_args, pub iso_args: iso_args, pub msdosfs_args: msdosfs_args, pub ntfs_args: ntfs_args, pub tmpfs_args: tmpfs_args, align: [::c_char; 160], } } cfg_if! { if #[cfg(feature = "extra_traits")] { 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 .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) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&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.hash(state); } } impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.ss_len == other.ss_len && self.ss_family == other.ss_family } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_len", &self.ss_len) .field("ss_family", &self.ss_family) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.ss_len.hash(state); self.ss_family.hash(state); } } impl PartialEq for siginfo_t { fn eq(&self, other: &siginfo_t) -> bool { self.si_signo == other.si_signo && self.si_code == other.si_code && self.si_errno == other.si_errno && self.si_addr == other.si_addr } } impl Eq for siginfo_t {} impl ::fmt::Debug for siginfo_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("siginfo_t") .field("si_signo", &self.si_signo) .field("si_code", &self.si_code) .field("si_errno", &self.si_errno) .field("si_addr", &self.si_addr) .finish() } } impl ::hash::Hash for siginfo_t { fn hash(&self, state: &mut H) { self.si_signo.hash(state); self.si_code.hash(state); self.si_errno.hash(state); self.si_addr.hash(state); } } impl PartialEq for lastlog { fn eq(&self, other: &lastlog) -> bool { self.ll_time == other.ll_time && self .ll_line .iter() .zip(other.ll_line.iter()) .all(|(a,b)| a == b) && self .ll_host .iter() .zip(other.ll_host.iter()) .all(|(a,b)| a == b) } } impl Eq for lastlog {} impl ::fmt::Debug for lastlog { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("lastlog") .field("ll_time", &self.ll_time) // FIXME: .field("ll_line", &self.ll_line) // FIXME: .field("ll_host", &self.ll_host) .finish() } } impl ::hash::Hash for lastlog { fn hash(&self, state: &mut H) { self.ll_time.hash(state); self.ll_line.hash(state); self.ll_host.hash(state); } } impl PartialEq for utmp { fn eq(&self, other: &utmp) -> bool { self.ut_time == other.ut_time && self .ut_line .iter() .zip(other.ut_line.iter()) .all(|(a,b)| a == b) && self .ut_name .iter() .zip(other.ut_name.iter()) .all(|(a,b)| a == b) && self .ut_host .iter() .zip(other.ut_host.iter()) .all(|(a,b)| a == b) } } impl Eq for utmp {} impl ::fmt::Debug for utmp { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utmp") // FIXME: .field("ut_line", &self.ut_line) // FIXME: .field("ut_name", &self.ut_name) // FIXME: .field("ut_host", &self.ut_host) .field("ut_time", &self.ut_time) .finish() } } impl ::hash::Hash for utmp { fn hash(&self, state: &mut H) { self.ut_line.hash(state); self.ut_name.hash(state); self.ut_host.hash(state); self.ut_time.hash(state); } } impl PartialEq for mount_info { fn eq(&self, other: &mount_info) -> bool { unsafe { self.align .iter() .zip(other.align.iter()) .all(|(a,b)| a == b) } } } impl Eq for mount_info { } impl ::fmt::Debug for mount_info { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("mount_info") // FIXME: .field("align", &self.align) .finish() } } impl ::hash::Hash for mount_info { fn hash(&self, state: &mut H) { unsafe { self.align.hash(state) }; } } } } cfg_if! { if #[cfg(libc_union)] { s_no_extra_traits! { // This type uses the union mount_info: pub struct statfs { pub f_flags: u32, pub f_bsize: u32, pub f_iosize: u32, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: i64, pub f_files: u64, pub f_ffree: u64, pub f_favail: i64, pub f_syncwrites: u64, pub f_syncreads: u64, pub f_asyncwrites: u64, pub f_asyncreads: u64, pub f_fsid: ::fsid_t, pub f_namemax: u32, pub f_owner: ::uid_t, pub f_ctime: u64, pub f_fstypename: [::c_char; 16], pub f_mntonname: [::c_char; 90], pub f_mntfromname: [::c_char; 90], pub f_mntfromspec: [::c_char; 90], pub mount_info: mount_info, } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for statfs { fn eq(&self, other: &statfs) -> bool { 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_favail == other.f_favail && self.f_syncwrites == other.f_syncwrites && self.f_syncreads == other.f_syncreads && self.f_asyncwrites == other.f_asyncwrites && self.f_asyncreads == other.f_asyncreads && self.f_fsid == other.f_fsid && self.f_namemax == other.f_namemax && self.f_owner == other.f_owner && self.f_ctime == other.f_ctime && self.f_fstypename .iter() .zip(other.f_fstypename.iter()) .all(|(a,b)| a == b) && self.f_mntonname .iter() .zip(other.f_mntonname.iter()) .all(|(a,b)| a == b) && self.f_mntfromname .iter() .zip(other.f_mntfromname.iter()) .all(|(a,b)| a == b) && self.f_mntfromspec .iter() .zip(other.f_mntfromspec.iter()) .all(|(a,b)| a == b) && self.mount_info == other.mount_info } } impl Eq for statfs { } impl ::fmt::Debug for statfs { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("statfs") .field("f_flags", &self.f_flags) .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_favail", &self.f_favail) .field("f_syncwrites", &self.f_syncwrites) .field("f_syncreads", &self.f_syncreads) .field("f_asyncwrites", &self.f_asyncwrites) .field("f_asyncreads", &self.f_asyncreads) .field("f_fsid", &self.f_fsid) .field("f_namemax", &self.f_namemax) .field("f_owner", &self.f_owner) .field("f_ctime", &self.f_ctime) // FIXME: .field("f_fstypename", &self.f_fstypename) // FIXME: .field("f_mntonname", &self.f_mntonname) // FIXME: .field("f_mntfromname", &self.f_mntfromname) // FIXME: .field("f_mntfromspec", &self.f_mntfromspec) .field("mount_info", &self.mount_info) .finish() } } impl ::hash::Hash for statfs { fn hash(&self, state: &mut H) { 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_favail.hash(state); self.f_syncwrites.hash(state); self.f_syncreads.hash(state); self.f_asyncwrites.hash(state); self.f_asyncreads.hash(state); self.f_fsid.hash(state); self.f_namemax.hash(state); self.f_owner.hash(state); self.f_ctime.hash(state); self.f_fstypename.hash(state); self.f_mntonname.hash(state); self.f_mntfromname.hash(state); self.f_mntfromspec.hash(state); self.mount_info.hash(state); } } } } } } pub const UT_NAMESIZE: usize = 32; pub const UT_LINESIZE: usize = 8; pub const UT_HOSTSIZE: usize = 256; pub const O_CLOEXEC: ::c_int = 0x10000; pub const O_DIRECTORY: ::c_int = 0x20000; pub const O_RSYNC: ::c_int = O_SYNC; pub const MS_SYNC: ::c_int = 0x0002; pub const MS_INVALIDATE: ::c_int = 0x0004; pub const POLLNORM: ::c_short = ::POLLRDNORM; pub const ENOATTR: ::c_int = 83; pub const EILSEQ: ::c_int = 84; pub const EOVERFLOW: ::c_int = 87; pub const ECANCELED: ::c_int = 88; pub const EIDRM: ::c_int = 89; pub const ENOMSG: ::c_int = 90; pub const ENOTSUP: ::c_int = 91; pub const EBADMSG: ::c_int = 92; pub const ENOTRECOVERABLE: ::c_int = 93; pub const EOWNERDEAD: ::c_int = 94; pub const EPROTO: ::c_int = 95; pub const ELAST: ::c_int = 95; pub const F_DUPFD_CLOEXEC: ::c_int = 10; pub const UTIME_OMIT: c_long = -1; pub const UTIME_NOW: c_long = -2; pub const AT_FDCWD: ::c_int = -100; pub const AT_EACCESS: ::c_int = 0x01; pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x02; pub const AT_SYMLINK_FOLLOW: ::c_int = 0x04; pub const AT_REMOVEDIR: ::c_int = 0x08; #[deprecated(since = "0.2.64", note = "Not stable across OS versions")] pub const RLIM_NLIMITS: ::c_int = 9; pub const SO_TIMESTAMP: ::c_int = 0x0800; pub const SO_SNDTIMEO: ::c_int = 0x1005; pub const SO_RCVTIMEO: ::c_int = 0x1006; pub const SO_BINDANY: ::c_int = 0x1000; pub const SO_NETPROC: ::c_int = 0x1020; pub const SO_RTABLE: ::c_int = 0x1021; pub const SO_PEERCRED: ::c_int = 0x1022; pub const SO_SPLICE: ::c_int = 0x1023; // sys/netinet/in.h // Protocols (RFC 1700) // NOTE: These are in addition to the constants defined in src/unix/mod.rs // IPPROTO_IP defined in src/unix/mod.rs /// Hop-by-hop option header pub const IPPROTO_HOPOPTS: ::c_int = 0; // IPPROTO_ICMP defined in src/unix/mod.rs /// group mgmt protocol pub const IPPROTO_IGMP: ::c_int = 2; /// gateway^2 (deprecated) pub const IPPROTO_GGP: ::c_int = 3; /// for compatibility pub const IPPROTO_IPIP: ::c_int = 4; // IPPROTO_TCP defined in src/unix/mod.rs /// exterior gateway protocol pub const IPPROTO_EGP: ::c_int = 8; /// pup pub const IPPROTO_PUP: ::c_int = 12; // IPPROTO_UDP defined in src/unix/mod.rs /// xns idp pub const IPPROTO_IDP: ::c_int = 22; /// tp-4 w/ class negotiation pub const IPPROTO_TP: ::c_int = 29; // IPPROTO_IPV6 defined in src/unix/mod.rs /// IP6 routing header pub const IPPROTO_ROUTING: ::c_int = 43; /// IP6 fragmentation header pub const IPPROTO_FRAGMENT: ::c_int = 44; /// resource reservation pub const IPPROTO_RSVP: ::c_int = 46; /// General Routing Encap. pub const IPPROTO_GRE: ::c_int = 47; /// IP6 Encap Sec. Payload pub const IPPROTO_ESP: ::c_int = 50; /// IP6 Auth Header pub const IPPROTO_AH: ::c_int = 51; /// IP Mobility RFC 2004 pub const IPPROTO_MOBILE: ::c_int = 55; // IPPROTO_ICMPV6 defined in src/unix/mod.rs /// IP6 no next header pub const IPPROTO_NONE: ::c_int = 59; /// IP6 destination option pub const IPPROTO_DSTOPTS: ::c_int = 60; /// ISO cnlp pub const IPPROTO_EON: ::c_int = 80; /// Ethernet-in-IP pub const IPPROTO_ETHERIP: ::c_int = 97; /// encapsulation header pub const IPPROTO_ENCAP: ::c_int = 98; /// Protocol indep. multicast pub const IPPROTO_PIM: ::c_int = 103; /// IP Payload Comp. Protocol pub const IPPROTO_IPCOMP: ::c_int = 108; /// CARP pub const IPPROTO_CARP: ::c_int = 112; /// unicast MPLS packet pub const IPPROTO_MPLS: ::c_int = 137; /// PFSYNC pub const IPPROTO_PFSYNC: ::c_int = 240; pub const IPPROTO_MAX: ::c_int = 256; // Only used internally, so it can be outside the range of valid IP protocols pub const IPPROTO_DIVERT: ::c_int = 258; pub const IP_RECVDSTADDR: ::c_int = 7; pub const IP_SENDSRCADDR: ::c_int = IP_RECVDSTADDR; pub const IP_RECVIF: ::c_int = 30; // sys/netinet/in.h pub const TCP_MD5SIG: ::c_int = 0x04; pub const TCP_NOPUSH: ::c_int = 0x10; pub const AF_ECMA: ::c_int = 8; pub const AF_ROUTE: ::c_int = 17; pub const AF_ENCAP: ::c_int = 28; pub const AF_SIP: ::c_int = 29; pub const AF_KEY: ::c_int = 30; pub const pseudo_AF_HDRCMPLT: ::c_int = 31; pub const AF_BLUETOOTH: ::c_int = 32; pub const AF_MPLS: ::c_int = 33; pub const pseudo_AF_PFLOW: ::c_int = 34; pub const pseudo_AF_PIPEX: ::c_int = 35; pub const NET_RT_DUMP: ::c_int = 1; pub const NET_RT_FLAGS: ::c_int = 2; pub const NET_RT_IFLIST: ::c_int = 3; 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)] pub const NET_RT_MAXID: ::c_int = 7; pub const IPV6_JOIN_GROUP: ::c_int = 12; pub const IPV6_LEAVE_GROUP: ::c_int = 13; pub const PF_ROUTE: ::c_int = AF_ROUTE; pub const PF_ECMA: ::c_int = AF_ECMA; pub const PF_ENCAP: ::c_int = AF_ENCAP; pub const PF_SIP: ::c_int = AF_SIP; pub const PF_KEY: ::c_int = AF_KEY; pub const PF_BPF: ::c_int = pseudo_AF_HDRCMPLT; pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH; pub const PF_MPLS: ::c_int = AF_MPLS; pub const PF_PFLOW: ::c_int = pseudo_AF_PFLOW; pub const PF_PIPEX: ::c_int = pseudo_AF_PIPEX; pub const SCM_TIMESTAMP: ::c_int = 0x04; pub const O_DSYNC: ::c_int = 128; pub const MAP_RENAME: ::c_int = 0x0000; pub const MAP_NORESERVE: ::c_int = 0x0000; pub const MAP_HASSEMAPHORE: ::c_int = 0x0000; pub const EIPSEC: ::c_int = 82; pub const ENOMEDIUM: ::c_int = 85; pub const EMEDIUMTYPE: ::c_int = 86; 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_MEMORY: ::c_int = -10; pub const EAI_SYSTEM: ::c_int = -11; pub const EAI_OVERFLOW: ::c_int = -14; pub const RUSAGE_THREAD: ::c_int = 1; pub const MAP_COPY: ::c_int = 0x0002; pub const MAP_NOEXTEND: ::c_int = 0x0000; pub const _PC_LINK_MAX: ::c_int = 1; pub const _PC_MAX_CANON: ::c_int = 2; pub const _PC_MAX_INPUT: ::c_int = 3; pub const _PC_NAME_MAX: ::c_int = 4; pub const _PC_PATH_MAX: ::c_int = 5; pub const _PC_PIPE_BUF: ::c_int = 6; pub const _PC_CHOWN_RESTRICTED: ::c_int = 7; pub const _PC_NO_TRUNC: ::c_int = 8; pub const _PC_VDISABLE: ::c_int = 9; pub const _PC_2_SYMLINKS: ::c_int = 10; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 11; pub const _PC_ASYNC_IO: ::c_int = 12; pub const _PC_FILESIZEBITS: ::c_int = 13; pub const _PC_PRIO_IO: ::c_int = 14; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 15; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 16; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 17; pub const _PC_REC_XFER_ALIGN: ::c_int = 18; pub const _PC_SYMLINK_MAX: ::c_int = 19; pub const _PC_SYNC_IO: ::c_int = 20; pub const _PC_TIMESTAMP_RESOLUTION: ::c_int = 21; pub const _SC_CLK_TCK: ::c_int = 3; pub const _SC_SEM_NSEMS_MAX: ::c_int = 31; pub const _SC_SEM_VALUE_MAX: ::c_int = 32; pub const _SC_HOST_NAME_MAX: ::c_int = 33; pub const _SC_MONOTONIC_CLOCK: ::c_int = 34; pub const _SC_2_PBS: ::c_int = 35; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 36; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 37; pub const _SC_2_PBS_LOCATE: ::c_int = 38; pub const _SC_2_PBS_MESSAGE: ::c_int = 39; pub const _SC_2_PBS_TRACK: ::c_int = 40; pub const _SC_ADVISORY_INFO: ::c_int = 41; pub const _SC_AIO_LISTIO_MAX: ::c_int = 42; pub const _SC_AIO_MAX: ::c_int = 43; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 44; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 45; pub const _SC_ATEXIT_MAX: ::c_int = 46; pub const _SC_BARRIERS: ::c_int = 47; pub const _SC_CLOCK_SELECTION: ::c_int = 48; pub const _SC_CPUTIME: ::c_int = 49; pub const _SC_DELAYTIMER_MAX: ::c_int = 50; pub const _SC_IOV_MAX: ::c_int = 51; pub const _SC_IPV6: ::c_int = 52; pub const _SC_MAPPED_FILES: ::c_int = 53; pub const _SC_MEMLOCK: ::c_int = 54; pub const _SC_MEMLOCK_RANGE: ::c_int = 55; pub const _SC_MEMORY_PROTECTION: ::c_int = 56; pub const _SC_MESSAGE_PASSING: ::c_int = 57; pub const _SC_MQ_OPEN_MAX: ::c_int = 58; pub const _SC_MQ_PRIO_MAX: ::c_int = 59; pub const _SC_PRIORITIZED_IO: ::c_int = 60; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 61; pub const _SC_RAW_SOCKETS: ::c_int = 62; pub const _SC_READER_WRITER_LOCKS: ::c_int = 63; pub const _SC_REALTIME_SIGNALS: ::c_int = 64; pub const _SC_REGEXP: ::c_int = 65; pub const _SC_RTSIG_MAX: ::c_int = 66; pub const _SC_SEMAPHORES: ::c_int = 67; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 68; pub const _SC_SHELL: ::c_int = 69; pub const _SC_SIGQUEUE_MAX: ::c_int = 70; pub const _SC_SPAWN: ::c_int = 71; pub const _SC_SPIN_LOCKS: ::c_int = 72; pub const _SC_SPORADIC_SERVER: ::c_int = 73; pub const _SC_SS_REPL_MAX: ::c_int = 74; pub const _SC_SYNCHRONIZED_IO: ::c_int = 75; pub const _SC_SYMLOOP_MAX: ::c_int = 76; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 77; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 78; pub const _SC_THREAD_CPUTIME: ::c_int = 79; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 80; pub const _SC_THREAD_KEYS_MAX: ::c_int = 81; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 82; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 83; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 84; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 85; pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 86; pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 87; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 88; pub const _SC_THREAD_STACK_MIN: ::c_int = 89; pub const _SC_THREAD_THREADS_MAX: ::c_int = 90; pub const _SC_THREADS: ::c_int = 91; pub const _SC_TIMEOUTS: ::c_int = 92; pub const _SC_TIMER_MAX: ::c_int = 93; pub const _SC_TIMERS: ::c_int = 94; pub const _SC_TRACE: ::c_int = 95; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 96; pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 97; pub const _SC_TRACE_INHERIT: ::c_int = 98; pub const _SC_TRACE_LOG: ::c_int = 99; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 100; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 101; pub const _SC_LOGIN_NAME_MAX: ::c_int = 102; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 103; pub const _SC_TRACE_NAME_MAX: ::c_int = 104; pub const _SC_TRACE_SYS_MAX: ::c_int = 105; pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 106; pub const _SC_TTY_NAME_MAX: ::c_int = 107; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 108; pub const _SC_V6_ILP32_OFF32: ::c_int = 109; pub const _SC_V6_ILP32_OFFBIG: ::c_int = 110; pub const _SC_V6_LP64_OFF64: ::c_int = 111; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 112; pub const _SC_V7_ILP32_OFF32: ::c_int = 113; pub const _SC_V7_ILP32_OFFBIG: ::c_int = 114; pub const _SC_V7_LP64_OFF64: ::c_int = 115; pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 116; pub const _SC_XOPEN_CRYPT: ::c_int = 117; pub const _SC_XOPEN_ENH_I18N: ::c_int = 118; pub const _SC_XOPEN_LEGACY: ::c_int = 119; pub const _SC_XOPEN_REALTIME: ::c_int = 120; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 121; pub const _SC_XOPEN_STREAMS: ::c_int = 122; pub const _SC_XOPEN_UNIX: ::c_int = 123; pub const _SC_XOPEN_UUCP: ::c_int = 124; pub const _SC_XOPEN_VERSION: ::c_int = 125; pub const _SC_PHYS_PAGES: ::c_int = 500; pub const _SC_AVPHYS_PAGES: ::c_int = 501; pub const _SC_NPROCESSORS_CONF: ::c_int = 502; pub const _SC_NPROCESSORS_ONLN: ::c_int = 503; pub const FD_SETSIZE: usize = 1024; pub const ST_NOSUID: ::c_ulong = 2; pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = 0 as *mut _; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = 0 as *mut _; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = 0 as *mut _; pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 1; pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 2; pub const PTHREAD_MUTEX_NORMAL: ::c_int = 3; pub const PTHREAD_MUTEX_STRICT_NP: ::c_int = 4; pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_STRICT_NP; pub const EVFILT_AIO: i16 = -3; pub const EVFILT_PROC: i16 = -5; pub const EVFILT_READ: i16 = -1; pub const EVFILT_SIGNAL: i16 = -6; pub const EVFILT_TIMER: i16 = -7; pub const EVFILT_VNODE: i16 = -4; pub const EVFILT_WRITE: i16 = -2; pub const EV_ADD: u16 = 0x1; pub const EV_DELETE: u16 = 0x2; pub const EV_ENABLE: u16 = 0x4; pub const EV_DISABLE: u16 = 0x8; pub const EV_ONESHOT: u16 = 0x10; pub const EV_CLEAR: u16 = 0x20; pub const EV_RECEIPT: u16 = 0x40; pub const EV_DISPATCH: u16 = 0x80; pub const EV_FLAG1: u16 = 0x2000; pub const EV_ERROR: u16 = 0x4000; pub const EV_EOF: u16 = 0x8000; pub const EV_SYSFLAGS: u16 = 0xf000; pub const NOTE_LOWAT: u32 = 0x00000001; pub const NOTE_EOF: u32 = 0x00000002; pub const NOTE_DELETE: u32 = 0x00000001; pub const NOTE_WRITE: u32 = 0x00000002; pub const NOTE_EXTEND: u32 = 0x00000004; pub const NOTE_ATTRIB: u32 = 0x00000008; pub const NOTE_LINK: u32 = 0x00000010; pub const NOTE_RENAME: u32 = 0x00000020; pub const NOTE_REVOKE: u32 = 0x00000040; pub const NOTE_TRUNCATE: u32 = 0x00000080; pub const NOTE_EXIT: u32 = 0x80000000; pub const NOTE_FORK: u32 = 0x40000000; pub const NOTE_EXEC: u32 = 0x20000000; pub const NOTE_PDATAMASK: u32 = 0x000fffff; pub const NOTE_PCTRLMASK: u32 = 0xf0000000; pub const NOTE_TRACK: u32 = 0x00000001; pub const NOTE_TRACKERR: u32 = 0x00000002; pub const NOTE_CHILD: u32 = 0x00000004; pub const TMP_MAX: ::c_uint = 0x7fffffff; pub const NI_MAXHOST: ::size_t = 256; pub const RTLD_LOCAL: ::c_int = 0; pub const CTL_MAXNAME: ::c_int = 12; pub const CTLTYPE_NODE: ::c_int = 1; pub const CTLTYPE_INT: ::c_int = 2; pub const CTLTYPE_STRING: ::c_int = 3; pub const CTLTYPE_QUAD: ::c_int = 4; pub const CTLTYPE_STRUCT: ::c_int = 5; pub const CTL_UNSPEC: ::c_int = 0; pub const CTL_KERN: ::c_int = 1; pub const CTL_VM: ::c_int = 2; pub const CTL_FS: ::c_int = 3; pub const CTL_NET: ::c_int = 4; pub const CTL_DEBUG: ::c_int = 5; pub const CTL_HW: ::c_int = 6; pub const CTL_MACHDEP: ::c_int = 7; pub const CTL_DDB: ::c_int = 9; pub const CTL_VFS: ::c_int = 10; pub const CTL_MAXID: ::c_int = 11; pub const HW_NCPUONLINE: ::c_int = 25; pub const KERN_OSTYPE: ::c_int = 1; pub const KERN_OSRELEASE: ::c_int = 2; pub const KERN_OSREV: ::c_int = 3; pub const KERN_VERSION: ::c_int = 4; pub const KERN_MAXVNODES: ::c_int = 5; pub const KERN_MAXPROC: ::c_int = 6; pub const KERN_MAXFILES: ::c_int = 7; pub const KERN_ARGMAX: ::c_int = 8; pub const KERN_SECURELVL: ::c_int = 9; pub const KERN_HOSTNAME: ::c_int = 10; pub const KERN_HOSTID: ::c_int = 11; pub const KERN_CLOCKRATE: ::c_int = 12; pub const KERN_PROF: ::c_int = 16; pub const KERN_POSIX1: ::c_int = 17; pub const KERN_NGROUPS: ::c_int = 18; pub const KERN_JOB_CONTROL: ::c_int = 19; pub const KERN_SAVED_IDS: ::c_int = 20; pub const KERN_BOOTTIME: ::c_int = 21; pub const KERN_DOMAINNAME: ::c_int = 22; pub const KERN_MAXPARTITIONS: ::c_int = 23; pub const KERN_RAWPARTITION: ::c_int = 24; pub const KERN_MAXTHREAD: ::c_int = 25; pub const KERN_NTHREADS: ::c_int = 26; pub const KERN_OSVERSION: ::c_int = 27; pub const KERN_SOMAXCONN: ::c_int = 28; pub const KERN_SOMINCONN: ::c_int = 29; pub const KERN_USERMOUNT: ::c_int = 30; pub const KERN_NOSUIDCOREDUMP: ::c_int = 32; pub const KERN_FSYNC: ::c_int = 33; pub const KERN_SYSVMSG: ::c_int = 34; pub const KERN_SYSVSEM: ::c_int = 35; pub const KERN_SYSVSHM: ::c_int = 36; pub const KERN_ARND: ::c_int = 37; pub const KERN_MSGBUFSIZE: ::c_int = 38; pub const KERN_MALLOCSTATS: ::c_int = 39; pub const KERN_CPTIME: ::c_int = 40; pub const KERN_NCHSTATS: ::c_int = 41; pub const KERN_FORKSTAT: ::c_int = 42; pub const KERN_NSELCOLL: ::c_int = 43; pub const KERN_TTY: ::c_int = 44; pub const KERN_CCPU: ::c_int = 45; pub const KERN_FSCALE: ::c_int = 46; pub const KERN_NPROCS: ::c_int = 47; pub const KERN_MSGBUF: ::c_int = 48; pub const KERN_POOL: ::c_int = 49; pub const KERN_STACKGAPRANDOM: ::c_int = 50; pub const KERN_SYSVIPC_INFO: ::c_int = 51; pub const KERN_SPLASSERT: ::c_int = 54; pub const KERN_PROC_ARGS: ::c_int = 55; pub const KERN_NFILES: ::c_int = 56; pub const KERN_TTYCOUNT: ::c_int = 57; pub const KERN_NUMVNODES: ::c_int = 58; pub const KERN_MBSTAT: ::c_int = 59; pub const KERN_SEMINFO: ::c_int = 61; pub const KERN_SHMINFO: ::c_int = 62; pub const KERN_INTRCNT: ::c_int = 63; pub const KERN_WATCHDOG: ::c_int = 64; pub const KERN_PROC: ::c_int = 66; pub const KERN_MAXCLUSTERS: ::c_int = 67; pub const KERN_EVCOUNT: ::c_int = 68; pub const KERN_TIMECOUNTER: ::c_int = 69; pub const KERN_MAXLOCKSPERUID: ::c_int = 70; pub const KERN_CPTIME2: ::c_int = 71; pub const KERN_CACHEPCT: ::c_int = 72; pub const KERN_FILE: ::c_int = 73; pub const KERN_CONSDEV: ::c_int = 75; pub const KERN_NETLIVELOCKS: ::c_int = 76; pub const KERN_POOL_DEBUG: ::c_int = 77; pub const KERN_PROC_CWD: ::c_int = 78; pub const KERN_PROC_NOBROADCASTKILL: ::c_int = 79; pub const KERN_PROC_VMMAP: ::c_int = 80; pub const KERN_GLOBAL_PTRACE: ::c_int = 81; pub const KERN_CONSBUFSIZE: ::c_int = 82; pub const KERN_CONSBUF: ::c_int = 83; 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; pub const KERN_MAXID: ::c_int = 88; pub const KERN_PROC_ALL: ::c_int = 0; pub const KERN_PROC_PID: ::c_int = 1; pub const KERN_PROC_PGRP: ::c_int = 2; pub const KERN_PROC_SESSION: ::c_int = 3; 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_KTHREAD: ::c_int = 7; pub const KERN_PROC_SHOW_THREADS: ::c_int = 0x40000000; pub const KERN_SYSVIPC_MSG_INFO: ::c_int = 1; pub const KERN_SYSVIPC_SEM_INFO: ::c_int = 2; pub const KERN_SYSVIPC_SHM_INFO: ::c_int = 3; pub const KERN_PROC_ARGV: ::c_int = 1; 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 KI_NGROUPS: ::c_int = 16; pub const KI_MAXCOMLEN: ::c_int = 24; pub const KI_WMESGLEN: ::c_int = 8; pub const KI_MAXLOGNAME: ::c_int = 32; pub const KI_EMULNAMELEN: ::c_int = 8; pub const CHWFLOW: ::tcflag_t = ::MDMBUF | ::CRTSCTS; pub const OLCUC: ::tcflag_t = 0x20; pub const ONOCR: ::tcflag_t = 0x40; pub const ONLRET: ::tcflag_t = 0x80; //https://github.com/openbsd/src/blob/master/sys/sys/mount.h pub const ISOFSMNT_NORRIP: ::c_int = 0x1; // disable Rock Ridge Ext pub const ISOFSMNT_GENS: ::c_int = 0x2; // enable generation numbers pub const ISOFSMNT_EXTATT: ::c_int = 0x4; // enable extended attr pub const ISOFSMNT_NOJOLIET: ::c_int = 0x8; // disable Joliet Ext pub const ISOFSMNT_SESS: ::c_int = 0x10; // use iso_args.sess pub const NFS_ARGSVERSION: ::c_int = 4; // change when nfs_args changes pub const NFSMNT_RESVPORT: ::c_int = 0; // always use reserved ports pub const NFSMNT_SOFT: ::c_int = 0x1; // soft mount (hard is default) pub const NFSMNT_WSIZE: ::c_int = 0x2; // set write size pub const NFSMNT_RSIZE: ::c_int = 0x4; // set read size pub const NFSMNT_TIMEO: ::c_int = 0x8; // set initial timeout pub const NFSMNT_RETRANS: ::c_int = 0x10; // set number of request retries pub const NFSMNT_MAXGRPS: ::c_int = 0x20; // set maximum grouplist size pub const NFSMNT_INT: ::c_int = 0x40; // allow interrupts on hard mount pub const NFSMNT_NOCONN: ::c_int = 0x80; // Don't Connect the socket pub const NFSMNT_NQNFS: ::c_int = 0x100; // Use Nqnfs protocol pub const NFSMNT_NFSV3: ::c_int = 0x200; // Use NFS Version 3 protocol pub const NFSMNT_KERB: ::c_int = 0x400; // Use Kerberos authentication pub const NFSMNT_DUMBTIMR: ::c_int = 0x800; // Don't estimate rtt dynamically pub const NFSMNT_LEASETERM: ::c_int = 0x1000; // set lease term (nqnfs) pub const NFSMNT_READAHEAD: ::c_int = 0x2000; // set read ahead pub const NFSMNT_DEADTHRESH: ::c_int = 0x4000; // set dead server retry thresh pub const NFSMNT_NOAC: ::c_int = 0x8000; // disable attribute cache pub const NFSMNT_RDIRPLUS: ::c_int = 0x10000; // Use Readdirplus for V3 pub const NFSMNT_READDIRSIZE: ::c_int = 0x20000; // Set readdir size /* Flags valid only in mount syscall arguments */ pub const NFSMNT_ACREGMIN: ::c_int = 0x40000; // acregmin field valid pub const NFSMNT_ACREGMAX: ::c_int = 0x80000; // acregmax field valid pub const NFSMNT_ACDIRMIN: ::c_int = 0x100000; // acdirmin field valid pub const NFSMNT_ACDIRMAX: ::c_int = 0x200000; // acdirmax field valid /* Flags valid only in kernel */ pub const NFSMNT_INTERNAL: ::c_int = 0xfffc0000; // Bits set internally pub const NFSMNT_HASWRITEVERF: ::c_int = 0x40000; // Has write verifier for V3 pub const NFSMNT_GOTPATHCONF: ::c_int = 0x80000; // Got the V3 pathconf info pub const NFSMNT_GOTFSINFO: ::c_int = 0x100000; // Got the V3 fsinfo pub const NFSMNT_MNTD: ::c_int = 0x200000; // Mnt server for mnt point pub const NFSMNT_DISMINPROG: ::c_int = 0x400000; // Dismount in progress pub const NFSMNT_DISMNT: ::c_int = 0x800000; // Dismounted pub const NFSMNT_SNDLOCK: ::c_int = 0x1000000; // Send socket lock pub const NFSMNT_WANTSND: ::c_int = 0x2000000; // Want above pub const NFSMNT_RCVLOCK: ::c_int = 0x4000000; // Rcv socket lock pub const NFSMNT_WANTRCV: ::c_int = 0x8000000; // Want above pub const NFSMNT_WAITAUTH: ::c_int = 0x10000000; // Wait for authentication pub const NFSMNT_HASAUTH: ::c_int = 0x20000000; // Has authenticator pub const NFSMNT_WANTAUTH: ::c_int = 0x40000000; // Wants an authenticator pub const NFSMNT_AUTHERR: ::c_int = 0x80000000; // Authentication error pub const MSDOSFSMNT_SHORTNAME: ::c_int = 0x1; // Force old DOS short names only pub const MSDOSFSMNT_LONGNAME: ::c_int = 0x2; // Force Win'95 long names pub const MSDOSFSMNT_NOWIN95: ::c_int = 0x4; // Completely ignore Win95 entries pub const NTFS_MFLAG_CASEINS: ::c_int = 0x1; pub const NTFS_MFLAG_ALLNAMES: ::c_int = 0x2; pub const TMPFS_ARGS_VERSION: ::c_int = 1; pub const MAP_STACK: ::c_int = 0x4000; // https://github.com/openbsd/src/blob/master/sys/net/if.h#L187 pub const IFF_UP: ::c_int = 0x1; // interface is up pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging pub const IFF_LOOPBACK: ::c_int = 0x8; // is a loopback net pub const IFF_POINTOPOINT: ::c_int = 0x10; // interface is point-to-point link pub const IFF_STATICARP: ::c_int = 0x20; // only static ARP pub const IFF_RUNNING: ::c_int = 0x40; // resources allocated pub const IFF_NOARP: ::c_int = 0x80; // no address resolution protocol pub const IFF_PROMISC: ::c_int = 0x100; // receive all packets pub const IFF_ALLMULTI: ::c_int = 0x200; // receive all multicast packets pub const IFF_OACTIVE: ::c_int = 0x400; // transmission in progress pub const IFF_SIMPLEX: ::c_int = 0x800; // 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_MULTICAST: ::c_int = 0x8000; // supports multicast 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_FIRSTMACH: ::c_int = 32; pub const SOCK_CLOEXEC: ::c_int = 0x8000; pub const SOCK_NONBLOCK: ::c_int = 0x4000; pub const SOCK_DNS: ::c_int = 0x1000; pub const BIOCGRSIG: ::c_ulong = 0x40044273; pub const BIOCSRSIG: ::c_ulong = 0x80044272; pub const BIOCSDLT: ::c_ulong = 0x8004427a; pub const PTRACE_FORK: ::c_int = 0x0002; pub const WCONTINUED: ::c_int = 8; fn _ALIGN(p: usize) -> usize { (p + _ALIGNBYTES) & !_ALIGNBYTES } f! { pub fn WIFCONTINUED(status: ::c_int) -> bool { status & 0o177777 == 0o177777 } pub fn CMSG_DATA(cmsg: *const ::cmsghdr) -> *mut ::c_uchar { (cmsg as *mut ::c_uchar) .offset(_ALIGN(::mem::size_of::<::cmsghdr>()) as isize) } pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { _ALIGN(::mem::size_of::<::cmsghdr>()) as ::c_uint + length } pub fn CMSG_NXTHDR(mhdr: *const ::msghdr, cmsg: *const ::cmsghdr) -> *mut ::cmsghdr { if cmsg.is_null() { return ::CMSG_FIRSTHDR(mhdr); }; let next = cmsg as usize + _ALIGN((*cmsg).cmsg_len as usize) + _ALIGN(::mem::size_of::<::cmsghdr>()); let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if next > max { 0 as *mut ::cmsghdr } else { (cmsg as usize + _ALIGN((*cmsg).cmsg_len as usize)) as *mut ::cmsghdr } } pub fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { (_ALIGN(::mem::size_of::<::cmsghdr>()) + _ALIGN(length as usize)) as ::c_uint } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { status >> 8 } pub fn WIFSIGNALED(status: ::c_int) -> bool { (status & 0o177) != 0o177 && (status & 0o177) != 0 } pub fn WIFSTOPPED(status: ::c_int) -> bool { (status & 0o177) == 0o177 } } extern "C" { pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::timezone) -> ::c_int; pub fn settimeofday( tp: *const ::timeval, tz: *const ::timezone, ) -> ::c_int; pub fn accept4( s: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, flags: ::c_int, ) -> ::c_int; pub fn execvpe( file: *const ::c_char, argv: *const *const ::c_char, envp: *const *const ::c_char, ) -> ::c_int; pub fn pledge( promises: *const ::c_char, execpromises: *const ::c_char, ) -> ::c_int; pub fn strtonum( nptr: *const ::c_char, minval: ::c_longlong, maxval: ::c_longlong, errstr: *mut *const ::c_char, ) -> ::c_longlong; pub fn dup3(src: ::c_int, dst: ::c_int, flags: ::c_int) -> ::c_int; pub fn chflags(path: *const ::c_char, flags: ::c_uint) -> ::c_int; pub fn fchflags(fd: ::c_int, flags: ::c_uint) -> ::c_int; pub fn chflagsat( fd: ::c_int, path: *const ::c_char, flags: ::c_uint, atflag: ::c_int, ) -> ::c_int; pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::size_t, serv: *mut ::c_char, servlen: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn kevent( kq: ::c_int, changelist: *const ::kevent, nchanges: ::c_int, eventlist: *mut ::kevent, nevents: ::c_int, timeout: *const ::timespec, ) -> ::c_int; pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn pthread_attr_getguardsize( attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, stacksize: *mut ::size_t, ) -> ::c_int; pub fn pthread_main_np() -> ::c_int; 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, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int; pub fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int; pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int; pub fn ptrace( request: ::c_int, pid: ::pid_t, addr: caddr_t, data: ::c_int, ) -> ::c_int; } cfg_if! { if #[cfg(libc_union)] { extern { // these functions use statfs which uses the union mount_info: pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int; pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int; } } } cfg_if! { 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 } } libc-0.2.66/src/unix/bsd/netbsdlike/openbsd/sparc64.rs010064400007650000024000000002371353453276600207050ustar0000000000000000pub type c_long = i64; pub type c_ulong = u64; pub type c_char = i8; #[doc(hidden)] pub const _ALIGNBYTES: usize = 0xf; pub const _MAX_PAGE_SHIFT: u32 = 13; libc-0.2.66/src/unix/bsd/netbsdlike/openbsd/x86.rs010064400007650000024000000006121353453276600200450ustar0000000000000000pub type c_long = i32; pub type c_ulong = u32; pub type c_char = i8; // 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 _MAX_PAGE_SHIFT: u32 = 12; libc-0.2.66/src/unix/bsd/netbsdlike/openbsd/x86_64.rs010064400007650000024000000012321353453276600203550ustar0000000000000000use PT_FIRSTMACH; pub type c_long = i64; pub type c_ulong = u64; pub type c_char = i8; // 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; pub const PT_STEP: ::c_int = PT_FIRSTMACH + 0; pub const PT_GETREGS: ::c_int = PT_FIRSTMACH + 1; pub const PT_SETREGS: ::c_int = PT_FIRSTMACH + 2; pub const PT_GETFPREGS: ::c_int = PT_FIRSTMACH + 3; pub const PT_SETFPREGS: ::c_int = PT_FIRSTMACH + 4; libc-0.2.66/src/unix/haiku/b32.rs010064400007650000024000000001061353453276600145570ustar0000000000000000pub type c_long = i32; pub type c_ulong = u32; pub type time_t = i32; libc-0.2.66/src/unix/haiku/b64.rs010064400007650000024000000001061353453276600145640ustar0000000000000000pub type c_ulong = u64; pub type c_long = i64; pub type time_t = i64; libc-0.2.66/src/unix/haiku/mod.rs010064400007650000024000001411261355140103400147360ustar0000000000000000pub type rlim_t = ::uintptr_t; pub type sa_family_t = u8; pub type pthread_key_t = ::c_int; pub type nfds_t = ::c_long; pub type tcflag_t = ::c_uint; pub type speed_t = ::c_uint; pub type c_char = i8; pub type clock_t = i32; pub type clockid_t = i32; pub type suseconds_t = i32; pub type wchar_t = i32; pub type off_t = i64; pub type ino_t = i64; pub type blkcnt_t = i64; pub type blksize_t = i32; pub type dev_t = i32; pub type mode_t = u32; pub type nlink_t = i32; pub type useconds_t = u32; pub type socklen_t = u32; pub type pthread_t = ::uintptr_t; pub type pthread_mutexattr_t = ::uintptr_t; pub type pthread_rwlockattr_t = ::uintptr_t; pub type sigset_t = u64; pub type fsblkcnt_t = i64; pub type fsfilcnt_t = i64; pub type pthread_attr_t = *mut ::c_void; pub type nl_item = ::c_int; pub type id_t = i32; pub type idtype_t = ::c_uint; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } s! { pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct sockaddr { pub sa_len: u8, pub sa_family: sa_family_t, pub sa_data: [::c_char; 30], } pub struct sockaddr_in { pub sin_len: u8, pub sin_family: sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [u8; 24], } pub struct sockaddr_in6 { pub sin6_len: u8, 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 addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: socklen_t, pub ai_canonname: *mut c_char, pub ai_addr: *mut ::sockaddr, pub ai_next: *mut addrinfo, } pub struct fd_set { fds_bits: [c_ulong; FD_SETSIZE / ULONG_SIZE], } 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: *const ::c_char, } pub struct utsname { pub sysname: [::c_char; 32], pub nodename: [::c_char; 32], pub release: [::c_char; 32], pub version: [::c_char; 32], pub machine: [::c_char; 32], } 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_p_sep_by_space: ::c_char, pub int_n_cs_precedes: ::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 msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::c_int, pub msg_control: *mut ::c_void, pub msg_controllen: ::socklen_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::size_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } pub struct termios { pub c_iflag: ::tcflag_t, pub c_oflag: ::tcflag_t, pub c_cflag: ::tcflag_t, pub c_lflag: ::tcflag_t, pub c_line: ::c_char, pub c_ispeed: ::speed_t, pub c_ospeed: ::speed_t, pub c_cc: [::cc_t; ::NCCS], } 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 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_size: off_t, pub st_rdev: dev_t, pub st_blksize: blksize_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_crtime: time_t, pub st_crtime_nsec: c_long, pub st_type: u32, pub st_blocks: blkcnt_t, } pub struct glob_t { pub gl_pathc: ::size_t, __unused1: ::size_t, pub gl_offs: ::size_t, __unused2: ::size_t, pub gl_pathv: *mut *mut c_char, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, __unused6: *mut ::c_void, __unused7: *mut ::c_void, __unused8: *mut ::c_void, } pub struct pthread_mutex_t { flags: u32, lock: i32, unused: i32, owner: i32, owner_count: i32, } pub struct pthread_cond_t { flags: u32, unused: i32, mutex: *mut ::c_void, waiter_count: i32, lock: i32, } pub struct pthread_rwlock_t { flags: u32, owner: i32, lock_sem: i32, // this is actually a union lock_count: i32, reader_count: i32, writer_count: i32, waiters: [*mut ::c_void; 2], } pub struct passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, pub pw_gecos: *mut ::c_char, } 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 struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, pub si_errno: ::c_int, pub si_pid: ::pid_t, pub si_uid: ::uid_t, pub si_addr: *mut ::c_void, pub si_status: ::c_int, pub si_band: c_long, pub sigval: *mut ::c_void, } pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, sa_userdata: *mut ::c_void, } pub struct sem_t { pub se_type: i32, pub se_named_id: i32, // this is actually a union pub se_unnamed: i32, pub se_padding: [i32; 4], } pub struct pthread_condattr_t { pub process_shared: bool, pub clock_id: i32, } } s_no_extra_traits! { pub struct sockaddr_un { pub sun_len: u8, pub sun_family: sa_family_t, pub sun_path: [::c_char; 126] } pub struct sockaddr_storage { pub ss_len: u8, pub ss_family: sa_family_t, __ss_pad1: [u8; 6], __ss_pad2: u64, __ss_pad3: [u8; 112], } pub struct dirent { pub d_dev: dev_t, pub d_pdev: dev_t, pub d_ino: ino_t, pub d_pino: i64, pub d_reclen: ::c_ushort, pub d_name: [::c_char; 1024], // Max length is _POSIX_PATH_MAX } pub struct sigevent { pub sigev_notify: ::c_int, pub sigev_signo: ::c_int, pub sigev_value: ::sigval, __unused1: *mut ::c_void, // actually a function pointer pub sigev_notify_attributes: *mut ::pthread_attr_t, } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for sockaddr_un { fn eq(&self, other: &sockaddr_un) -> bool { self.sun_len == other.sun_len && self.sun_family == other.sun_family && self .sun_path .iter() .zip(other.sun_path.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_un {} impl ::fmt::Debug for sockaddr_un { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_un") .field("sun_len", &self.sun_len) .field("sun_family", &self.sun_family) // FIXME: .field("sun_path", &self.sun_path) .finish() } } impl ::hash::Hash for sockaddr_un { fn hash(&self, state: &mut H) { self.sun_len.hash(state); self.sun_family.hash(state); self.sun_path.hash(state); } } impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.ss_len == other.ss_len && self.ss_family == other.ss_family && self .__ss_pad1 .iter() .zip(other.__ss_pad1.iter()) .all(|(a, b)| a == b) && self.__ss_pad2 == other.__ss_pad2 && self .__ss_pad3 .iter() .zip(other.__ss_pad3.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_len", &self.ss_len) .field("ss_family", &self.ss_family) .field("__ss_pad1", &self.__ss_pad1) .field("__ss_pad2", &self.__ss_pad2) // FIXME: .field("__ss_pad3", &self.__ss_pad3) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.ss_len.hash(state); self.ss_family.hash(state); self.__ss_pad1.hash(state); self.__ss_pad2.hash(state); self.__ss_pad3.hash(state); } } impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_dev == other.d_dev && self.d_pdev == other.d_pdev && self.d_ino == other.d_ino && self.d_pino == other.d_pino && self.d_reclen == other.d_reclen && self .d_name .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_dev", &self.d_dev) .field("d_pdev", &self.d_pdev) .field("d_ino", &self.d_ino) .field("d_pino", &self.d_pino) .field("d_reclen", &self.d_reclen) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_dev.hash(state); self.d_pdev.hash(state); self.d_ino.hash(state); self.d_pino.hash(state); self.d_reclen.hash(state); self.d_name.hash(state); } } impl PartialEq for sigevent { fn eq(&self, other: &sigevent) -> bool { self.sigev_notify == other.sigev_notify && self.sigev_signo == other.sigev_signo && self.sigev_value == other.sigev_value && self.sigev_notify_attributes == other.sigev_notify_attributes } } impl Eq for sigevent {} impl ::fmt::Debug for sigevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigevent") .field("sigev_notify", &self.sigev_notify) .field("sigev_signo", &self.sigev_signo) .field("sigev_value", &self.sigev_value) .field("sigev_notify_attributes", &self.sigev_notify_attributes) .finish() } } impl ::hash::Hash for sigevent { fn hash(&self, state: &mut H) { self.sigev_notify.hash(state); self.sigev_signo.hash(state); self.sigev_value.hash(state); self.sigev_notify_attributes.hash(state); } } } } // intentionally not public, only used for fd_set cfg_if! { if #[cfg(target_pointer_width = "32")] { const ULONG_SIZE: usize = 32; } else if #[cfg(target_pointer_width = "64")] { const ULONG_SIZE: usize = 64; } else { // Unknown target_pointer_width } } pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; pub const RAND_MAX: ::c_int = 2147483647; 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 F_DUPFD: ::c_int = 0x0001; pub const F_GETFD: ::c_int = 0x0002; pub const F_SETFD: ::c_int = 0x0004; pub const F_GETFL: ::c_int = 0x0008; pub const F_SETFL: ::c_int = 0x0010; pub const F_GETLK: ::c_int = 0x0020; pub const F_SETLK: ::c_int = 0x0080; pub const F_SETLKW: ::c_int = 0x0100; pub const F_DUPFD_CLOEXEC: ::c_int = 0x0200; pub const F_RDLCK: ::c_int = 0x0040; pub const F_UNLCK: ::c_int = 0x0200; pub const F_WRLCK: ::c_int = 0x0400; pub const AT_FDCWD: ::c_int = -1; pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x01; pub const AT_SYMLINK_FOLLOW: ::c_int = 0x02; pub const AT_REMOVEDIR: ::c_int = 0x04; pub const AT_EACCESS: ::c_int = 0x08; pub const POLLIN: ::c_short = 0x0001; pub const POLLOUT: ::c_short = 0x0002; pub const POLLRDNORM: ::c_short = POLLIN; pub const POLLWRNORM: ::c_short = POLLOUT; pub const POLLRDBAND: ::c_short = 0x0008; pub const POLLWRBAND: ::c_short = 0x0010; pub const POLLPRI: ::c_short = 0x0020; pub const POLLERR: ::c_short = 0x0004; pub const POLLHUP: ::c_short = 0x0080; pub const POLLNVAL: ::c_short = 0x1000; pub const PTHREAD_CREATE_JOINABLE: ::c_int = 0; pub const PTHREAD_CREATE_DETACHED: ::c_int = 1; pub const CLOCK_REALTIME: ::c_int = -1; pub const CLOCK_MONOTONIC: ::c_int = 0; pub const RLIMIT_CORE: ::c_int = 0; pub const RLIMIT_CPU: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; 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; // Haiku specific pub const RLIMIT_NOVMON: ::c_int = 7; pub const RLIMIT_NLIMITS: ::c_int = 8; pub const RUSAGE_SELF: ::c_int = 0; pub const RTLD_LAZY: ::c_int = 0; pub const NCCS: usize = 11; pub const O_RDONLY: ::c_int = 0x0000; pub const O_WRONLY: ::c_int = 0x0001; pub const O_RDWR: ::c_int = 0x0002; pub const O_ACCMODE: ::c_int = 0x0003; pub const O_EXCL: ::c_int = 0x0100; pub const O_CREAT: ::c_int = 0x0200; pub const O_TRUNC: ::c_int = 0x0400; pub const O_NOCTTY: ::c_int = 0x1000; pub const O_NOTRAVERSE: ::c_int = 0x2000; pub const O_CLOEXEC: ::c_int = 0x00000040; pub const O_NONBLOCK: ::c_int = 0x00000080; pub const O_APPEND: ::c_int = 0x00000800; pub const O_SYNC: ::c_int = 0x00010000; pub const O_RSYNC: ::c_int = 0x00020000; pub const O_DSYNC: ::c_int = 0x00040000; pub const O_NOFOLLOW: ::c_int = 0x00080000; pub const O_NOCACHE: ::c_int = 0x00100000; pub const O_DIRECTORY: ::c_int = 0x00200000; pub const S_IFIFO: ::mode_t = 4096; pub const S_IFCHR: ::mode_t = 8192; pub const S_IFBLK: ::mode_t = 24576; pub const S_IFDIR: ::mode_t = 16384; 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 = 61440; pub const S_IRWXU: ::mode_t = 448; pub const S_IXUSR: ::mode_t = 64; pub const S_IWUSR: ::mode_t = 128; pub const S_IRUSR: ::mode_t = 256; pub const S_IRWXG: ::mode_t = 70; pub const S_IXGRP: ::mode_t = 10; pub const S_IWGRP: ::mode_t = 20; pub const S_IRGRP: ::mode_t = 40; pub const S_IRWXO: ::mode_t = 7; pub const S_IXOTH: ::mode_t = 1; pub const S_IWOTH: ::mode_t = 2; pub const S_IROTH: ::mode_t = 4; pub const F_OK: ::c_int = 0; pub const R_OK: ::c_int = 4; pub const W_OK: ::c_int = 2; pub const X_OK: ::c_int = 1; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::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 SIGCHLD: ::c_int = 5; pub const SIGABRT: ::c_int = 6; pub const SIGPIPE: ::c_int = 7; pub const SIGFPE: ::c_int = 8; pub const SIGKILL: ::c_int = 9; pub const SIGSTOP: ::c_int = 10; pub const SIGSEGV: ::c_int = 11; pub const SIGCONT: ::c_int = 12; pub const SIGTSTP: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const SIGTTIN: ::c_int = 16; pub const SIGTTOU: ::c_int = 17; pub const SIGUSR1: ::c_int = 18; pub const SIGUSR2: ::c_int = 19; pub const SIGWINCH: ::c_int = 20; pub const SIGKILLTHR: ::c_int = 21; pub const SIGTRAP: ::c_int = 22; pub const SIGPOLL: ::c_int = 23; pub const SIGPROF: ::c_int = 24; pub const SIGSYS: ::c_int = 25; pub const SIGURG: ::c_int = 26; pub const SIGVTALRM: ::c_int = 27; pub const SIGXCPU: ::c_int = 28; pub const SIGXFSZ: ::c_int = 29; pub const SIGBUS: ::c_int = 30; pub const SIG_BLOCK: ::c_int = 1; pub const SIG_UNBLOCK: ::c_int = 2; pub const SIG_SETMASK: ::c_int = 3; pub const SIGEV_NONE: ::c_int = 0; pub const SIGEV_SIGNAL: ::c_int = 1; pub const SIGEV_THREAD: ::c_int = 2; pub const EAI_AGAIN: ::c_int = 2; pub const EAI_BADFLAGS: ::c_int = 3; pub const EAI_FAIL: ::c_int = 4; pub const EAI_FAMILY: ::c_int = 5; pub const EAI_MEMORY: ::c_int = 6; pub const EAI_NODATA: ::c_int = 7; pub const EAI_NONAME: ::c_int = 8; pub const EAI_SERVICE: ::c_int = 9; pub const EAI_SOCKTYPE: ::c_int = 10; pub const EAI_SYSTEM: ::c_int = 11; pub const EAI_OVERFLOW: ::c_int = 14; pub const PROT_NONE: ::c_int = 0; pub const PROT_READ: ::c_int = 1; pub const PROT_WRITE: ::c_int = 2; pub const PROT_EXEC: ::c_int = 4; 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; // TODO: Haiku does not have MAP_FILE, but libstd/os.rs requires it pub const MAP_FILE: ::c_int = 0x00; 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_ANON: ::c_int = MAP_ANONYMOUS; pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void; pub const MS_ASYNC: ::c_int = 0x01; pub const MS_INVALIDATE: ::c_int = 0x04; pub const MS_SYNC: ::c_int = 0x02; pub const E2BIG: ::c_int = -2147454975; pub const ECHILD: ::c_int = -2147454974; pub const EDEADLK: ::c_int = -2147454973; pub const EFBIG: ::c_int = -2147454972; pub const EMLINK: ::c_int = -2147454971; pub const ENFILE: ::c_int = -2147454970; pub const ENODEV: ::c_int = -2147454969; pub const ENOLCK: ::c_int = -2147454968; pub const ENOSYS: ::c_int = -2147454967; pub const ENOTTY: ::c_int = -2147454966; pub const ENXIO: ::c_int = -2147454965; pub const ESPIPE: ::c_int = -2147454964; pub const ESRCH: ::c_int = -2147454963; pub const EFPOS: ::c_int = -2147457962; pub const ESIGPARM: ::c_int = -2147457961; pub const EDOM: ::c_int = -2147454960; pub const ERANGE: ::c_int = -2147454959; pub const EPROTOTYPE: ::c_int = -2147454958; pub const EPROTONOSUPPORT: ::c_int = -2147454957; pub const EPFNOSUPPORT: ::c_int = -2147454956; pub const EAFNOSUPPORT: ::c_int = -2147454955; pub const EADDRINUSE: ::c_int = -2147454954; pub const EADDRNOTAVAIL: ::c_int = -2147454953; pub const ENETDOWN: ::c_int = -2147454952; pub const ENETUNREACH: ::c_int = -2147454951; pub const ENETRESET: ::c_int = -2147454950; pub const ECONNABORTED: ::c_int = -2147454949; pub const ECONNRESET: ::c_int = -2147454948; pub const EISCONN: ::c_int = -2147454947; pub const ENOTCONN: ::c_int = -2147454946; pub const ESHUTDOWN: ::c_int = -2147454945; pub const ECONNREFUSED: ::c_int = -2147454944; pub const EHOSTUNREACH: ::c_int = -2147454943; pub const ENOPROTOOPT: ::c_int = -2147454942; pub const ENOBUFS: ::c_int = -2147454941; pub const EINPROGRESS: ::c_int = -2147454940; pub const EALREADY: ::c_int = -2147454939; pub const EILSEQ: ::c_int = -2147454938; pub const ENOMSG: ::c_int = -2147454937; pub const ESTALE: ::c_int = -2147454936; pub const EOVERFLOW: ::c_int = -2147454935; pub const EMSGSIZE: ::c_int = -2147454934; pub const EOPNOTSUPP: ::c_int = -2147454933; pub const ENOTSOCK: ::c_int = -2147454932; pub const EHOSTDOWN: ::c_int = -2147454931; pub const EBADMSG: ::c_int = -2147454930; pub const ECANCELED: ::c_int = -2147454929; pub const EDESTADDRREQ: ::c_int = -2147454928; pub const EDQUOT: ::c_int = -2147454927; pub const EIDRM: ::c_int = -2147454926; pub const EMULTIHOP: ::c_int = -2147454925; pub const ENODATA: ::c_int = -2147454924; pub const ENOLINK: ::c_int = -2147454923; pub const ENOSR: ::c_int = -2147454922; pub const ENOSTR: ::c_int = -2147454921; pub const ENOTSUP: ::c_int = -2147454920; pub const EPROTO: ::c_int = -2147454919; pub const ETIME: ::c_int = -2147454918; pub const ETXTBSY: ::c_int = -2147454917; pub const ENOATTR: ::c_int = -2147454916; // INT_MIN pub const ENOMEM: ::c_int = -2147454976; // POSIX errors that can be mapped to BeOS error codes pub const EACCES: ::c_int = -2147483646; pub const EINTR: ::c_int = -2147483638; pub const EIO: ::c_int = -2147483647; pub const EBUSY: ::c_int = -2147483634; pub const EFAULT: ::c_int = -2147478783; pub const ETIMEDOUT: ::c_int = -2147483639; pub const EAGAIN: ::c_int = -2147483637; pub const EWOULDBLOCK: ::c_int = -2147483637; pub const EBADF: ::c_int = -2147459072; pub const EEXIST: ::c_int = -2147459070; pub const EINVAL: ::c_int = -2147483643; pub const ENAMETOOLONG: ::c_int = -2147459068; pub const ENOENT: ::c_int = -2147459069; pub const EPERM: ::c_int = -2147483633; pub const ENOTDIR: ::c_int = -2147459067; pub const EISDIR: ::c_int = -2147459063; pub const ENOTEMPTY: ::c_int = -2147459066; pub const ENOSPC: ::c_int = -2147459065; pub const EROFS: ::c_int = -2147459064; pub const EMFILE: ::c_int = -2147459062; pub const EXDEV: ::c_int = -2147459061; pub const ELOOP: ::c_int = -2147459060; pub const ENOEXEC: ::c_int = -2147478782; pub const EPIPE: ::c_int = -2147459059; pub const IPPROTO_RAW: ::c_int = 255; // These are prefixed with POSIX_ on Haiku pub const MADV_NORMAL: ::c_int = 1; 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; // https://github.com/haiku/haiku/blob/master/headers/posix/net/if.h#L80 pub const IFF_UP: ::c_int = 0x0001; pub const IFF_BROADCAST: ::c_int = 0x0002; // valid broadcast address pub const IFF_LOOPBACK: ::c_int = 0x0008; pub const IFF_POINTOPOINT: ::c_int = 0x0010; // point-to-point link pub const IFF_NOARP: ::c_int = 0x0040; // no address resolution pub const IFF_AUTOUP: ::c_int = 0x0080; // auto dial pub const IFF_PROMISC: ::c_int = 0x0100; // receive all packets pub const IFF_ALLMULTI: ::c_int = 0x0200; // receive all multicast packets pub const IFF_SIMPLEX: ::c_int = 0x0800; // doesn't receive own transmissions pub const IFF_LINK: ::c_int = 0x1000; // has link pub const IFF_AUTO_CONFIGURED: ::c_int = 0x2000; pub const IFF_CONFIGURING: ::c_int = 0x4000; pub const IFF_MULTICAST: ::c_int = 0x8000; // supports multicast pub const AF_UNSEC: ::c_int = 0; pub const AF_INET: ::c_int = 1; pub const AF_APPLETALK: ::c_int = 2; pub const AF_ROUTE: ::c_int = 3; pub const AF_LINK: ::c_int = 4; pub const AF_INET6: ::c_int = 5; pub const AF_DLI: ::c_int = 6; pub const AF_IPX: ::c_int = 7; pub const AF_NOTIFY: ::c_int = 8; pub const AF_LOCAL: ::c_int = 9; pub const AF_UNIX: ::c_int = AF_LOCAL; pub const AF_BLUETOOTH: ::c_int = 10; pub const IP_OPTIONS: ::c_int = 1; pub const IP_HDRINCL: ::c_int = 2; pub const IP_TOS: ::c_int = 3; pub const IP_TTL: ::c_int = 4; pub const IP_RECVOPTS: ::c_int = 5; pub const IP_RECVRETOPTS: ::c_int = 6; pub const IP_RECVDSTADDR: ::c_int = 7; pub const IP_RETOPTS: ::c_int = 8; pub const IP_MULTICAST_IF: ::c_int = 9; pub const IP_MULTICAST_TTL: ::c_int = 10; pub const IP_MULTICAST_LOOP: ::c_int = 11; pub const IP_ADD_MEMBERSHIP: ::c_int = 12; pub const IP_DROP_MEMBERSHIP: ::c_int = 13; pub const IP_BLOCK_SOURCE: ::c_int = 14; pub const IP_UNBLOCK_SOURCE: ::c_int = 15; pub const IP_ADD_SOURCE_MEMBERSHIP: ::c_int = 16; pub const IP_DROP_SOURCE_MEMBERSHIP: ::c_int = 17; pub const TCP_NODELAY: ::c_int = 0x01; pub const TCP_MAXSEG: ::c_int = 0x02; pub const TCP_NOPUSH: ::c_int = 0x04; pub const TCP_NOOPT: ::c_int = 0x08; pub const IPV6_MULTICAST_IF: ::c_int = 24; pub const IPV6_MULTICAST_HOPS: ::c_int = 25; pub const IPV6_MULTICAST_LOOP: ::c_int = 26; pub const IPV6_UNICAST_HOPS: ::c_int = 27; pub const IPV6_JOIN_GROUP: ::c_int = 28; pub const IPV6_LEAVE_GROUP: ::c_int = 29; pub const IPV6_V6ONLY: ::c_int = 30; pub const IPV6_PKTINFO: ::c_int = 31; pub const IPV6_RECVPKTINFO: ::c_int = 32; pub const IPV6_HOPLIMIT: ::c_int = 33; pub const IPV6_REVCHOPLIMIT: ::c_int = 34; pub const IPV6_HOPOPTS: ::c_int = 35; pub const IPV6_DSTOPTS: ::c_int = 36; pub const IPV6_RTHDR: ::c_int = 37; pub const MSG_OOB: ::c_int = 0x0001; pub const MSG_PEEK: ::c_int = 0x0002; pub const MSG_DONTROUTE: ::c_int = 0x0004; pub const MSG_EOR: ::c_int = 0x0008; pub const MSG_TRUNC: ::c_int = 0x0010; pub const MSG_CTRUNC: ::c_int = 0x0020; pub const MSG_WAITALL: ::c_int = 0x0040; pub const MSG_DONTWAIT: ::c_int = 0x0080; pub const MSG_BCAST: ::c_int = 0x0100; pub const MSG_MCAST: ::c_int = 0x0200; pub const MSG_EOF: ::c_int = 0x0400; pub const MSG_NOSIGNAL: ::c_int = 0x0800; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const LOCK_SH: ::c_int = 0x01; pub const LOCK_EX: ::c_int = 0x02; pub const LOCK_NB: ::c_int = 0x04; pub const LOCK_UN: ::c_int = 0x08; pub const SIGSTKSZ: ::size_t = 16384; pub const PATH_MAX: ::c_int = 1024; pub const SA_NOCLDSTOP: ::c_int = 0x01; pub const SA_NOCLDWAIT: ::c_int = 0x02; pub const SA_RESETHAND: ::c_int = 0x04; pub const SA_NODEFER: ::c_int = 0x08; pub const SA_RESTART: ::c_int = 0x10; pub const SA_ONSTACK: ::c_int = 0x20; pub const SA_SIGINFO: ::c_int = 0x40; pub const SA_NOMASK: ::c_int = SA_NODEFER; pub const SA_STACK: ::c_int = SA_ONSTACK; pub const SA_ONESHOT: ::c_int = SA_RESETHAND; pub const FD_SETSIZE: usize = 1024; pub const RTLD_LOCAL: ::c_int = 0x0; pub const RTLD_NOW: ::c_int = 0x1; pub const RTLD_GLOBAL: ::c_int = 0x2; pub const RTLD_DEFAULT: *mut ::c_void = 0isize as *mut ::c_void; pub const BUFSIZ: ::c_uint = 8192; pub const FILENAME_MAX: ::c_uint = 256; pub const FOPEN_MAX: ::c_uint = 128; pub const L_tmpnam: ::c_uint = 512; pub const TMP_MAX: ::c_uint = 32768; pub const _PC_CHOWN_RESTRICTED: ::c_int = 1; pub const _PC_MAX_CANON: ::c_int = 2; pub const _PC_MAX_INPUT: ::c_int = 3; pub const _PC_NAME_MAX: ::c_int = 4; pub const _PC_NO_TRUNC: ::c_int = 5; pub const _PC_PATH_MAX: ::c_int = 6; pub const _PC_PIPE_BUF: ::c_int = 7; pub const _PC_VDISABLE: ::c_int = 8; pub const _PC_LINK_MAX: ::c_int = 25; pub const _PC_SYNC_IO: ::c_int = 26; pub const _PC_ASYNC_IO: ::c_int = 27; pub const _PC_PRIO_IO: ::c_int = 28; pub const _PC_SOCK_MAXBUF: ::c_int = 29; pub const _PC_FILESIZEBITS: ::c_int = 30; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 31; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 32; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 33; pub const _PC_REC_XFER_ALIGN: ::c_int = 34; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 35; pub const _PC_SYMLINK_MAX: ::c_int = 36; pub const _PC_2_SYMLINKS: ::c_int = 37; pub const _PC_XATTR_EXISTS: ::c_int = 38; pub const _PC_XATTR_ENABLED: ::c_int = 39; pub const FIONBIO: ::c_int = 0xbe000000; pub const _SC_ARG_MAX: ::c_int = 15; pub const _SC_CHILD_MAX: ::c_int = 16; pub const _SC_CLK_TCK: ::c_int = 17; pub const _SC_JOB_CONTROL: ::c_int = 18; pub const _SC_NGROUPS_MAX: ::c_int = 19; pub const _SC_OPEN_MAX: ::c_int = 20; pub const _SC_SAVED_IDS: ::c_int = 21; pub const _SC_STREAM_MAX: ::c_int = 22; pub const _SC_TZNAME_MAX: ::c_int = 23; pub const _SC_VERSION: ::c_int = 24; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 25; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 26; pub const _SC_PAGESIZE: ::c_int = 27; pub const _SC_PAGE_SIZE: ::c_int = 27; pub const _SC_SEM_NSEMS_MAX: ::c_int = 28; pub const _SC_SEM_VALUE_MAX: ::c_int = 29; pub const _SC_SEMAPHORES: ::c_int = 30; pub const _SC_THREADS: ::c_int = 31; pub const _SC_IOV_MAX: ::c_int = 32; pub const _SC_UIO_MAXIOV: ::c_int = 32; pub const _SC_NPROCESSORS_CONF: ::c_int = 34; pub const _SC_NPROCESSORS_ONLN: ::c_int = 35; pub const _SC_ATEXIT_MAX: ::c_int = 37; pub const _SC_PASS_MAX: ::c_int = 39; pub const _SC_PHYS_PAGES: ::c_int = 40; pub const _SC_AVPHYS_PAGES: ::c_int = 41; pub const _SC_PIPE: ::c_int = 42; pub const _SC_SELECT: ::c_int = 43; pub const _SC_POLL: ::c_int = 44; pub const _SC_MAPPED_FILES: ::c_int = 45; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 46; pub const _SC_THREAD_STACK_MIN: ::c_int = 47; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 48; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 49; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 50; pub const _SC_REALTIME_SIGNALS: ::c_int = 51; pub const _SC_MEMORY_PROTECTION: ::c_int = 52; pub const _SC_SIGQUEUE_MAX: ::c_int = 53; pub const _SC_RTSIG_MAX: ::c_int = 54; pub const _SC_MONOTONIC_CLOCK: ::c_int = 55; pub const _SC_DELAYTIMER_MAX: ::c_int = 56; pub const _SC_TIMER_MAX: ::c_int = 57; pub const _SC_TIMERS: ::c_int = 58; pub const _SC_CPUTIME: ::c_int = 59; pub const _SC_THREAD_CPUTIME: ::c_int = 60; pub const PTHREAD_STACK_MIN: ::size_t = 8192; pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { flags: 0, lock: 0, unused: -42, owner: -1, owner_count: 0, }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { flags: 0, unused: -42, mutex: 0 as *mut _, waiter_count: 0, lock: 0, }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { flags: 0, owner: -1, lock_sem: 0, lock_count: 0, reader_count: 0, writer_count: 0, waiters: [0 as *mut _; 2], }; pub const PTHREAD_MUTEX_DEFAULT: ::c_int = 0; pub const PTHREAD_MUTEX_NORMAL: ::c_int = 1; pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 2; pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 3; pub const FIOCLEX: c_ulong = 0; // TODO: does not exist on Haiku! pub const RUSAGE_CHILDREN: ::c_int = -1; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_RAW: ::c_int = 3; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOL_SOCKET: ::c_int = -1; pub const SO_ACCEPTCONN: ::c_int = 0x00000001; pub const SO_BROADCAST: ::c_int = 0x00000002; pub const SO_DEBUG: ::c_int = 0x00000004; pub const SO_DONTROUTE: ::c_int = 0x00000008; pub const SO_KEEPALIVE: ::c_int = 0x00000010; pub const SO_OOBINLINE: ::c_int = 0x00000020; pub const SO_REUSEADDR: ::c_int = 0x00000040; pub const SO_REUSEPORT: ::c_int = 0x00000080; pub const SO_USELOOPBACK: ::c_int = 0x00000100; pub const SO_LINGER: ::c_int = 0x00000200; pub const SO_SNDBUF: ::c_int = 0x40000001; pub const SO_SNDLOWAT: ::c_int = 0x40000002; pub const SO_SNDTIMEO: ::c_int = 0x40000003; pub const SO_RCVBUF: ::c_int = 0x40000004; pub const SO_RCVLOWAT: ::c_int = 0x40000005; pub const SO_RCVTIMEO: ::c_int = 0x40000006; pub const SO_ERROR: ::c_int = 0x40000007; pub const SO_TYPE: ::c_int = 0x40000008; pub const SO_NONBLOCK: ::c_int = 0x40000009; pub const SO_BINDTODEVICE: ::c_int = 0x4000000a; pub const SO_PEERCRED: ::c_int = 0x4000000b; pub const SCM_RIGHTS: ::c_int = 0x01; pub const NI_MAXHOST: ::size_t = 1025; pub const WNOHANG: ::c_int = 0x01; pub const WUNTRACED: ::c_int = 0x02; pub const WCONTINUED: ::c_int = 0x04; pub const WEXITED: ::c_int = 0x08; pub const WSTOPPED: ::c_int = 0x10; pub const WNOWAIT: ::c_int = 0x20; pub const P_ALL: idtype_t = 0; pub const P_PID: idtype_t = 1; pub const P_PGID: idtype_t = 2; pub const UTIME_OMIT: c_long = 1000000001; pub const UTIME_NOW: c_long = 1000000000; 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 VEOL: usize = 5; pub const VMIN: usize = 4; pub const VTIME: usize = 5; pub const VEOL2: usize = 6; pub const VSWTCH: usize = 7; pub const VSTART: usize = 8; pub const VSTOP: usize = 9; pub const VSUSP: usize = 10; pub const IGNBRK: ::tcflag_t = 0x01; pub const BRKINT: ::tcflag_t = 0x02; pub const IGNPAR: ::tcflag_t = 0x04; pub const PARMRK: ::tcflag_t = 0x08; pub const INPCK: ::tcflag_t = 0x10; pub const ISTRIP: ::tcflag_t = 0x20; pub const INLCR: ::tcflag_t = 0x40; pub const IGNCR: ::tcflag_t = 0x80; pub const ICRNL: ::tcflag_t = 0x100; pub const IUCLC: ::tcflag_t = 0x200; pub const IXON: ::tcflag_t = 0x400; pub const IXANY: ::tcflag_t = 0x800; pub const IXOFF: ::tcflag_t = 0x1000; pub const OPOST: ::tcflag_t = 0x00000001; pub const OLCUC: ::tcflag_t = 0x00000002; pub const ONLCR: ::tcflag_t = 0x00000004; pub const OCRNL: ::tcflag_t = 0x00000008; pub const ONOCR: ::tcflag_t = 0x00000010; pub const ONLRET: ::tcflag_t = 0x00000020; pub const OFILL: ::tcflag_t = 0x00000040; pub const OFDEL: ::tcflag_t = 0x00000080; pub const NLDLY: ::tcflag_t = 0x00000100; pub const NL0: ::tcflag_t = 0x00000000; pub const NL1: ::tcflag_t = 0x00000100; pub const CRDLY: ::tcflag_t = 0x00000600; pub const CR0: ::tcflag_t = 0x00000000; pub const CR1: ::tcflag_t = 0x00000200; pub const CR2: ::tcflag_t = 0x00000400; pub const CR3: ::tcflag_t = 0x00000600; pub const TABDLY: ::tcflag_t = 0x00001800; pub const TAB0: ::tcflag_t = 0x00000000; pub const TAB1: ::tcflag_t = 0x00000800; pub const TAB2: ::tcflag_t = 0x00001000; pub const TAB3: ::tcflag_t = 0x00001800; pub const BSDLY: ::tcflag_t = 0x00002000; pub const BS0: ::tcflag_t = 0x00000000; pub const BS1: ::tcflag_t = 0x00002000; pub const VTDLY: ::tcflag_t = 0x00004000; pub const VT0: ::tcflag_t = 0x00000000; pub const VT1: ::tcflag_t = 0x00004000; pub const FFDLY: ::tcflag_t = 0x00008000; pub const FF0: ::tcflag_t = 0x00000000; pub const FF1: ::tcflag_t = 0x00008000; pub const CSIZE: ::tcflag_t = 0x00000020; pub const CS5: ::tcflag_t = 0x00000000; pub const CS6: ::tcflag_t = 0x00000000; pub const CS7: ::tcflag_t = 0x00000000; pub const CS8: ::tcflag_t = 0x00000020; 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 XLOBLK: ::tcflag_t = 0x00001000; pub const CTSFLOW: ::tcflag_t = 0x00002000; pub const RTSFLOW: ::tcflag_t = 0x00004000; pub const CRTSCTS: ::tcflag_t = RTSFLOW | CTSFLOW; pub const ISIG: ::tcflag_t = 0x00000001; pub const ICANON: ::tcflag_t = 0x00000002; pub const XCASE: ::tcflag_t = 0x00000004; pub const ECHO: ::tcflag_t = 0x00000008; pub const ECHOE: ::tcflag_t = 0x00000010; pub const ECHOK: ::tcflag_t = 0x00000020; pub const ECHONL: ::tcflag_t = 0x00000040; pub const NOFLSH: ::tcflag_t = 0x00000080; pub const TOSTOP: ::tcflag_t = 0x00000100; pub const IEXTEN: ::tcflag_t = 0x00000200; pub const ECHOCTL: ::tcflag_t = 0x00000400; pub const ECHOPRT: ::tcflag_t = 0x00000800; pub const ECHOKE: ::tcflag_t = 0x00001000; pub const FLUSHO: ::tcflag_t = 0x00002000; pub const PENDIN: ::tcflag_t = 0x00004000; pub const TCGB_CTS: ::c_int = 0x01; pub const TCGB_DSR: ::c_int = 0x02; pub const TCGB_RI: ::c_int = 0x04; pub const TCGB_DCD: ::c_int = 0x08; pub const TIOCM_CTS: ::c_int = TCGB_CTS; pub const TIOCM_CD: ::c_int = TCGB_DCD; pub const TIOCM_CAR: ::c_int = TIOCM_CD; pub const TIOCM_RI: ::c_int = TCGB_RI; pub const TIOCM_DSR: ::c_int = TCGB_DSR; pub const TIOCM_DTR: ::c_int = 0x10; pub const TIOCM_RTS: ::c_int = 0x20; pub const B0: speed_t = 0x00; pub const B50: speed_t = 0x01; pub const B75: speed_t = 0x02; pub const B110: speed_t = 0x03; pub const B134: speed_t = 0x04; pub const B150: speed_t = 0x05; pub const B200: speed_t = 0x06; pub const B300: speed_t = 0x07; pub const B600: speed_t = 0x08; pub const B1200: speed_t = 0x09; pub const B1800: speed_t = 0x0A; pub const B2400: speed_t = 0x0B; pub const B4800: speed_t = 0x0C; pub const B9600: speed_t = 0x0D; pub const B19200: speed_t = 0x0E; pub const B38400: speed_t = 0x0F; pub const B57600: speed_t = 0x10; pub const B115200: speed_t = 0x11; pub const B230400: speed_t = 0x12; pub const B31250: speed_t = 0x13; pub const TCSANOW: ::c_int = 0x01; pub const TCSADRAIN: ::c_int = 0x02; pub const TCSAFLUSH: ::c_int = 0x04; pub const TCOOFF: ::c_int = 0x01; pub const TCOON: ::c_int = 0x02; pub const TCIOFF: ::c_int = 0x04; pub const TCION: ::c_int = 0x08; pub const TCIFLUSH: ::c_int = 0x01; pub const TCOFLUSH: ::c_int = 0x02; pub const TCIOFLUSH: ::c_int = 0x03; pub const TCGETA: ::c_int = 0x8000; pub const TCSETA: ::c_int = TCGETA + 1; pub const TCSETAF: ::c_int = TCGETA + 2; pub const TCSETAW: ::c_int = TCGETA + 3; pub const TCWAITEVENT: ::c_int = TCGETA + 4; pub const TCSBRK: ::c_int = TCGETA + 5; pub const TCFLSH: ::c_int = TCGETA + 6; pub const TCXONC: ::c_int = TCGETA + 7; pub const TCQUERYCONNECTED: ::c_int = TCGETA + 8; pub const TCGETBITS: ::c_int = TCGETA + 9; pub const TCSETDTR: ::c_int = TCGETA + 10; pub const TCSETRTS: ::c_int = TCGETA + 11; pub const TIOCGWINSZ: ::c_int = TCGETA + 12; pub const TIOCSWINSZ: ::c_int = TCGETA + 13; pub const TCVTIME: ::c_int = TCGETA + 14; pub const TIOCGPGRP: ::c_int = TCGETA + 15; pub const TIOCSPGRP: ::c_int = TCGETA + 16; pub const TIOCSCTTY: ::c_int = TCGETA + 17; pub const TIOCMGET: ::c_int = TCGETA + 18; pub const TIOCMSET: ::c_int = TCGETA + 19; pub const TIOCSBRK: ::c_int = TCGETA + 20; pub const TIOCCBRK: ::c_int = TCGETA + 21; pub const TIOCMBIS: ::c_int = TCGETA + 22; pub const TIOCMBIC: ::c_int = TCGETA + 23; f! { pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () { let fd = fd as usize; let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; (*set).fds_bits[fd / size] &= !(1 << (fd % size)); return } 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 } pub fn FD_SET(fd: ::c_int, set: *mut fd_set) -> () { let fd = fd as usize; let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; (*set).fds_bits[fd / size] |= 1 << (fd % size); return } pub fn FD_ZERO(set: *mut fd_set) -> () { for slot in (*set).fds_bits.iter_mut() { *slot = 0; } } pub fn WIFEXITED(status: ::c_int) -> bool { (status & !0xff) == 0 } pub fn WEXITSTATUS(status: ::c_int) -> ::c_int { (status & 0xff) } pub fn WIFSIGNALED(status: ::c_int) -> bool { ((status >> 8) & 0xff) != 0 } pub fn WTERMSIG(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WIFSTOPPED(status: ::c_int) -> bool { ((status >> 16) & 0xff) != 0 } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { (status >> 16) & 0xff } // actually WIFCORED, but this is used everywhere else pub fn WCOREDUMP(status: ::c_int) -> bool { (status & 0x10000) != 0 } pub fn WIFCONTINUED(status: ::c_int) -> bool { (status & 0x20000) != 0 } } extern "C" { pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::c_int; pub fn _errnop() -> *mut ::c_int; pub fn abs(i: ::c_int) -> ::c_int; pub fn atof(s: *const ::c_char) -> ::c_double; pub fn labs(i: ::c_long) -> ::c_long; pub fn rand() -> ::c_int; pub fn srand(seed: ::c_uint); } #[link(name = "bsd")] extern "C" { 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 clock_gettime(clk_id: ::c_int, tp: *mut ::timespec) -> ::c_int; pub fn clock_settime(clk_id: ::c_int, tp: *const ::timespec) -> ::c_int; pub fn pthread_create( 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_attr_getguardsize( attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, stacksize: *mut ::size_t, ) -> ::c_int; pub fn pthread_condattr_getclock( attr: *const pthread_condattr_t, clock_id: *mut clockid_t, ) -> ::c_int; pub fn pthread_condattr_setclock( attr: *mut pthread_condattr_t, clock_id: ::clockid_t, ) -> ::c_int; pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; pub fn setgroups(ngroups: ::size_t, ptr: *const ::gid_t) -> ::c_int; pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; pub fn mprotect( addr: *const ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::size_t, serv: *mut ::c_char, sevlen: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn pthread_mutex_timedlock( lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn waitid( idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int, ) -> ::c_int; pub fn glob( pattern: *const ::c_char, flags: ::c_int, errfunc: ::Option< extern "C" fn(epath: *const ::c_char, errno: ::c_int) -> ::c_int, >, pglob: *mut ::glob_t, ) -> ::c_int; 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 shm_open( name: *const ::c_char, oflag: ::c_int, mode: ::mode_t, ) -> ::c_int; pub fn shm_unlink(name: *const ::c_char) -> ::c_int; pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long); pub fn telldir(dirp: *mut ::DIR) -> ::c_long; pub fn madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn msync( addr: *mut ::c_void, len: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn recvfrom( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::ssize_t; pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int; pub fn futimes(fd: ::c_int, times: *const ::timeval) -> ::c_int; pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int; pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char; pub fn bind( socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t, ) -> ::c_int; pub fn writev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn readv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn sendmsg( fd: ::c_int, msg: *const ::msghdr, flags: ::c_int, ) -> ::ssize_t; pub fn recvmsg( fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int, ) -> ::ssize_t; pub fn execvpe( file: *const ::c_char, argv: *const *const ::c_char, environment: *const *const ::c_char, ) -> ::c_int; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")] pub fn getgrgid_r( gid: ::gid_t, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigaltstack$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")] 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; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")] pub fn getgrnam_r( name: *const ::c_char, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_sigmask$UNIX2003" )] 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 sem_unlink(name: *const ::c_char) -> ::c_int; pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")] pub fn getpwnam_r( name: *const ::c_char, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")] pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigwait$UNIX2003" )] #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")] pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int; pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; pub fn getgrgid(gid: ::gid_t) -> *mut ::group; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "popen$UNIX2003" )] pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE; pub fn openpty( amaster: *mut ::c_int, aslave: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize, ) -> ::c_int; pub fn forkpty( amaster: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize, ) -> ::pid_t; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn uname(buf: *mut ::utsname) -> ::c_int; } cfg_if! { if #[cfg(target_pointer_width = "64")] { mod b64; pub use self::b64::*; } else { mod b32; pub use self::b32::*; } } libc-0.2.66/src/unix/hermit/aarch64.rs010064400007650000024000000000561353453276600156140ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; libc-0.2.66/src/unix/hermit/mod.rs010064400007650000024000001051321353775267200151470ustar0000000000000000// Copyright 2018 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. // liblibc port for HermitCore (https://hermitcore.org) // HermitCore is a unikernel based on lwIP, newlib, and // pthread-embedded. // Consider these definitions when porting liblibc to another // lwIP/newlib/pte-based target. // // Ported by Colin Finck pub type c_long = i64; pub type c_ulong = u64; pub type speed_t = ::c_uint; pub type mode_t = u32; pub type dev_t = i16; pub type nfds_t = ::c_ulong; pub type socklen_t = u32; pub type sa_family_t = u8; pub type clock_t = c_ulong; pub type time_t = c_long; pub type suseconds_t = c_long; pub type off_t = i64; pub type rlim_t = ::c_ulonglong; pub type sigset_t = ::c_ulong; pub type ino_t = u16; pub type nlink_t = u16; pub type blksize_t = c_long; pub type blkcnt_t = c_long; pub type stat64 = stat; pub type clockid_t = c_ulong; pub type pthread_t = pte_handle_t; pub type pthread_attr_t = usize; pub type pthread_cond_t = usize; pub type pthread_condattr_t = usize; pub type pthread_key_t = usize; pub type pthread_mutex_t = usize; pub type pthread_mutexattr_t = usize; pub type pthread_rwlock_t = usize; pub type pthread_rwlockattr_t = usize; s_no_extra_traits! { pub struct dirent { pub d_ino: ::c_long, pub d_off: off_t, pub d_reclen: u16, pub d_name: [::c_char; 256], } // Dummy pub struct sockaddr_un { pub sun_family: sa_family_t, pub sun_path: [::c_char; 108], } pub struct sockaddr { pub sa_len: u8, pub sa_family: sa_family_t, pub sa_data: [::c_char; 14], } pub struct sockaddr_in { pub sin_len: u8, pub sin_family: sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [::c_char; 8], } pub struct fd_set { fds_bits: [::c_ulong; FD_SETSIZE / ULONG_SIZE], } pub struct sockaddr_storage { pub s2_len: u8, pub ss_family: sa_family_t, pub s2_data1: [::c_char; 2], pub s2_data2: [u32; 3], pub s2_data3: [u32; 3], } 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_size: off_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_blksize: blksize_t, pub st_blocks: blkcnt_t, pub st_spare4: [::c_long; 2], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self .d_name .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_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_name.hash(state); } } impl PartialEq for sockaddr_un { fn eq(&self, other: &sockaddr_un) -> bool { self.sun_family == other.sun_family && self .sun_path .iter() .zip(other.sun_path.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_un {} impl ::fmt::Debug for sockaddr_un { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_un") .field("sun_family", &self.sun_family) // FIXME: .field("sun_path", &self.sun_path) .finish() } } impl ::hash::Hash for sockaddr_un { fn hash(&self, state: &mut H) { self.sun_family.hash(state); self.sun_path.hash(state); } } impl PartialEq for sockaddr { fn eq(&self, other: &sockaddr) -> bool { self.sa_len == other.sa_len && self.sa_family == other.sa_family && self .sa_data .iter() .zip(other.sa_data.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr {} impl ::fmt::Debug for sockaddr { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr") .field("sa_len", &self.sa_len) .field("sa_family", &self.sa_family) // FIXME: .field("sa_data", &self.sa_data) .finish() } } impl ::hash::Hash for sockaddr { fn hash(&self, state: &mut H) { self.sa_len.hash(state); self.sa_family.hash(state); self.sa_data.hash(state); } } impl PartialEq for sockaddr_in { fn eq(&self, other: &sockaddr_in) -> bool { self.sin_len == other.sin_len && self.sin_family == other.sin_family && self.sin_port == other.sin_port && self.sin_addr == other.sin_addr && self .sin_zero .iter() .zip(other.sin_zero.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_in {} impl ::fmt::Debug for sockaddr_in { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_in") .field("sin_len", &self.sin_len) .field("sin_family", &self.sin_family) .field("sin_port", &self.sin_port) .field("sin_addr", &self.sin_addr) // FIXME: .field("sin_zero", &self.sin_zero) .finish() } } impl ::hash::Hash for sockaddr_in { fn hash(&self, state: &mut H) { self.sin_len.hash(state); self.sin_family.hash(state); self.sin_port.hash(state); self.sin_addr.hash(state); self.sin_zero.hash(state); } } impl PartialEq for fd_set { fn eq(&self, other: &fd_set) -> bool { self.fds_bits .iter() .zip(other.fds_bits.iter()) .all(|(a,b)| a == b) } } impl Eq for fd_set {} impl ::fmt::Debug for fd_set { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("fd_set") // FIXME: .field("fds_bits", &self.fds_bits) .finish() } } impl ::hash::Hash for fd_set { fn hash(&self, state: &mut H) { self.fds_bits.hash(state); } } impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.s2_len == other.s2_len && self.ss_family == other.ss_family && self.s2_data1 .iter() .zip(other.s2_data1.iter()) .all(|(a,b)| a == b) && self.s2_data2 .iter() .zip(other.s2_data2.iter()) .all(|(a,b)| a == b) && self.s2_data3 .iter() .zip(other.s2_data3.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("s2_len", &self.s2_len) .field("ss_family", &self.ss_family) // FIXME: .field("s2_data1", &self.s2_data1) // FIXME: .field("s2_data2", &self.s2_data2) // FIXME: .field("s2_data3", &self.s2_data3) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.s2_len.hash(state); self.ss_family.hash(state); self.s2_data1.hash(state); self.s2_data2.hash(state); self.s2_data3.hash(state); } } impl PartialEq for stat { fn eq(&self, other: &stat) -> bool { self.st_dev == other.st_dev && self.st_ino == other.st_ino && self.st_mode == other.st_mode && self.st_nlink == other.st_nlink && self.st_uid == other.st_uid && self.st_gid == other.st_gid && self.st_rdev == other.st_rdev && self.st_size == other.st_size && self.st_atime == other.st_atime && self.st_atime_nsec == other.st_atime_nsec && self.st_mtime == other.st_mtime && self.st_mtime_nsec == other.st_mtime_nsec && self.st_ctime == other.st_ctime && self.st_ctime_nsec == other.st_ctime_nsec && self.st_blksize == other.st_blksize && self.st_blocks == other.st_blocks && self .st_spare4 .iter() .zip(other.st_spare4.iter()) .all(|(a,b)| a == b) } } impl Eq for stat {} impl ::fmt::Debug for stat { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("stat") .field("st_dev", &self.st_dev) .field("st_ino", &self.st_ino) .field("st_mode", &self.st_mode) .field("st_nlink", &self.st_nlink) .field("st_uid", &self.st_uid) .field("st_gid", &self.st_gid) .field("st_rdev", &self.st_rdev) .field("st_size", &self.st_size) .field("st_atime", &self.st_atime) .field("st_atime_nsec", &self.st_atime_nsec) .field("st_mtime", &self.st_mtime) .field("st_mtime_nsec", &self.st_mtime_nsec) .field("st_ctime", &self.st_ctime) .field("st_ctime_nsec", &self.st_ctime_nsec) .field("st_blksize", &self.st_blksize) .field("st_blocks", &self.st_blocks) // FIXME: .field("st_spare4", &self.st_spare4) .finish() } } impl ::hash::Hash for stat { fn hash(&self, state: &mut H) { self.st_dev.hash(state); self.st_ino.hash(state); self.st_mode.hash(state); self.st_nlink.hash(state); self.st_uid.hash(state); self.st_gid.hash(state); self.st_rdev.hash(state); self.st_size.hash(state); self.st_atime.hash(state); self.st_atime_nsec.hash(state); self.st_mtime.hash(state); self.st_mtime_nsec.hash(state); self.st_ctime.hash(state); self.st_ctime_nsec.hash(state); self.st_blksize.hash(state); self.st_blocks.hash(state); self.st_spare4.hash(state); } } } } s! { pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: socklen_t, pub ai_addr: *mut ::sockaddr, pub ai_canonname: *mut c_char, pub ai_next: *mut addrinfo, } pub struct Dl_info {} 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_p_sep_by_space: ::c_char, pub int_n_cs_precedes: ::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 passwd { // Unverified pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, } pub struct pte_handle_t { pub p: usize, pub x: ::c_uint, } pub struct sched_param { pub sched_priority: ::c_int, } pub struct sem_t { pub value: i32, pub lock: usize, pub sem: usize, } pub struct sigaction { pub sa_flags: ::c_int, pub sa_mask: sigset_t, pub sa_handler: usize, } pub struct sockaddr_in6 { pub sin6_len: u8, 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 statvfs {} 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 struct tms { pub tms_utime: ::clock_t, pub tms_stime: ::clock_t, pub tms_cutime: ::clock_t, pub tms_cstime: ::clock_t, } pub struct termios {} pub struct utsname {} } pub const AF_UNSPEC: ::c_int = 0; pub const AF_INET: ::c_int = 2; pub const AF_INET6: ::c_int = 10; // Dummy pub const AF_UNIX: ::c_int = 1; pub const CLOCK_REALTIME: ::clockid_t = 1; pub const CLOCK_MONOTONIC: ::clockid_t = 4; // Dummy pub const EAI_SYSTEM: ::c_int = -11; 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 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 ERFKILL: ::c_int = 132; pub const EHWPOISON: ::c_int = 133; pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; pub const F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; pub const F_GETOWN: ::c_int = 5; pub const F_SETOWN: ::c_int = 6; pub const F_GETLK: ::c_int = 7; pub const F_SETLK: ::c_int = 8; pub const F_SETLKW: ::c_int = 9; pub const F_RGETLK: ::c_int = 10; pub const F_RSETLK: ::c_int = 11; pub const F_CNVT: ::c_int = 12; pub const F_RSETLKW: ::c_int = 13; pub const F_DUPFD_CLOEXEC: ::c_int = 14; pub const FD_SETSIZE: usize = 1024; // Dummy pub const FIOCLEX: ::c_int = 0x5451; pub const FIONBIO: ::c_int = 0x8004667e; pub const FIONREAD: ::c_int = 0x4004667f; pub const IP_ADD_MEMBERSHIP: ::c_int = 3; pub const IP_DROP_MEMBERSHIP: ::c_int = 4; pub const IP_TOS: ::c_int = 1; pub const IP_TTL: ::c_int = 2; pub const IP_MULTICAST_TTL: ::c_int = 5; pub const IP_MULTICAST_IF: ::c_int = 6; pub const IP_MULTICAST_LOOP: ::c_int = 7; pub const IPV6_JOIN_GROUP: ::c_int = 12; pub const IPV6_ADD_MEMBERSHIP: ::c_int = 12; pub const IPV6_LEAVE_GROUP: ::c_int = 13; pub const IPV6_DROP_MEMBERSHIP: ::c_int = 13; pub const IPV6_V6ONLY: ::c_int = 27; // Dummy pub const IPV6_MULTICAST_LOOP: ::c_int = 7; pub const MSG_PEEK: ::c_int = 0x01; pub const MSG_WAITALL: ::c_int = 0x02; pub const MSG_OOB: ::c_int = 0x04; pub const MSG_DONTWAIT: ::c_int = 0x08; pub const MSG_MORE: ::c_int = 0x10; pub const O_ACCMODE: ::c_int = 3; 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 = 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_TRUNC: ::c_int = 512; pub const O_CLOEXEC: ::c_int = 524288; pub const POLLIN: ::c_short = 0x1; pub const POLLPRI: ::c_short = 0x2; pub const POLLOUT: ::c_short = 0x4; pub const POLLERR: ::c_short = 0x8; pub const POLLHUP: ::c_short = 0x10; pub const POLLNVAL: ::c_short = 0x20; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = usize::max_value(); pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = usize::max_value(); pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = usize::max_value(); pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0; pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 1; pub const PTHREAD_STACK_MIN: ::size_t = 0; // Dummy pub const RTLD_DEFAULT: *mut ::c_void = 0i64 as *mut ::c_void; pub const _SC_ARG_MAX: ::c_int = 0; pub const _SC_CHILD_MAX: ::c_int = 1; pub const _SC_CLK_TCK: ::c_int = 2; pub const _SC_NGROUPS_MAX: ::c_int = 3; pub const _SC_OPEN_MAX: ::c_int = 4; pub const _SC_JOB_CONTROL: ::c_int = 5; pub const _SC_SAVED_IDS: ::c_int = 6; pub const _SC_VERSION: ::c_int = 7; pub const _SC_PAGESIZE: ::c_int = 8; pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; pub const _SC_NPROCESSORS_CONF: ::c_int = 9; pub const _SC_NPROCESSORS_ONLN: ::c_int = 10; pub const _SC_PHYS_PAGES: ::c_int = 11; pub const _SC_AVPHYS_PAGES: ::c_int = 12; pub const _SC_MQ_OPEN_MAX: ::c_int = 13; pub const _SC_MQ_PRIO_MAX: ::c_int = 14; pub const _SC_RTSIG_MAX: ::c_int = 15; pub const _SC_SEM_NSEMS_MAX: ::c_int = 16; pub const _SC_SEM_VALUE_MAX: ::c_int = 17; pub const _SC_SIGQUEUE_MAX: ::c_int = 18; pub const _SC_TIMER_MAX: ::c_int = 19; pub const _SC_TZNAME_MAX: ::c_int = 20; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 21; pub const _SC_FSYNC: ::c_int = 22; pub const _SC_MAPPED_FILES: ::c_int = 23; pub const _SC_MEMLOCK: ::c_int = 24; pub const _SC_MEMLOCK_RANGE: ::c_int = 25; pub const _SC_MEMORY_PROTECTION: ::c_int = 26; pub const _SC_MESSAGE_PASSING: ::c_int = 27; pub const _SC_PRIORITIZED_IO: ::c_int = 28; pub const _SC_REALTIME_SIGNALS: ::c_int = 29; pub const _SC_SEMAPHORES: ::c_int = 30; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 31; pub const _SC_SYNCHRONIZED_IO: ::c_int = 32; pub const _SC_TIMERS: ::c_int = 33; pub const _SC_AIO_LISTIO_MAX: ::c_int = 34; pub const _SC_AIO_MAX: ::c_int = 35; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 36; pub const _SC_DELAYTIMER_MAX: ::c_int = 37; pub const _SC_THREAD_KEYS_MAX: ::c_int = 38; pub const _SC_THREAD_STACK_MIN: ::c_int = 39; pub const _SC_THREAD_THREADS_MAX: ::c_int = 40; pub const _SC_TTY_NAME_MAX: ::c_int = 41; pub const _SC_THREADS: ::c_int = 42; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 43; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 44; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 45; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 46; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 47; pub const _SC_THREAD_PRIO_CEILING: ::c_int = _SC_THREAD_PRIO_PROTECT; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 48; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 49; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 50; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 51; pub const _SC_LOGIN_NAME_MAX: ::c_int = 52; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 53; pub const _SC_ADVISORY_INFO: ::c_int = 54; pub const _SC_ATEXIT_MAX: ::c_int = 55; pub const _SC_BARRIERS: ::c_int = 56; pub const _SC_BC_BASE_MAX: ::c_int = 57; pub const _SC_BC_DIM_MAX: ::c_int = 58; pub const _SC_BC_SCALE_MAX: ::c_int = 59; pub const _SC_BC_STRING_MAX: ::c_int = 60; pub const _SC_CLOCK_SELECTION: ::c_int = 61; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 62; pub const _SC_CPUTIME: ::c_int = 63; pub const _SC_EXPR_NEST_MAX: ::c_int = 64; pub const _SC_HOST_NAME_MAX: ::c_int = 65; pub const _SC_IOV_MAX: ::c_int = 66; pub const _SC_IPV6: ::c_int = 67; pub const _SC_LINE_MAX: ::c_int = 68; pub const _SC_MONOTONIC_CLOCK: ::c_int = 69; pub const _SC_RAW_SOCKETS: ::c_int = 70; pub const _SC_READER_WRITER_LOCKS: ::c_int = 71; pub const _SC_REGEXP: ::c_int = 72; pub const _SC_RE_DUP_MAX: ::c_int = 73; pub const _SC_SHELL: ::c_int = 74; pub const _SC_SPAWN: ::c_int = 75; pub const _SC_SPIN_LOCKS: ::c_int = 76; pub const _SC_SPORADIC_SERVER: ::c_int = 77; pub const _SC_SS_REPL_MAX: ::c_int = 78; pub const _SC_SYMLOOP_MAX: ::c_int = 79; pub const _SC_THREAD_CPUTIME: ::c_int = 80; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 81; pub const _SC_TIMEOUTS: ::c_int = 82; pub const _SC_TRACE: ::c_int = 83; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 84; pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 85; pub const _SC_TRACE_INHERIT: ::c_int = 86; pub const _SC_TRACE_LOG: ::c_int = 87; pub const _SC_TRACE_NAME_MAX: ::c_int = 88; pub const _SC_TRACE_SYS_MAX: ::c_int = 89; pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 90; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 91; pub const _SC_V7_ILP32_OFF32: ::c_int = 92; pub const _SC_V6_ILP32_OFF32: ::c_int = _SC_V7_ILP32_OFF32; pub const _SC_XBS5_ILP32_OFF32: ::c_int = _SC_V7_ILP32_OFF32; pub const _SC_V7_ILP32_OFFBIG: ::c_int = 93; pub const _SC_V6_ILP32_OFFBIG: ::c_int = _SC_V7_ILP32_OFFBIG; pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = _SC_V7_ILP32_OFFBIG; pub const _SC_V7_LP64_OFF64: ::c_int = 94; pub const _SC_V6_LP64_OFF64: ::c_int = _SC_V7_LP64_OFF64; pub const _SC_XBS5_LP64_OFF64: ::c_int = _SC_V7_LP64_OFF64; pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 95; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = _SC_V7_LPBIG_OFFBIG; pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = _SC_V7_LPBIG_OFFBIG; pub const _SC_XOPEN_CRYPT: ::c_int = 96; pub const _SC_XOPEN_ENH_I18N: ::c_int = 97; pub const _SC_XOPEN_LEGACY: ::c_int = 98; pub const _SC_XOPEN_REALTIME: ::c_int = 99; pub const _SC_STREAM_MAX: ::c_int = 100; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 101; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 102; pub const _SC_XOPEN_SHM: ::c_int = 103; pub const _SC_XOPEN_STREAMS: ::c_int = 104; pub const _SC_XOPEN_UNIX: ::c_int = 105; pub const _SC_XOPEN_VERSION: ::c_int = 106; pub const _SC_2_CHAR_TERM: ::c_int = 107; pub const _SC_2_C_BIND: ::c_int = 108; pub const _SC_2_C_DEV: ::c_int = 109; pub const _SC_2_FORT_DEV: ::c_int = 110; pub const _SC_2_FORT_RUN: ::c_int = 111; pub const _SC_2_LOCALEDEF: ::c_int = 112; pub const _SC_2_PBS: ::c_int = 113; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 114; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 115; pub const _SC_2_PBS_LOCATE: ::c_int = 116; pub const _SC_2_PBS_MESSAGE: ::c_int = 117; pub const _SC_2_PBS_TRACK: ::c_int = 118; pub const _SC_2_SW_DEV: ::c_int = 119; pub const _SC_2_UPE: ::c_int = 120; pub const _SC_2_VERSION: ::c_int = 121; pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 122; pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 123; pub const _SC_XOPEN_UUCP: ::c_int = 124; pub const _SC_LEVEL1_ICACHE_SIZE: ::c_int = 125; pub const _SC_LEVEL1_ICACHE_ASSOC: ::c_int = 126; pub const _SC_LEVEL1_ICACHE_LINESIZE: ::c_int = 127; pub const _SC_LEVEL1_DCACHE_SIZE: ::c_int = 128; pub const _SC_LEVEL1_DCACHE_ASSOC: ::c_int = 129; pub const _SC_LEVEL1_DCACHE_LINESIZE: ::c_int = 130; pub const _SC_LEVEL2_CACHE_SIZE: ::c_int = 131; pub const _SC_LEVEL2_CACHE_ASSOC: ::c_int = 132; pub const _SC_LEVEL2_CACHE_LINESIZE: ::c_int = 133; pub const _SC_LEVEL3_CACHE_SIZE: ::c_int = 134; pub const _SC_LEVEL3_CACHE_ASSOC: ::c_int = 135; pub const _SC_LEVEL3_CACHE_LINESIZE: ::c_int = 136; pub const _SC_LEVEL4_CACHE_SIZE: ::c_int = 137; pub const _SC_LEVEL4_CACHE_ASSOC: ::c_int = 138; pub const _SC_LEVEL4_CACHE_LINESIZE: ::c_int = 139; pub const S_BLKSIZE: ::mode_t = 1024; pub const S_IREAD: ::mode_t = 256; pub const S_IWRITE: ::mode_t = 128; pub const S_IEXEC: ::mode_t = 64; pub const S_ENFMT: ::mode_t = 1024; pub const S_IFMT: ::mode_t = 61440; pub const S_IFDIR: ::mode_t = 16384; pub const S_IFCHR: ::mode_t = 8192; pub const S_IFBLK: ::mode_t = 24576; pub const S_IFREG: ::mode_t = 32768; pub const S_IFLNK: ::mode_t = 40960; pub const S_IFSOCK: ::mode_t = 49152; pub const S_IFIFO: ::mode_t = 4096; pub const S_IRUSR: ::mode_t = 256; pub const S_IWUSR: ::mode_t = 128; pub const S_IXUSR: ::mode_t = 64; pub const S_IRGRP: ::mode_t = 32; pub const S_IWGRP: ::mode_t = 16; pub const S_IXGRP: ::mode_t = 8; pub const S_IROTH: ::mode_t = 4; pub const S_IWOTH: ::mode_t = 2; pub const S_IXOTH: ::mode_t = 1; pub const SEEK_SET: ::c_int = 0; pub const SEEK_CUR: ::c_int = 1; pub const SEEK_END: ::c_int = 2; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const SIG_SETMASK: ::c_int = 0; 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 SIGABRT: ::c_int = 6; pub const SIGEMT: ::c_int = 7; pub const SIGFPE: ::c_int = 8; pub const SIGKILL: ::c_int = 9; pub const SIGSEGV: ::c_int = 11; pub const SIGPIPE: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const SO_DEBUG: ::c_int = 0x0001; pub const SO_ACCEPTCONN: ::c_int = 0x0002; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_USELOOPBACK: ::c_int = 0x0040; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; 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; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_CONTIMEO: ::c_int = 0x1009; pub const SO_NO_CHECK: ::c_int = 0x100a; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_RAW: ::c_int = 3; pub const SOL_SOCKET: ::c_int = 0xfff; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::c_int = 2; pub const TCP_NODELAY: ::c_int = 0x01; pub const TCP_KEEPALIVE: ::c_int = 0x02; pub const TCP_KEEPIDLE: ::c_int = 0x03; pub const TCP_KEEPINTVL: ::c_int = 0x04; pub const TCP_KEEPCNT: ::c_int = 0x05; const ULONG_SIZE: usize = 64; pub const WNOHANG: ::c_int = 0x00000001; f! { pub fn WEXITSTATUS(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WIFEXITED(status: ::c_int) -> bool { (status & 0xff) == 0 } pub fn WTERMSIG(status: ::c_int) -> ::c_int { status & 0x7f } } extern "C" { pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::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 abs(i: ::c_int) -> ::c_int; pub fn atof(s: *const ::c_char) -> ::c_double; pub fn labs(i: ::c_long) -> ::c_long; pub fn rand() -> ::c_int; pub fn srand(seed: ::c_uint); pub fn bind( s: ::c_int, name: *const ::sockaddr, namelen: ::socklen_t, ) -> ::c_int; pub fn clock_gettime( clock_id: ::clockid_t, tp: *mut ::timespec, ) -> ::c_int; pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; // Dummy pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; pub fn memalign(align: ::size_t, nbytes: ::size_t) -> *mut ::c_void; pub fn pthread_create( tid: *mut ::pthread_t, attr: *const ::pthread_attr_t, start: extern "C" fn(*mut ::c_void) -> *mut ::c_void, arg: *mut ::c_void, ) -> ::c_int; pub fn pthread_sigmask( how: ::c_int, set: *const ::sigset_t, oset: *mut ::sigset_t, ) -> ::c_int; pub fn recvfrom( s: ::c_int, mem: *mut ::c_void, len: ::size_t, flags: ::c_int, from: *mut ::sockaddr, fromlen: *mut ::socklen_t, ) -> ::c_int; pub fn setgroups(ngroups: ::c_int, grouplist: *const ::gid_t) -> ::c_int; pub fn uname(buf: *mut ::utsname) -> ::c_int; } cfg_if! { if #[cfg(target_arch = "aarch64")] { mod aarch64; pub use self::aarch64::*; } else if #[cfg(target_arch = "x86_64")] { mod x86_64; pub use self::x86_64::*; } else { // Unknown target_arch } } libc-0.2.66/src/unix/hermit/x86_64.rs010064400007650000024000000000561353453276600153220ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; libc-0.2.66/src/unix/linux_like/android/b32/arm.rs010064400007650000024000000340311353453276600200240ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; 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 = 0o400000; 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_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_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_lseek: ::c_long = 19; pub const SYS_getpid: ::c_long = 20; pub const SYS_mount: ::c_long = 21; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_ptrace: ::c_long = 26; pub const SYS_pause: ::c_long = 29; 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_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_getrusage: ::c_long = 77; pub const SYS_gettimeofday: ::c_long = 78; pub const SYS_settimeofday: ::c_long = 79; pub const SYS_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_symlink: ::c_long = 83; 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_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_fchown: ::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_syslog: ::c_long = 103; pub const SYS_setitimer: ::c_long = 104; pub const SYS_getitimer: ::c_long = 105; pub const SYS_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::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_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_uname: ::c_long = 122; pub const SYS_adjtimex: ::c_long = 124; pub const SYS_mprotect: ::c_long = 125; pub const SYS_sigprocmask: ::c_long = 126; pub const SYS_init_module: ::c_long = 128; pub const SYS_delete_module: ::c_long = 129; 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_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS_getdents: ::c_long = 141; 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_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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_poll: ::c_long = 168; pub const SYS_nfsservctl: ::c_long = 169; pub const SYS_setresgid: ::c_long = 170; pub const SYS_getresgid: ::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: ::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_chown: ::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_vfork: ::c_long = 190; pub const SYS_ugetrlimit: ::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_lchown32: ::c_long = 198; pub const SYS_getuid32: ::c_long = 199; pub const SYS_getgid32: ::c_long = 200; pub const SYS_geteuid32: ::c_long = 201; pub const SYS_getegid32: ::c_long = 202; pub const SYS_setreuid32: ::c_long = 203; pub const SYS_setregid32: ::c_long = 204; pub const SYS_getgroups32: ::c_long = 205; pub const SYS_setgroups32: ::c_long = 206; pub const SYS_fchown32: ::c_long = 207; pub const SYS_setresuid32: ::c_long = 208; pub const SYS_getresuid32: ::c_long = 209; pub const SYS_setresgid32: ::c_long = 210; pub const SYS_getresgid32: ::c_long = 211; pub const SYS_chown32: ::c_long = 212; pub const SYS_setuid32: ::c_long = 213; pub const SYS_setgid32: ::c_long = 214; pub const SYS_setfsuid32: ::c_long = 215; pub const SYS_setfsgid32: ::c_long = 216; pub const SYS_getdents64: ::c_long = 217; pub const SYS_pivot_root: ::c_long = 218; pub const SYS_mincore: ::c_long = 219; pub const SYS_madvise: ::c_long = 220; pub const SYS_fcntl64: ::c_long = 221; pub const SYS_gettid: ::c_long = 224; pub const SYS_readahead: ::c_long = 225; pub const SYS_setxattr: ::c_long = 226; pub const SYS_lsetxattr: ::c_long = 227; pub const SYS_fsetxattr: ::c_long = 228; pub const SYS_getxattr: ::c_long = 229; pub const SYS_lgetxattr: ::c_long = 230; pub const SYS_fgetxattr: ::c_long = 231; pub const SYS_listxattr: ::c_long = 232; pub const SYS_llistxattr: ::c_long = 233; pub const SYS_flistxattr: ::c_long = 234; pub const SYS_removexattr: ::c_long = 235; pub const SYS_lremovexattr: ::c_long = 236; pub const SYS_fremovexattr: ::c_long = 237; pub const SYS_tkill: ::c_long = 238; pub const SYS_sendfile64: ::c_long = 239; pub const SYS_futex: ::c_long = 240; pub const SYS_sched_setaffinity: ::c_long = 241; pub const SYS_sched_getaffinity: ::c_long = 242; pub const SYS_io_setup: ::c_long = 243; pub const SYS_io_destroy: ::c_long = 244; pub const SYS_io_getevents: ::c_long = 245; pub const SYS_io_submit: ::c_long = 246; pub const SYS_io_cancel: ::c_long = 247; pub const SYS_exit_group: ::c_long = 248; pub const SYS_lookup_dcookie: ::c_long = 249; pub const SYS_epoll_create: ::c_long = 250; pub const SYS_epoll_ctl: ::c_long = 251; pub const SYS_epoll_wait: ::c_long = 252; pub const SYS_remap_file_pages: ::c_long = 253; pub const SYS_set_tid_address: ::c_long = 256; pub const SYS_timer_create: ::c_long = 257; pub const SYS_timer_settime: ::c_long = 258; pub const SYS_timer_gettime: ::c_long = 259; pub const SYS_timer_getoverrun: ::c_long = 260; pub const SYS_timer_delete: ::c_long = 261; pub const SYS_clock_settime: ::c_long = 262; pub const SYS_clock_gettime: ::c_long = 263; pub const SYS_clock_getres: ::c_long = 264; pub const SYS_clock_nanosleep: ::c_long = 265; pub const SYS_statfs64: ::c_long = 266; pub const SYS_fstatfs64: ::c_long = 267; pub const SYS_tgkill: ::c_long = 268; pub const SYS_utimes: ::c_long = 269; pub const SYS_arm_fadvise64_64: ::c_long = 270; pub const SYS_pciconfig_iobase: ::c_long = 271; pub const SYS_pciconfig_read: ::c_long = 272; pub const SYS_pciconfig_write: ::c_long = 273; pub const SYS_mq_open: ::c_long = 274; pub const SYS_mq_unlink: ::c_long = 275; pub const SYS_mq_timedsend: ::c_long = 276; pub const SYS_mq_timedreceive: ::c_long = 277; pub const SYS_mq_notify: ::c_long = 278; pub const SYS_mq_getsetattr: ::c_long = 279; pub const SYS_waitid: ::c_long = 280; pub const SYS_socket: ::c_long = 281; pub const SYS_bind: ::c_long = 282; pub const SYS_connect: ::c_long = 283; pub const SYS_listen: ::c_long = 284; pub const SYS_accept: ::c_long = 285; pub const SYS_getsockname: ::c_long = 286; pub const SYS_getpeername: ::c_long = 287; pub const SYS_socketpair: ::c_long = 288; pub const SYS_send: ::c_long = 289; pub const SYS_sendto: ::c_long = 290; pub const SYS_recv: ::c_long = 291; pub const SYS_recvfrom: ::c_long = 292; pub const SYS_shutdown: ::c_long = 293; pub const SYS_setsockopt: ::c_long = 294; pub const SYS_getsockopt: ::c_long = 295; pub const SYS_sendmsg: ::c_long = 296; pub const SYS_recvmsg: ::c_long = 297; pub const SYS_semop: ::c_long = 298; pub const SYS_semget: ::c_long = 299; pub const SYS_semctl: ::c_long = 300; pub const SYS_msgsnd: ::c_long = 301; pub const SYS_msgrcv: ::c_long = 302; pub const SYS_msgget: ::c_long = 303; pub const SYS_msgctl: ::c_long = 304; pub const SYS_shmat: ::c_long = 305; pub const SYS_shmdt: ::c_long = 306; pub const SYS_shmget: ::c_long = 307; pub const SYS_shmctl: ::c_long = 308; pub const SYS_add_key: ::c_long = 309; pub const SYS_request_key: ::c_long = 310; pub const SYS_keyctl: ::c_long = 311; pub const SYS_semtimedop: ::c_long = 312; pub const SYS_vserver: ::c_long = 313; pub const SYS_ioprio_set: ::c_long = 314; pub const SYS_ioprio_get: ::c_long = 315; pub const SYS_inotify_init: ::c_long = 316; pub const SYS_inotify_add_watch: ::c_long = 317; pub const SYS_inotify_rm_watch: ::c_long = 318; pub const SYS_mbind: ::c_long = 319; pub const SYS_get_mempolicy: ::c_long = 320; pub const SYS_set_mempolicy: ::c_long = 321; pub const SYS_openat: ::c_long = 322; pub const SYS_mkdirat: ::c_long = 323; pub const SYS_mknodat: ::c_long = 324; pub const SYS_fchownat: ::c_long = 325; pub const SYS_futimesat: ::c_long = 326; pub const SYS_fstatat64: ::c_long = 327; pub const SYS_unlinkat: ::c_long = 328; pub const SYS_renameat: ::c_long = 329; pub const SYS_linkat: ::c_long = 330; pub const SYS_symlinkat: ::c_long = 331; pub const SYS_readlinkat: ::c_long = 332; pub const SYS_fchmodat: ::c_long = 333; pub const SYS_faccessat: ::c_long = 334; pub const SYS_pselect6: ::c_long = 335; pub const SYS_ppoll: ::c_long = 336; pub const SYS_unshare: ::c_long = 337; pub const SYS_set_robust_list: ::c_long = 338; pub const SYS_get_robust_list: ::c_long = 339; pub const SYS_splice: ::c_long = 340; pub const SYS_arm_sync_file_range: ::c_long = 341; pub const SYS_tee: ::c_long = 342; pub const SYS_vmsplice: ::c_long = 343; pub const SYS_move_pages: ::c_long = 344; pub const SYS_getcpu: ::c_long = 345; pub const SYS_epoll_pwait: ::c_long = 346; pub const SYS_kexec_load: ::c_long = 347; pub const SYS_utimensat: ::c_long = 348; pub const SYS_signalfd: ::c_long = 349; pub const SYS_timerfd_create: ::c_long = 350; pub const SYS_eventfd: ::c_long = 351; pub const SYS_fallocate: ::c_long = 352; pub const SYS_timerfd_settime: ::c_long = 353; pub const SYS_timerfd_gettime: ::c_long = 354; pub const SYS_signalfd4: ::c_long = 355; pub const SYS_eventfd2: ::c_long = 356; pub const SYS_epoll_create1: ::c_long = 357; pub const SYS_dup3: ::c_long = 358; pub const SYS_pipe2: ::c_long = 359; pub const SYS_inotify_init1: ::c_long = 360; pub const SYS_preadv: ::c_long = 361; pub const SYS_pwritev: ::c_long = 362; pub const SYS_rt_tgsigqueueinfo: ::c_long = 363; pub const SYS_perf_event_open: ::c_long = 364; pub const SYS_recvmmsg: ::c_long = 365; pub const SYS_accept4: ::c_long = 366; pub const SYS_fanotify_init: ::c_long = 367; pub const SYS_fanotify_mark: ::c_long = 368; pub const SYS_prlimit64: ::c_long = 369; pub const SYS_name_to_handle_at: ::c_long = 370; pub const SYS_open_by_handle_at: ::c_long = 371; pub const SYS_clock_adjtime: ::c_long = 372; pub const SYS_syncfs: ::c_long = 373; pub const SYS_sendmmsg: ::c_long = 374; pub const SYS_setns: ::c_long = 375; pub const SYS_process_vm_readv: ::c_long = 376; pub const SYS_process_vm_writev: ::c_long = 377; pub const SYS_kcmp: ::c_long = 378; pub const SYS_finit_module: ::c_long = 379; pub const SYS_sched_setattr: ::c_long = 380; pub const SYS_sched_getattr: ::c_long = 381; pub const SYS_renameat2: ::c_long = 382; pub const SYS_seccomp: ::c_long = 383; pub const SYS_getrandom: ::c_long = 384; pub const SYS_memfd_create: ::c_long = 385; pub const SYS_bpf: ::c_long = 386; pub const SYS_execveat: ::c_long = 387; pub const SYS_userfaultfd: ::c_long = 388; pub const SYS_membarrier: ::c_long = 389; pub const SYS_mlock2: ::c_long = 390; pub const SYS_copy_file_range: ::c_long = 391; pub const SYS_preadv2: ::c_long = 392; 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; libc-0.2.66/src/unix/linux_like/android/b32/mod.rs010064400007650000024000000136731353775267200200400ustar0000000000000000// The following definitions are correct for arm and i686, // but may be wrong for mips pub type c_long = i32; pub type c_ulong = u32; pub type mode_t = u16; pub type off64_t = ::c_longlong; pub type sigset_t = ::c_ulong; pub type socklen_t = i32; pub type time64_t = i64; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } pub struct rlimit64 { pub rlim_cur: u64, pub rlim_max: u64, } pub struct stat { pub st_dev: ::c_ulonglong, __pad0: [::c_uchar; 4], __st_ino: ::ino_t, pub st_mode: ::c_uint, pub st_nlink: ::c_uint, pub st_uid: ::uid_t, pub st_gid: ::gid_t, pub st_rdev: ::c_ulonglong, __pad3: [::c_uchar; 4], pub st_size: ::c_longlong, pub st_blksize: ::blksize_t, pub st_blocks: ::c_ulonglong, pub st_atime: ::c_long, pub st_atime_nsec: ::c_long, pub st_mtime: ::c_long, pub st_mtime_nsec: ::c_long, pub st_ctime: ::c_long, pub st_ctime_nsec: ::c_long, pub st_ino: ::c_ulonglong, } pub struct stat64 { pub st_dev: ::c_ulonglong, __pad0: [::c_uchar; 4], __st_ino: ::ino_t, pub st_mode: ::c_uint, pub st_nlink: ::c_uint, pub st_uid: ::uid_t, pub st_gid: ::gid_t, pub st_rdev: ::c_ulonglong, __pad3: [::c_uchar; 4], pub st_size: ::c_longlong, pub st_blksize: ::blksize_t, pub st_blocks: ::c_ulonglong, pub st_atime: ::c_long, pub st_atime_nsec: ::c_long, pub st_mtime: ::c_long, pub st_mtime_nsec: ::c_long, pub st_ctime: ::c_long, pub st_ctime_nsec: ::c_long, pub st_ino: ::c_ulonglong, } pub struct statfs64 { pub f_type: u32, pub f_bsize: u32, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, f_fsid: [u32; 2], pub f_namelen: u32, pub f_frsize: u32, pub f_flags: u32, pub f_spare: [u32; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: ::c_ulong, pub f_bfree: ::c_ulong, pub f_bavail: ::c_ulong, pub f_files: ::c_ulong, pub f_ffree: ::c_ulong, pub f_favail: ::c_ulong, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, } pub struct pthread_attr_t { pub flags: u32, pub stack_base: *mut ::c_void, pub stack_size: ::size_t, pub guard_size: ::size_t, pub sched_policy: i32, pub sched_priority: i32, } pub struct pthread_mutex_t { value: ::c_int } pub struct pthread_cond_t { value: ::c_int } pub struct pthread_rwlock_t { lock: pthread_mutex_t, cond: pthread_cond_t, numLocks: ::c_int, writerThreadId: ::c_int, pendingReaders: ::c_int, pendingWriters: ::c_int, attr: i32, __reserved: [::c_char; 12], } pub struct passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, } pub struct statfs { pub f_type: u32, pub f_bsize: u32, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_fsid: ::__fsid_t, pub f_namelen: u32, pub f_frsize: u32, pub f_flags: u32, pub f_spare: [u32; 4], } pub struct sysinfo { pub uptime: ::c_long, pub loads: [::c_ulong; 3], pub totalram: ::c_ulong, pub freeram: ::c_ulong, pub sharedram: ::c_ulong, pub bufferram: ::c_ulong, pub totalswap: ::c_ulong, pub freeswap: ::c_ulong, pub procs: ::c_ushort, pub pad: ::c_ushort, pub totalhigh: ::c_ulong, pub freehigh: ::c_ulong, pub mem_unit: ::c_uint, pub _f: [::c_char; 8], } } // These constants must be of the same type of sigaction.sa_flags pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const SA_NOCLDWAIT: ::c_int = 0x00000002; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_ONSTACK: ::c_int = 0x08000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_SIGINFO: ::c_int = 0x00000004; pub const RTLD_GLOBAL: ::c_int = 2; pub const RTLD_NOW: ::c_int = 0; pub const RTLD_DEFAULT: *mut ::c_void = -1isize as *mut ::c_void; pub const PTRACE_GETFPREGS: ::c_int = 14; pub const PTRACE_SETFPREGS: ::c_int = 15; pub const PTRACE_GETREGS: ::c_int = 12; pub const PTRACE_SETREGS: ::c_int = 13; pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { value: 0 }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { value: 0 }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { lock: PTHREAD_MUTEX_INITIALIZER, cond: PTHREAD_COND_INITIALIZER, numLocks: 0, writerThreadId: 0, pendingReaders: 0, pendingWriters: 0, attr: 0, __reserved: [0; 12], }; pub const PTHREAD_STACK_MIN: ::size_t = 4096 * 2; pub const CPU_SETSIZE: ::size_t = 32; pub const __CPU_BITS: ::size_t = 32; pub const UT_LINESIZE: usize = 8; pub const UT_NAMESIZE: usize = 8; pub const UT_HOSTSIZE: usize = 16; pub const SIGSTKSZ: ::size_t = 8192; pub const MINSIGSTKSZ: ::size_t = 2048; extern "C" { pub fn timegm64(tm: *const ::tm) -> ::time64_t; } cfg_if! { if #[cfg(target_arch = "x86")] { mod x86; pub use self::x86::*; } else if #[cfg(target_arch = "arm")] { mod arm; pub use self::arm::*; } else { // Unknown target_arch } } libc-0.2.66/src/unix/linux_like/android/b32/x86/align.rs010064400007650000024000000002241355140103400207370ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(8))] pub struct max_align_t { priv_: [f64; 2] } } libc-0.2.66/src/unix/linux_like/android/b32/x86/mod.rs010064400007650000024000000402051354141276600204440ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; pub const O_DIRECT: ::c_int = 0x4000; pub const O_DIRECTORY: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x20000; pub const O_LARGEFILE: ::c_int = 0o0100000; pub const MAP_32BIT: ::c_int = 0x40; // Syscall table 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_time: ::c_long = 13; pub const SYS_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_break: ::c_long = 17; pub const SYS_oldstat: ::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_umount: ::c_long = 22; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_stime: ::c_long = 25; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_oldfstat: ::c_long = 28; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::c_long = 30; pub const SYS_stty: ::c_long = 31; pub const SYS_gtty: ::c_long = 32; pub const SYS_access: ::c_long = 33; pub const SYS_nice: ::c_long = 34; pub const SYS_ftime: ::c_long = 35; 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_prof: ::c_long = 44; pub const SYS_brk: ::c_long = 45; pub const SYS_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_signal: ::c_long = 48; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::c_long = 52; pub const SYS_lock: ::c_long = 53; pub const SYS_ioctl: ::c_long = 54; pub const SYS_fcntl: ::c_long = 55; pub const SYS_mpx: ::c_long = 56; pub const SYS_setpgid: ::c_long = 57; pub const SYS_ulimit: ::c_long = 58; pub const SYS_oldolduname: ::c_long = 59; 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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_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_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_select: ::c_long = 82; pub const SYS_symlink: ::c_long = 83; pub const SYS_oldlstat: ::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_readdir: ::c_long = 89; pub const SYS_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_fchown: ::c_long = 95; pub const SYS_getpriority: ::c_long = 96; pub const SYS_setpriority: ::c_long = 97; pub const SYS_profil: ::c_long = 98; pub const SYS_statfs: ::c_long = 99; pub const SYS_fstatfs: ::c_long = 100; pub const SYS_ioperm: ::c_long = 101; 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_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::c_long = 108; pub const SYS_olduname: ::c_long = 109; pub const SYS_iopl: ::c_long = 110; pub const SYS_vhangup: ::c_long = 111; pub const SYS_idle: ::c_long = 112; pub const SYS_vm86old: ::c_long = 113; 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_uname: ::c_long = 122; pub const SYS_modify_ldt: ::c_long = 123; pub const SYS_adjtimex: ::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_afs_syscall: ::c_long = 137; pub const SYS_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; // FIXME: SYS__llseek is in the NDK sources but for some reason is // not available in the tests // pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; // FIXME: SYS__newselect is in the NDK sources but for some reason is // not available in the tests // pub const SYS__newselect: ::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; // FIXME: SYS__llseek is in the NDK sources but for some reason is // not available in the tests // 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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_vm86: ::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_setresgid: ::c_long = 170; pub const SYS_getresgid: ::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: ::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_chown: ::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_ugetrlimit: ::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_lchown32: ::c_long = 198; pub const SYS_getuid32: ::c_long = 199; pub const SYS_getgid32: ::c_long = 200; pub const SYS_geteuid32: ::c_long = 201; pub const SYS_getegid32: ::c_long = 202; pub const SYS_setreuid32: ::c_long = 203; pub const SYS_setregid32: ::c_long = 204; pub const SYS_getgroups32: ::c_long = 205; pub const SYS_setgroups32: ::c_long = 206; pub const SYS_fchown32: ::c_long = 207; pub const SYS_setresuid32: ::c_long = 208; pub const SYS_getresuid32: ::c_long = 209; pub const SYS_setresgid32: ::c_long = 210; pub const SYS_getresgid32: ::c_long = 211; pub const SYS_chown32: ::c_long = 212; pub const SYS_setuid32: ::c_long = 213; pub const SYS_setgid32: ::c_long = 214; pub const SYS_setfsuid32: ::c_long = 215; pub const SYS_setfsgid32: ::c_long = 216; pub const SYS_pivot_root: ::c_long = 217; pub const SYS_mincore: ::c_long = 218; pub const SYS_madvise: ::c_long = 219; pub const SYS_getdents64: ::c_long = 220; pub const SYS_fcntl64: ::c_long = 221; pub const SYS_gettid: ::c_long = 224; pub const SYS_readahead: ::c_long = 225; pub const SYS_setxattr: ::c_long = 226; pub const SYS_lsetxattr: ::c_long = 227; pub const SYS_fsetxattr: ::c_long = 228; pub const SYS_getxattr: ::c_long = 229; pub const SYS_lgetxattr: ::c_long = 230; pub const SYS_fgetxattr: ::c_long = 231; pub const SYS_listxattr: ::c_long = 232; pub const SYS_llistxattr: ::c_long = 233; pub const SYS_flistxattr: ::c_long = 234; pub const SYS_removexattr: ::c_long = 235; pub const SYS_lremovexattr: ::c_long = 236; pub const SYS_fremovexattr: ::c_long = 237; pub const SYS_tkill: ::c_long = 238; pub const SYS_sendfile64: ::c_long = 239; pub const SYS_futex: ::c_long = 240; pub const SYS_sched_setaffinity: ::c_long = 241; pub const SYS_sched_getaffinity: ::c_long = 242; pub const SYS_set_thread_area: ::c_long = 243; pub const SYS_get_thread_area: ::c_long = 244; pub const SYS_io_setup: ::c_long = 245; pub const SYS_io_destroy: ::c_long = 246; pub const SYS_io_getevents: ::c_long = 247; pub const SYS_io_submit: ::c_long = 248; pub const SYS_io_cancel: ::c_long = 249; pub const SYS_fadvise64: ::c_long = 250; pub const SYS_exit_group: ::c_long = 252; pub const SYS_lookup_dcookie: ::c_long = 253; pub const SYS_epoll_create: ::c_long = 254; pub const SYS_epoll_ctl: ::c_long = 255; pub const SYS_epoll_wait: ::c_long = 256; pub const SYS_remap_file_pages: ::c_long = 257; pub const SYS_set_tid_address: ::c_long = 258; pub const SYS_timer_create: ::c_long = 259; pub const SYS_timer_settime: ::c_long = 260; pub const SYS_timer_gettime: ::c_long = 261; pub const SYS_timer_getoverrun: ::c_long = 262; pub const SYS_timer_delete: ::c_long = 263; pub const SYS_clock_settime: ::c_long = 264; pub const SYS_clock_gettime: ::c_long = 265; pub const SYS_clock_getres: ::c_long = 266; pub const SYS_clock_nanosleep: ::c_long = 267; pub const SYS_statfs64: ::c_long = 268; pub const SYS_fstatfs64: ::c_long = 269; pub const SYS_tgkill: ::c_long = 270; pub const SYS_utimes: ::c_long = 271; pub const SYS_fadvise64_64: ::c_long = 272; pub const SYS_vserver: ::c_long = 273; pub const SYS_mbind: ::c_long = 274; pub const SYS_get_mempolicy: ::c_long = 275; pub const SYS_set_mempolicy: ::c_long = 276; pub const SYS_mq_open: ::c_long = 277; pub const SYS_mq_unlink: ::c_long = 278; pub const SYS_mq_timedsend: ::c_long = 279; pub const SYS_mq_timedreceive: ::c_long = 280; pub const SYS_mq_notify: ::c_long = 281; pub const SYS_mq_getsetattr: ::c_long = 282; pub const SYS_kexec_load: ::c_long = 283; pub const SYS_waitid: ::c_long = 284; pub const SYS_add_key: ::c_long = 286; pub const SYS_request_key: ::c_long = 287; pub const SYS_keyctl: ::c_long = 288; pub const SYS_ioprio_set: ::c_long = 289; pub const SYS_ioprio_get: ::c_long = 290; pub const SYS_inotify_init: ::c_long = 291; pub const SYS_inotify_add_watch: ::c_long = 292; pub const SYS_inotify_rm_watch: ::c_long = 293; pub const SYS_migrate_pages: ::c_long = 294; pub const SYS_openat: ::c_long = 295; pub const SYS_mkdirat: ::c_long = 296; pub const SYS_mknodat: ::c_long = 297; pub const SYS_fchownat: ::c_long = 298; pub const SYS_futimesat: ::c_long = 299; pub const SYS_fstatat64: ::c_long = 300; pub const SYS_unlinkat: ::c_long = 301; pub const SYS_renameat: ::c_long = 302; pub const SYS_linkat: ::c_long = 303; pub const SYS_symlinkat: ::c_long = 304; pub const SYS_readlinkat: ::c_long = 305; pub const SYS_fchmodat: ::c_long = 306; pub const SYS_faccessat: ::c_long = 307; pub const SYS_pselect6: ::c_long = 308; pub const SYS_ppoll: ::c_long = 309; pub const SYS_unshare: ::c_long = 310; pub const SYS_set_robust_list: ::c_long = 311; pub const SYS_get_robust_list: ::c_long = 312; pub const SYS_splice: ::c_long = 313; pub const SYS_sync_file_range: ::c_long = 314; pub const SYS_tee: ::c_long = 315; pub const SYS_vmsplice: ::c_long = 316; pub const SYS_move_pages: ::c_long = 317; pub const SYS_getcpu: ::c_long = 318; pub const SYS_epoll_pwait: ::c_long = 319; pub const SYS_utimensat: ::c_long = 320; pub const SYS_signalfd: ::c_long = 321; pub const SYS_timerfd_create: ::c_long = 322; pub const SYS_eventfd: ::c_long = 323; pub const SYS_fallocate: ::c_long = 324; pub const SYS_timerfd_settime: ::c_long = 325; pub const SYS_timerfd_gettime: ::c_long = 326; pub const SYS_signalfd4: ::c_long = 327; pub const SYS_eventfd2: ::c_long = 328; pub const SYS_epoll_create1: ::c_long = 329; pub const SYS_dup3: ::c_long = 330; pub const SYS_pipe2: ::c_long = 331; pub const SYS_inotify_init1: ::c_long = 332; pub const SYS_preadv: ::c_long = 333; pub const SYS_pwritev: ::c_long = 334; pub const SYS_rt_tgsigqueueinfo: ::c_long = 335; pub const SYS_perf_event_open: ::c_long = 336; pub const SYS_recvmmsg: ::c_long = 337; pub const SYS_fanotify_init: ::c_long = 338; pub const SYS_fanotify_mark: ::c_long = 339; pub const SYS_prlimit64: ::c_long = 340; pub const SYS_name_to_handle_at: ::c_long = 341; pub const SYS_open_by_handle_at: ::c_long = 342; pub const SYS_clock_adjtime: ::c_long = 343; pub const SYS_syncfs: ::c_long = 344; pub const SYS_sendmmsg: ::c_long = 345; pub const SYS_setns: ::c_long = 346; pub const SYS_process_vm_readv: ::c_long = 347; pub const SYS_process_vm_writev: ::c_long = 348; pub const SYS_kcmp: ::c_long = 349; pub const SYS_finit_module: ::c_long = 350; pub const SYS_sched_setattr: ::c_long = 351; pub const SYS_sched_getattr: ::c_long = 352; pub const SYS_renameat2: ::c_long = 353; pub const SYS_seccomp: ::c_long = 354; pub const SYS_getrandom: ::c_long = 355; pub const SYS_memfd_create: ::c_long = 356; pub const SYS_bpf: ::c_long = 357; pub const SYS_execveat: ::c_long = 358; pub const SYS_socket: ::c_long = 359; pub const SYS_socketpair: ::c_long = 360; pub const SYS_bind: ::c_long = 361; pub const SYS_connect: ::c_long = 362; pub const SYS_listen: ::c_long = 363; pub const SYS_accept4: ::c_long = 364; pub const SYS_getsockopt: ::c_long = 365; pub const SYS_setsockopt: ::c_long = 366; pub const SYS_getsockname: ::c_long = 367; pub const SYS_getpeername: ::c_long = 368; pub const SYS_sendto: ::c_long = 369; pub const SYS_sendmsg: ::c_long = 370; pub const SYS_recvfrom: ::c_long = 371; pub const SYS_recvmsg: ::c_long = 372; pub const SYS_shutdown: ::c_long = 373; pub const SYS_userfaultfd: ::c_long = 374; pub const SYS_membarrier: ::c_long = 375; pub const SYS_mlock2: ::c_long = 376; pub const SYS_copy_file_range: ::c_long = 377; pub const SYS_preadv2: ::c_long = 378; pub const SYS_pwritev2: ::c_long = 379; pub const SYS_pkey_mprotect: ::c_long = 380; pub const SYS_pkey_alloc: ::c_long = 381; pub const SYS_pkey_free: ::c_long = 382; // offsets in user_regs_structs, from sys/reg.h pub const EBX: ::c_int = 0; pub const ECX: ::c_int = 1; pub const EDX: ::c_int = 2; pub const ESI: ::c_int = 3; pub const EDI: ::c_int = 4; pub const EBP: ::c_int = 5; pub const EAX: ::c_int = 6; pub const DS: ::c_int = 7; pub const ES: ::c_int = 8; pub const FS: ::c_int = 9; pub const GS: ::c_int = 10; pub const ORIG_EAX: ::c_int = 11; pub const EIP: ::c_int = 12; pub const CS: ::c_int = 13; pub const EFL: ::c_int = 14; pub const UESP: ::c_int = 15; pub const SS: ::c_int = 16; cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/android/b64/aarch64/align.rs010064400007650000024000000002251355140103400215500ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f32; 8] } } libc-0.2.66/src/unix/linux_like/android/b64/aarch64/mod.rs010064400007650000024000000304101354141276600212510ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; s! { pub struct stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_mode: ::c_uint, pub st_nlink: ::c_uint, pub st_uid: ::uid_t, pub st_gid: ::gid_t, pub st_rdev: ::dev_t, __pad1: ::c_ulong, pub st_size: ::off64_t, pub st_blksize: ::c_int, __pad2: ::c_int, pub st_blocks: ::c_long, 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, __unused4: ::c_uint, __unused5: ::c_uint, } pub struct stat64 { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_mode: ::c_uint, pub st_nlink: ::c_uint, pub st_uid: ::uid_t, pub st_gid: ::gid_t, pub st_rdev: ::dev_t, __pad1: ::c_ulong, pub st_size: ::off64_t, pub st_blksize: ::c_int, __pad2: ::c_int, pub st_blocks: ::c_long, 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, __unused4: ::c_uint, __unused5: ::c_uint, } } 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 = 0o400000; pub const SIGSTKSZ: ::size_t = 16384; pub const MINSIGSTKSZ: ::size_t = 5120; pub const SYS_io_setup: ::c_long = 0; pub const SYS_io_destroy: ::c_long = 1; pub const SYS_io_submit: ::c_long = 2; pub const SYS_io_cancel: ::c_long = 3; pub const SYS_io_getevents: ::c_long = 4; 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_getcwd: ::c_long = 17; pub const SYS_lookup_dcookie: ::c_long = 18; pub const SYS_eventfd2: ::c_long = 19; pub const SYS_epoll_create1: ::c_long = 20; 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_inotify_init1: ::c_long = 26; pub const SYS_inotify_add_watch: ::c_long = 27; pub const SYS_inotify_rm_watch: ::c_long = 28; pub const SYS_ioctl: ::c_long = 29; pub const SYS_ioprio_set: ::c_long = 30; pub const SYS_ioprio_get: ::c_long = 31; pub const SYS_flock: ::c_long = 32; pub const SYS_mknodat: ::c_long = 33; pub const SYS_mkdirat: ::c_long = 34; pub const SYS_unlinkat: ::c_long = 35; pub const SYS_symlinkat: ::c_long = 36; pub const SYS_linkat: ::c_long = 37; pub const SYS_renameat: ::c_long = 38; pub const SYS_umount2: ::c_long = 39; pub const SYS_mount: ::c_long = 40; pub const SYS_pivot_root: ::c_long = 41; pub const SYS_nfsservctl: ::c_long = 42; pub const SYS_fallocate: ::c_long = 47; pub const SYS_faccessat: ::c_long = 48; pub const SYS_chdir: ::c_long = 49; pub const SYS_fchdir: ::c_long = 50; pub const SYS_chroot: ::c_long = 51; pub const SYS_fchmod: ::c_long = 52; pub const SYS_fchmodat: ::c_long = 53; pub const SYS_fchownat: ::c_long = 54; pub const SYS_fchown: ::c_long = 55; pub const SYS_openat: ::c_long = 56; pub const SYS_close: ::c_long = 57; pub const SYS_vhangup: ::c_long = 58; pub const SYS_pipe2: ::c_long = 59; pub const SYS_quotactl: ::c_long = 60; pub const SYS_getdents64: ::c_long = 61; pub const SYS_read: ::c_long = 63; pub const SYS_write: ::c_long = 64; pub const SYS_readv: ::c_long = 65; pub const SYS_writev: ::c_long = 66; pub const SYS_pread64: ::c_long = 67; pub const SYS_pwrite64: ::c_long = 68; pub const SYS_preadv: ::c_long = 69; pub const SYS_pwritev: ::c_long = 70; pub const SYS_pselect6: ::c_long = 72; pub const SYS_ppoll: ::c_long = 73; pub const SYS_signalfd4: ::c_long = 74; pub const SYS_vmsplice: ::c_long = 75; pub const SYS_splice: ::c_long = 76; pub const SYS_tee: ::c_long = 77; pub const SYS_readlinkat: ::c_long = 78; pub const SYS_sync: ::c_long = 81; pub const SYS_fsync: ::c_long = 82; pub const SYS_fdatasync: ::c_long = 83; pub const SYS_sync_file_range: ::c_long = 84; pub const SYS_timerfd_create: ::c_long = 85; pub const SYS_timerfd_settime: ::c_long = 86; pub const SYS_timerfd_gettime: ::c_long = 87; pub const SYS_utimensat: ::c_long = 88; pub const SYS_acct: ::c_long = 89; pub const SYS_capget: ::c_long = 90; pub const SYS_capset: ::c_long = 91; pub const SYS_personality: ::c_long = 92; pub const SYS_exit: ::c_long = 93; pub const SYS_exit_group: ::c_long = 94; pub const SYS_waitid: ::c_long = 95; pub const SYS_set_tid_address: ::c_long = 96; pub const SYS_unshare: ::c_long = 97; pub const SYS_futex: ::c_long = 98; pub const SYS_set_robust_list: ::c_long = 99; pub const SYS_get_robust_list: ::c_long = 100; pub const SYS_nanosleep: ::c_long = 101; pub const SYS_getitimer: ::c_long = 102; pub const SYS_setitimer: ::c_long = 103; pub const SYS_kexec_load: ::c_long = 104; pub const SYS_init_module: ::c_long = 105; pub const SYS_delete_module: ::c_long = 106; pub const SYS_timer_create: ::c_long = 107; pub const SYS_timer_gettime: ::c_long = 108; pub const SYS_timer_getoverrun: ::c_long = 109; pub const SYS_timer_settime: ::c_long = 110; 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_syslog: ::c_long = 116; pub const SYS_ptrace: ::c_long = 117; pub const SYS_sched_setparam: ::c_long = 118; pub const SYS_sched_setscheduler: ::c_long = 119; pub const SYS_sched_getscheduler: ::c_long = 120; pub const SYS_sched_getparam: ::c_long = 121; pub const SYS_sched_setaffinity: ::c_long = 122; pub const SYS_sched_getaffinity: ::c_long = 123; pub const SYS_sched_yield: ::c_long = 124; 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_restart_syscall: ::c_long = 128; pub const SYS_kill: ::c_long = 129; pub const SYS_tkill: ::c_long = 130; pub const SYS_tgkill: ::c_long = 131; pub const SYS_sigaltstack: ::c_long = 132; pub const SYS_rt_sigsuspend: ::c_long = 133; pub const SYS_rt_sigaction: ::c_long = 134; pub const SYS_rt_sigprocmask: ::c_long = 135; 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_sigreturn: ::c_long = 139; pub const SYS_setpriority: ::c_long = 140; pub const SYS_getpriority: ::c_long = 141; pub const SYS_reboot: ::c_long = 142; pub const SYS_setregid: ::c_long = 143; pub const SYS_setgid: ::c_long = 144; pub const SYS_setreuid: ::c_long = 145; pub const SYS_setuid: ::c_long = 146; 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_setfsuid: ::c_long = 151; pub const SYS_setfsgid: ::c_long = 152; pub const SYS_times: ::c_long = 153; pub const SYS_setpgid: ::c_long = 154; pub const SYS_getpgid: ::c_long = 155; pub const SYS_getsid: ::c_long = 156; pub const SYS_setsid: ::c_long = 157; pub const SYS_getgroups: ::c_long = 158; pub const SYS_setgroups: ::c_long = 159; pub const SYS_uname: ::c_long = 160; pub const SYS_sethostname: ::c_long = 161; pub const SYS_setdomainname: ::c_long = 162; pub const SYS_getrlimit: ::c_long = 163; pub const SYS_setrlimit: ::c_long = 164; pub const SYS_getrusage: ::c_long = 165; pub const SYS_umask: ::c_long = 166; pub const SYS_prctl: ::c_long = 167; pub const SYS_getcpu: ::c_long = 168; pub const SYS_gettimeofday: ::c_long = 169; pub const SYS_settimeofday: ::c_long = 170; pub const SYS_adjtimex: ::c_long = 171; pub const SYS_getpid: ::c_long = 172; pub const SYS_getppid: ::c_long = 173; pub const SYS_getuid: ::c_long = 174; pub const SYS_geteuid: ::c_long = 175; pub const SYS_getgid: ::c_long = 176; pub const SYS_getegid: ::c_long = 177; pub const SYS_gettid: ::c_long = 178; pub const SYS_sysinfo: ::c_long = 179; 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_msgget: ::c_long = 186; pub const SYS_msgctl: ::c_long = 187; pub const SYS_msgrcv: ::c_long = 188; pub const SYS_msgsnd: ::c_long = 189; pub const SYS_semget: ::c_long = 190; pub const SYS_semctl: ::c_long = 191; pub const SYS_semtimedop: ::c_long = 192; pub const SYS_semop: ::c_long = 193; pub const SYS_shmget: ::c_long = 194; pub const SYS_shmctl: ::c_long = 195; pub const SYS_shmat: ::c_long = 196; pub const SYS_shmdt: ::c_long = 197; pub const SYS_socket: ::c_long = 198; pub const SYS_socketpair: ::c_long = 199; pub const SYS_bind: ::c_long = 200; pub const SYS_listen: ::c_long = 201; pub const SYS_accept: ::c_long = 202; pub const SYS_connect: ::c_long = 203; pub const SYS_getsockname: ::c_long = 204; pub const SYS_getpeername: ::c_long = 205; pub const SYS_sendto: ::c_long = 206; pub const SYS_recvfrom: ::c_long = 207; pub const SYS_setsockopt: ::c_long = 208; pub const SYS_getsockopt: ::c_long = 209; pub const SYS_shutdown: ::c_long = 210; pub const SYS_sendmsg: ::c_long = 211; pub const SYS_recvmsg: ::c_long = 212; pub const SYS_readahead: ::c_long = 213; pub const SYS_brk: ::c_long = 214; pub const SYS_munmap: ::c_long = 215; pub const SYS_mremap: ::c_long = 216; 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_clone: ::c_long = 220; pub const SYS_execve: ::c_long = 221; pub const SYS_swapon: ::c_long = 224; pub const SYS_swapoff: ::c_long = 225; pub const SYS_mprotect: ::c_long = 226; pub const SYS_msync: ::c_long = 227; 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_mincore: ::c_long = 232; pub const SYS_madvise: ::c_long = 233; pub const SYS_remap_file_pages: ::c_long = 234; pub const SYS_mbind: ::c_long = 235; pub const SYS_get_mempolicy: ::c_long = 236; pub const SYS_set_mempolicy: ::c_long = 237; pub const SYS_migrate_pages: ::c_long = 238; pub const SYS_move_pages: ::c_long = 239; pub const SYS_rt_tgsigqueueinfo: ::c_long = 240; pub const SYS_perf_event_open: ::c_long = 241; pub const SYS_accept4: ::c_long = 242; pub const SYS_recvmmsg: ::c_long = 243; pub const SYS_arch_specific_syscall: ::c_long = 244; pub const SYS_wait4: ::c_long = 260; pub const SYS_prlimit64: ::c_long = 261; pub const SYS_fanotify_init: ::c_long = 262; pub const SYS_fanotify_mark: ::c_long = 263; 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_setns: ::c_long = 268; pub const SYS_sendmmsg: ::c_long = 269; 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_syscalls: ::c_long = 292; cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/android/b64/mod.rs010064400007650000024000000200321354064436400200200ustar0000000000000000// The following definitions are correct for aarch64 and x86_64, // but may be wrong for mips64 pub type c_long = i64; pub type c_ulong = u64; pub type mode_t = u32; pub type off64_t = i64; pub type socklen_t = u32; s! { pub struct sigset_t { __val: [::c_ulong; 1], } pub struct sigaction { pub sa_flags: ::c_int, pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_restorer: ::Option, } pub struct rlimit64 { pub rlim_cur: ::c_ulonglong, pub rlim_max: ::c_ulonglong, } pub struct pthread_attr_t { pub flags: u32, pub stack_base: *mut ::c_void, pub stack_size: ::size_t, pub guard_size: ::size_t, pub sched_policy: i32, pub sched_priority: i32, __reserved: [::c_char; 16], } pub struct passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, } pub struct statfs { pub f_type: u64, pub f_bsize: u64, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_fsid: ::__fsid_t, pub f_namelen: u64, pub f_frsize: u64, pub f_flags: u64, pub f_spare: [u64; 4], } pub struct sysinfo { pub uptime: ::c_long, pub loads: [::c_ulong; 3], pub totalram: ::c_ulong, pub freeram: ::c_ulong, pub sharedram: ::c_ulong, pub bufferram: ::c_ulong, pub totalswap: ::c_ulong, pub freeswap: ::c_ulong, pub procs: ::c_ushort, pub pad: ::c_ushort, pub totalhigh: ::c_ulong, pub freehigh: ::c_ulong, pub mem_unit: ::c_uint, pub _f: [::c_char; 0], } pub struct statfs64 { pub f_type: u64, pub f_bsize: u64, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, f_fsid: [u32; 2], pub f_namelen: u64, pub f_frsize: u64, pub f_flags: u64, pub f_spare: [u64; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } } s_no_extra_traits! { pub struct pthread_mutex_t { value: ::c_int, __reserved: [::c_char; 36], } pub struct pthread_cond_t { value: ::c_int, __reserved: [::c_char; 44], } pub struct pthread_rwlock_t { numLocks: ::c_int, writerThreadId: ::c_int, pendingReaders: ::c_int, pendingWriters: ::c_int, attr: i32, __reserved: [::c_char; 36], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for pthread_mutex_t { fn eq(&self, other: &pthread_mutex_t) -> bool { self.value == other.value && self .__reserved .iter() .zip(other.__reserved.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_mutex_t {} impl ::fmt::Debug for pthread_mutex_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_mutex_t") .field("value", &self.value) // FIXME: .field("__reserved", &self.__reserved) .finish() } } impl ::hash::Hash for pthread_mutex_t { fn hash(&self, state: &mut H) { self.value.hash(state); self.__reserved.hash(state); } } impl PartialEq for pthread_cond_t { fn eq(&self, other: &pthread_cond_t) -> bool { self.value == other.value && self .__reserved .iter() .zip(other.__reserved.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_cond_t {} impl ::fmt::Debug for pthread_cond_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_cond_t") .field("value", &self.value) // FIXME: .field("__reserved", &self.__reserved) .finish() } } impl ::hash::Hash for pthread_cond_t { fn hash(&self, state: &mut H) { self.value.hash(state); self.__reserved.hash(state); } } impl PartialEq for pthread_rwlock_t { fn eq(&self, other: &pthread_rwlock_t) -> bool { self.numLocks == other.numLocks && self.writerThreadId == other.writerThreadId && self.pendingReaders == other.pendingReaders && self.pendingWriters == other.pendingWriters && self.attr == other.attr && self .__reserved .iter() .zip(other.__reserved.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_rwlock_t {} impl ::fmt::Debug for pthread_rwlock_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_rwlock_t") .field("numLocks", &self.numLocks) .field("writerThreadId", &self.writerThreadId) .field("pendingReaders", &self.pendingReaders) .field("pendingWriters", &self.pendingWriters) .field("attr", &self.attr) // FIXME: .field("__reserved", &self.__reserved) .finish() } } impl ::hash::Hash for pthread_rwlock_t { fn hash(&self, state: &mut H) { self.numLocks.hash(state); self.writerThreadId.hash(state); self.pendingReaders.hash(state); self.pendingWriters.hash(state); self.attr.hash(state); self.__reserved.hash(state); } } } } // These constants must be of the same type of sigaction.sa_flags pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const SA_NOCLDWAIT: ::c_int = 0x00000002; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_ONSTACK: ::c_int = 0x08000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_SIGINFO: ::c_int = 0x00000004; pub const RTLD_GLOBAL: ::c_int = 0x00100; pub const RTLD_NOW: ::c_int = 2; pub const RTLD_DEFAULT: *mut ::c_void = 0i64 as *mut ::c_void; pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { value: 0, __reserved: [0; 36], }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { value: 0, __reserved: [0; 44], }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { numLocks: 0, writerThreadId: 0, pendingReaders: 0, pendingWriters: 0, attr: 0, __reserved: [0; 36], }; pub const PTHREAD_STACK_MIN: ::size_t = 4096 * 4; pub const CPU_SETSIZE: ::size_t = 1024; pub const __CPU_BITS: ::size_t = 64; pub const UT_LINESIZE: usize = 32; pub const UT_NAMESIZE: usize = 32; pub const UT_HOSTSIZE: usize = 256; cfg_if! { 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 { // Unknown target_arch } } libc-0.2.66/src/unix/linux_like/android/b64/x86_64/align.rs010064400007650000024000000002251355140103400212560ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f64; 4] } } libc-0.2.66/src/unix/linux_like/android/b64/x86_64/mod.rs010064400007650000024000000371411354141276600207670ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; s! { pub struct stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_nlink: ::c_ulong, pub st_mode: ::c_uint, pub st_uid: ::uid_t, pub st_gid: ::gid_t, pub st_rdev: ::dev_t, pub st_size: ::off64_t, pub st_blksize: ::c_long, pub st_blocks: ::c_long, pub st_atime: ::c_long, pub st_atime_nsec: ::c_long, pub st_mtime: ::c_long, pub st_mtime_nsec: ::c_long, pub st_ctime: ::c_long, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 3], } pub struct stat64 { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_nlink: ::c_ulong, pub st_mode: ::c_uint, pub st_uid: ::uid_t, pub st_gid: ::gid_t, pub st_rdev: ::dev_t, pub st_size: ::off64_t, pub st_blksize: ::c_long, pub st_blocks: ::c_long, pub st_atime: ::c_long, pub st_atime_nsec: ::c_long, pub st_mtime: ::c_long, pub st_mtime_nsec: ::c_long, pub st_ctime: ::c_long, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 3], } } pub const O_DIRECT: ::c_int = 0x4000; pub const O_DIRECTORY: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x20000; pub const O_LARGEFILE: ::c_int = 0o0100000; pub const SIGSTKSZ: ::size_t = 8192; pub const MINSIGSTKSZ: ::size_t = 2048; pub const MAP_32BIT: ::c_int = 0x40; // Syscall table pub const SYS_read: ::c_long = 0; pub const SYS_write: ::c_long = 1; pub const SYS_open: ::c_long = 2; pub const SYS_close: ::c_long = 3; pub const SYS_stat: ::c_long = 4; pub const SYS_fstat: ::c_long = 5; pub const SYS_lstat: ::c_long = 6; pub const SYS_poll: ::c_long = 7; pub const SYS_lseek: ::c_long = 8; pub const SYS_mmap: ::c_long = 9; pub const SYS_mprotect: ::c_long = 10; pub const SYS_munmap: ::c_long = 11; pub const SYS_brk: ::c_long = 12; pub const SYS_rt_sigaction: ::c_long = 13; pub const SYS_rt_sigprocmask: ::c_long = 14; pub const SYS_rt_sigreturn: ::c_long = 15; pub const SYS_ioctl: ::c_long = 16; pub const SYS_pread64: ::c_long = 17; pub const SYS_pwrite64: ::c_long = 18; pub const SYS_readv: ::c_long = 19; pub const SYS_writev: ::c_long = 20; pub const SYS_access: ::c_long = 21; pub const SYS_pipe: ::c_long = 22; pub const SYS_select: ::c_long = 23; pub const SYS_sched_yield: ::c_long = 24; pub const SYS_mremap: ::c_long = 25; pub const SYS_msync: ::c_long = 26; pub const SYS_mincore: ::c_long = 27; pub const SYS_madvise: ::c_long = 28; pub const SYS_shmget: ::c_long = 29; pub const SYS_shmat: ::c_long = 30; pub const SYS_shmctl: ::c_long = 31; pub const SYS_dup: ::c_long = 32; pub const SYS_dup2: ::c_long = 33; pub const SYS_pause: ::c_long = 34; pub const SYS_nanosleep: ::c_long = 35; pub const SYS_getitimer: ::c_long = 36; pub const SYS_alarm: ::c_long = 37; pub const SYS_setitimer: ::c_long = 38; pub const SYS_getpid: ::c_long = 39; pub const SYS_sendfile: ::c_long = 40; pub const SYS_socket: ::c_long = 41; pub const SYS_connect: ::c_long = 42; pub const SYS_accept: ::c_long = 43; pub const SYS_sendto: ::c_long = 44; pub const SYS_recvfrom: ::c_long = 45; pub const SYS_sendmsg: ::c_long = 46; pub const SYS_recvmsg: ::c_long = 47; pub const SYS_shutdown: ::c_long = 48; pub const SYS_bind: ::c_long = 49; pub const SYS_listen: ::c_long = 50; pub const SYS_getsockname: ::c_long = 51; pub const SYS_getpeername: ::c_long = 52; pub const SYS_socketpair: ::c_long = 53; pub const SYS_setsockopt: ::c_long = 54; pub const SYS_getsockopt: ::c_long = 55; pub const SYS_clone: ::c_long = 56; pub const SYS_fork: ::c_long = 57; pub const SYS_vfork: ::c_long = 58; pub const SYS_execve: ::c_long = 59; pub const SYS_exit: ::c_long = 60; pub const SYS_wait4: ::c_long = 61; pub const SYS_kill: ::c_long = 62; pub const SYS_uname: ::c_long = 63; pub const SYS_semget: ::c_long = 64; pub const SYS_semop: ::c_long = 65; pub const SYS_semctl: ::c_long = 66; pub const SYS_shmdt: ::c_long = 67; pub const SYS_msgget: ::c_long = 68; pub const SYS_msgsnd: ::c_long = 69; pub const SYS_msgrcv: ::c_long = 70; pub const SYS_msgctl: ::c_long = 71; pub const SYS_fcntl: ::c_long = 72; pub const SYS_flock: ::c_long = 73; pub const SYS_fsync: ::c_long = 74; pub const SYS_fdatasync: ::c_long = 75; pub const SYS_truncate: ::c_long = 76; pub const SYS_ftruncate: ::c_long = 77; pub const SYS_getdents: ::c_long = 78; pub const SYS_getcwd: ::c_long = 79; pub const SYS_chdir: ::c_long = 80; pub const SYS_fchdir: ::c_long = 81; pub const SYS_rename: ::c_long = 82; pub const SYS_mkdir: ::c_long = 83; pub const SYS_rmdir: ::c_long = 84; pub const SYS_creat: ::c_long = 85; pub const SYS_link: ::c_long = 86; pub const SYS_unlink: ::c_long = 87; pub const SYS_symlink: ::c_long = 88; pub const SYS_readlink: ::c_long = 89; pub const SYS_chmod: ::c_long = 90; pub const SYS_fchmod: ::c_long = 91; pub const SYS_chown: ::c_long = 92; pub const SYS_fchown: ::c_long = 93; pub const SYS_lchown: ::c_long = 94; pub const SYS_umask: ::c_long = 95; pub const SYS_gettimeofday: ::c_long = 96; pub const SYS_getrlimit: ::c_long = 97; pub const SYS_getrusage: ::c_long = 98; pub const SYS_sysinfo: ::c_long = 99; pub const SYS_times: ::c_long = 100; pub const SYS_ptrace: ::c_long = 101; pub const SYS_getuid: ::c_long = 102; pub const SYS_syslog: ::c_long = 103; pub const SYS_getgid: ::c_long = 104; pub const SYS_setuid: ::c_long = 105; pub const SYS_setgid: ::c_long = 106; pub const SYS_geteuid: ::c_long = 107; pub const SYS_getegid: ::c_long = 108; pub const SYS_setpgid: ::c_long = 109; pub const SYS_getppid: ::c_long = 110; pub const SYS_getpgrp: ::c_long = 111; pub const SYS_setsid: ::c_long = 112; pub const SYS_setreuid: ::c_long = 113; pub const SYS_setregid: ::c_long = 114; pub const SYS_getgroups: ::c_long = 115; pub const SYS_setgroups: ::c_long = 116; pub const SYS_setresuid: ::c_long = 117; pub const SYS_getresuid: ::c_long = 118; pub const SYS_setresgid: ::c_long = 119; pub const SYS_getresgid: ::c_long = 120; pub const SYS_getpgid: ::c_long = 121; pub const SYS_setfsuid: ::c_long = 122; pub const SYS_setfsgid: ::c_long = 123; pub const SYS_getsid: ::c_long = 124; pub const SYS_capget: ::c_long = 125; pub const SYS_capset: ::c_long = 126; pub const SYS_rt_sigpending: ::c_long = 127; pub const SYS_rt_sigtimedwait: ::c_long = 128; pub const SYS_rt_sigqueueinfo: ::c_long = 129; pub const SYS_rt_sigsuspend: ::c_long = 130; pub const SYS_sigaltstack: ::c_long = 131; pub const SYS_utime: ::c_long = 132; pub const SYS_mknod: ::c_long = 133; pub const SYS_uselib: ::c_long = 134; pub const SYS_personality: ::c_long = 135; pub const SYS_ustat: ::c_long = 136; pub const SYS_statfs: ::c_long = 137; pub const SYS_fstatfs: ::c_long = 138; pub const SYS_sysfs: ::c_long = 139; pub const SYS_getpriority: ::c_long = 140; pub const SYS_setpriority: ::c_long = 141; pub const SYS_sched_setparam: ::c_long = 142; pub const SYS_sched_getparam: ::c_long = 143; pub const SYS_sched_setscheduler: ::c_long = 144; pub const SYS_sched_getscheduler: ::c_long = 145; pub const SYS_sched_get_priority_max: ::c_long = 146; pub const SYS_sched_get_priority_min: ::c_long = 147; pub const SYS_sched_rr_get_interval: ::c_long = 148; pub const SYS_mlock: ::c_long = 149; pub const SYS_munlock: ::c_long = 150; pub const SYS_mlockall: ::c_long = 151; pub const SYS_munlockall: ::c_long = 152; pub const SYS_vhangup: ::c_long = 153; pub const SYS_modify_ldt: ::c_long = 154; pub const SYS_pivot_root: ::c_long = 155; // FIXME: SYS__sysctl is in the NDK sources but for some reason is // not available in the tests // pub const SYS__sysctl: ::c_long = 156; pub const SYS_prctl: ::c_long = 157; pub const SYS_arch_prctl: ::c_long = 158; pub const SYS_adjtimex: ::c_long = 159; pub const SYS_setrlimit: ::c_long = 160; pub const SYS_chroot: ::c_long = 161; pub const SYS_sync: ::c_long = 162; pub const SYS_acct: ::c_long = 163; pub const SYS_settimeofday: ::c_long = 164; pub const SYS_mount: ::c_long = 165; pub const SYS_umount2: ::c_long = 166; pub const SYS_swapon: ::c_long = 167; pub const SYS_swapoff: ::c_long = 168; pub const SYS_reboot: ::c_long = 169; pub const SYS_sethostname: ::c_long = 170; pub const SYS_setdomainname: ::c_long = 171; pub const SYS_iopl: ::c_long = 172; pub const SYS_ioperm: ::c_long = 173; pub const SYS_create_module: ::c_long = 174; pub const SYS_init_module: ::c_long = 175; pub const SYS_delete_module: ::c_long = 176; pub const SYS_get_kernel_syms: ::c_long = 177; pub const SYS_query_module: ::c_long = 178; pub const SYS_quotactl: ::c_long = 179; pub const SYS_nfsservctl: ::c_long = 180; pub const SYS_getpmsg: ::c_long = 181; pub const SYS_putpmsg: ::c_long = 182; pub const SYS_afs_syscall: ::c_long = 183; pub const SYS_tuxcall: ::c_long = 184; pub const SYS_security: ::c_long = 185; pub const SYS_gettid: ::c_long = 186; pub const SYS_readahead: ::c_long = 187; pub const SYS_setxattr: ::c_long = 188; pub const SYS_lsetxattr: ::c_long = 189; pub const SYS_fsetxattr: ::c_long = 190; pub const SYS_getxattr: ::c_long = 191; pub const SYS_lgetxattr: ::c_long = 192; pub const SYS_fgetxattr: ::c_long = 193; pub const SYS_listxattr: ::c_long = 194; pub const SYS_llistxattr: ::c_long = 195; pub const SYS_flistxattr: ::c_long = 196; pub const SYS_removexattr: ::c_long = 197; pub const SYS_lremovexattr: ::c_long = 198; pub const SYS_fremovexattr: ::c_long = 199; pub const SYS_tkill: ::c_long = 200; pub const SYS_time: ::c_long = 201; pub const SYS_futex: ::c_long = 202; pub const SYS_sched_setaffinity: ::c_long = 203; pub const SYS_sched_getaffinity: ::c_long = 204; pub const SYS_set_thread_area: ::c_long = 205; pub const SYS_io_setup: ::c_long = 206; pub const SYS_io_destroy: ::c_long = 207; pub const SYS_io_getevents: ::c_long = 208; pub const SYS_io_submit: ::c_long = 209; pub const SYS_io_cancel: ::c_long = 210; pub const SYS_get_thread_area: ::c_long = 211; pub const SYS_lookup_dcookie: ::c_long = 212; pub const SYS_epoll_create: ::c_long = 213; pub const SYS_epoll_ctl_old: ::c_long = 214; pub const SYS_epoll_wait_old: ::c_long = 215; pub const SYS_remap_file_pages: ::c_long = 216; pub const SYS_getdents64: ::c_long = 217; pub const SYS_set_tid_address: ::c_long = 218; pub const SYS_restart_syscall: ::c_long = 219; pub const SYS_semtimedop: ::c_long = 220; pub const SYS_fadvise64: ::c_long = 221; pub const SYS_timer_create: ::c_long = 222; pub const SYS_timer_settime: ::c_long = 223; pub const SYS_timer_gettime: ::c_long = 224; pub const SYS_timer_getoverrun: ::c_long = 225; pub const SYS_timer_delete: ::c_long = 226; pub const SYS_clock_settime: ::c_long = 227; pub const SYS_clock_gettime: ::c_long = 228; pub const SYS_clock_getres: ::c_long = 229; pub const SYS_clock_nanosleep: ::c_long = 230; pub const SYS_exit_group: ::c_long = 231; pub const SYS_epoll_wait: ::c_long = 232; pub const SYS_epoll_ctl: ::c_long = 233; pub const SYS_tgkill: ::c_long = 234; pub const SYS_utimes: ::c_long = 235; pub const SYS_vserver: ::c_long = 236; pub const SYS_mbind: ::c_long = 237; pub const SYS_set_mempolicy: ::c_long = 238; pub const SYS_get_mempolicy: ::c_long = 239; pub const SYS_mq_open: ::c_long = 240; pub const SYS_mq_unlink: ::c_long = 241; pub const SYS_mq_timedsend: ::c_long = 242; pub const SYS_mq_timedreceive: ::c_long = 243; pub const SYS_mq_notify: ::c_long = 244; pub const SYS_mq_getsetattr: ::c_long = 245; pub const SYS_kexec_load: ::c_long = 246; pub const SYS_waitid: ::c_long = 247; pub const SYS_add_key: ::c_long = 248; pub const SYS_request_key: ::c_long = 249; pub const SYS_keyctl: ::c_long = 250; pub const SYS_ioprio_set: ::c_long = 251; pub const SYS_ioprio_get: ::c_long = 252; pub const SYS_inotify_init: ::c_long = 253; pub const SYS_inotify_add_watch: ::c_long = 254; pub const SYS_inotify_rm_watch: ::c_long = 255; pub const SYS_migrate_pages: ::c_long = 256; pub const SYS_openat: ::c_long = 257; pub const SYS_mkdirat: ::c_long = 258; pub const SYS_mknodat: ::c_long = 259; pub const SYS_fchownat: ::c_long = 260; pub const SYS_futimesat: ::c_long = 261; pub const SYS_newfstatat: ::c_long = 262; pub const SYS_unlinkat: ::c_long = 263; pub const SYS_renameat: ::c_long = 264; pub const SYS_linkat: ::c_long = 265; pub const SYS_symlinkat: ::c_long = 266; pub const SYS_readlinkat: ::c_long = 267; pub const SYS_fchmodat: ::c_long = 268; pub const SYS_faccessat: ::c_long = 269; pub const SYS_pselect6: ::c_long = 270; pub const SYS_ppoll: ::c_long = 271; pub const SYS_unshare: ::c_long = 272; pub const SYS_set_robust_list: ::c_long = 273; pub const SYS_get_robust_list: ::c_long = 274; pub const SYS_splice: ::c_long = 275; pub const SYS_tee: ::c_long = 276; pub const SYS_sync_file_range: ::c_long = 277; pub const SYS_vmsplice: ::c_long = 278; pub const SYS_move_pages: ::c_long = 279; pub const SYS_utimensat: ::c_long = 280; pub const SYS_epoll_pwait: ::c_long = 281; pub const SYS_signalfd: ::c_long = 282; pub const SYS_timerfd_create: ::c_long = 283; pub const SYS_eventfd: ::c_long = 284; pub const SYS_fallocate: ::c_long = 285; pub const SYS_timerfd_settime: ::c_long = 286; pub const SYS_timerfd_gettime: ::c_long = 287; pub const SYS_accept4: ::c_long = 288; pub const SYS_signalfd4: ::c_long = 289; pub const SYS_eventfd2: ::c_long = 290; pub const SYS_epoll_create1: ::c_long = 291; pub const SYS_dup3: ::c_long = 292; pub const SYS_pipe2: ::c_long = 293; pub const SYS_inotify_init1: ::c_long = 294; pub const SYS_preadv: ::c_long = 295; pub const SYS_pwritev: ::c_long = 296; pub const SYS_rt_tgsigqueueinfo: ::c_long = 297; pub const SYS_perf_event_open: ::c_long = 298; pub const SYS_recvmmsg: ::c_long = 299; pub const SYS_fanotify_init: ::c_long = 300; pub const SYS_fanotify_mark: ::c_long = 301; pub const SYS_prlimit64: ::c_long = 302; pub const SYS_name_to_handle_at: ::c_long = 303; pub const SYS_open_by_handle_at: ::c_long = 304; pub const SYS_clock_adjtime: ::c_long = 305; pub const SYS_syncfs: ::c_long = 306; pub const SYS_sendmmsg: ::c_long = 307; pub const SYS_setns: ::c_long = 308; pub const SYS_getcpu: ::c_long = 309; pub const SYS_process_vm_readv: ::c_long = 310; pub const SYS_process_vm_writev: ::c_long = 311; pub const SYS_kcmp: ::c_long = 312; pub const SYS_finit_module: ::c_long = 313; pub const SYS_sched_setattr: ::c_long = 314; pub const SYS_sched_getattr: ::c_long = 315; pub const SYS_renameat2: ::c_long = 316; pub const SYS_seccomp: ::c_long = 317; pub const SYS_getrandom: ::c_long = 318; pub const SYS_memfd_create: ::c_long = 319; pub const SYS_kexec_file_load: ::c_long = 320; pub const SYS_bpf: ::c_long = 321; pub const SYS_execveat: ::c_long = 322; pub const SYS_userfaultfd: ::c_long = 323; pub const SYS_membarrier: ::c_long = 324; pub const SYS_mlock2: ::c_long = 325; pub const SYS_copy_file_range: ::c_long = 326; pub const SYS_preadv2: ::c_long = 327; pub const SYS_pwritev2: ::c_long = 328; pub const SYS_pkey_mprotect: ::c_long = 329; pub const SYS_pkey_alloc: ::c_long = 330; pub const SYS_pkey_free: ::c_long = 331; // offsets in user_regs_structs, from sys/reg.h pub const R15: ::c_int = 0; pub const R14: ::c_int = 1; pub const R13: ::c_int = 2; pub const R12: ::c_int = 3; pub const RBP: ::c_int = 4; pub const RBX: ::c_int = 5; pub const R11: ::c_int = 6; pub const R10: ::c_int = 7; pub const R9: ::c_int = 8; pub const R8: ::c_int = 9; pub const RAX: ::c_int = 10; pub const RCX: ::c_int = 11; pub const RDX: ::c_int = 12; pub const RSI: ::c_int = 13; pub const RDI: ::c_int = 14; pub const ORIG_RAX: ::c_int = 15; pub const RIP: ::c_int = 16; pub const CS: ::c_int = 17; pub const EFLAGS: ::c_int = 18; pub const RSP: ::c_int = 19; pub const SS: ::c_int = 20; pub const FS_BASE: ::c_int = 21; pub const GS_BASE: ::c_int = 22; pub const DS: ::c_int = 23; pub const ES: ::c_int = 24; pub const FS: ::c_int = 25; pub const GS: ::c_int = 26; cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/android/mod.rs010064400007650000024000002424061357020644200174320ustar0000000000000000//! Android-specific definitions for linux-like values pub type clock_t = ::c_long; pub type time_t = ::c_long; pub type suseconds_t = ::c_long; pub type off_t = ::c_long; pub type blkcnt_t = ::c_ulong; pub type blksize_t = ::c_ulong; pub type nlink_t = u32; 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_condattr_t = ::c_long; pub type pthread_key_t = ::c_int; pub type fsfilcnt_t = ::c_ulong; pub type fsblkcnt_t = ::c_ulong; pub type nfds_t = ::c_uint; pub type rlim_t = ::c_ulong; pub type dev_t = ::c_ulong; pub type ino_t = ::c_ulong; pub type __CPU_BITTYPE = ::c_ulong; pub type idtype_t = ::c_int; pub type loff_t = ::c_longlong; pub type __kernel_loff_t = ::c_longlong; pub type __kernel_pid_t = ::c_int; s! { pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct __fsid_t { __val: [::c_int; 2], } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::size_t, pub msg_control: *mut ::c_void, pub msg_controllen: ::size_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::size_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct termios { 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; ::NCCS], } 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 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: ::__kernel_loff_t, pub l_len: ::__kernel_loff_t, pub l_pid: ::__kernel_pid_t, } pub struct cpu_set_t { #[cfg(target_pointer_width = "64")] __bits: [__CPU_BITTYPE; 16], #[cfg(target_pointer_width = "32")] __bits: [__CPU_BITTYPE; 1], } pub struct sem_t { count: ::c_uint, #[cfg(target_pointer_width = "64")] __reserved: [::c_int; 3], } pub struct exit_status { pub e_termination: ::c_short, pub e_exit: ::c_short, } 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, #[cfg(target_pointer_width = "64")] __f_reserved: [u32; 6], } pub struct signalfd_siginfo { pub ssi_signo: u32, pub ssi_errno: i32, pub ssi_code: i32, pub ssi_pid: u32, pub ssi_uid: u32, pub ssi_fd: i32, pub ssi_tid: u32, pub ssi_band: u32, pub ssi_overrun: u32, pub ssi_trapno: u32, pub ssi_status: i32, pub ssi_int: i32, pub ssi_ptr: ::c_ulonglong, pub ssi_utime: ::c_ulonglong, pub ssi_stime: ::c_ulonglong, pub ssi_addr: ::c_ulonglong, pub ssi_addr_lsb: u16, _pad2: u16, pub ssi_syscall: i32, pub ssi_call_addr: u64, pub ssi_arch: u32, _pad: [u8; 28], } pub struct ucred { pub pid: ::pid_t, pub uid: ::uid_t, pub gid: ::gid_t, } pub struct genlmsghdr { pub cmd: u8, pub version: u8, pub reserved: u16, } 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 { pub group: u32, } pub struct nl_mmap_req { pub nm_block_size: ::c_uint, pub nm_block_nr: ::c_uint, pub nm_frame_size: ::c_uint, pub nm_frame_nr: ::c_uint, } pub struct nl_mmap_hdr { pub nm_status: ::c_uint, pub nm_len: ::c_uint, pub nm_group: u32, pub nm_pid: u32, pub nm_uid: u32, pub nm_gid: u32, } pub struct nlattr { pub nla_len: u16, pub nla_type: u16, } pub struct in6_pktinfo { pub ipi6_addr: ::in6_addr, pub ipi6_ifindex: ::c_int, } pub struct inotify_event { pub wd: ::c_int, pub mask: u32, pub cookie: u32, pub len: u32 } } s_no_extra_traits! { pub struct sockaddr_nl { pub nl_family: ::sa_family_t, nl_pad: ::c_ushort, pub nl_pid: u32, pub nl_groups: u32 } pub struct dirent { pub d_ino: u64, pub d_off: i64, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } pub struct dirent64 { pub d_ino: u64, pub d_off: i64, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub _pad: [::c_int; 29], _align: [usize; 0], } pub struct lastlog { ll_time: ::time_t, ll_line: [::c_char; UT_LINESIZE], ll_host: [::c_char; UT_HOSTSIZE], } pub struct utmp { pub ut_type: ::c_short, pub ut_pid: ::pid_t, pub ut_line: [::c_char; UT_LINESIZE], pub ut_id: [::c_char; 4], pub ut_user: [::c_char; UT_NAMESIZE], pub ut_host: [::c_char; UT_HOSTSIZE], pub ut_exit: exit_status, pub ut_session: ::c_long, pub ut_tv: ::timeval, pub ut_addr_v6: [i32; 4], unused: [::c_char; 20], } pub struct sockaddr_alg { pub salg_family: ::sa_family_t, pub salg_type: [::c_uchar; 14], pub salg_feat: u32, pub salg_mask: u32, pub salg_name: [::c_uchar; 64], } pub struct af_alg_iv { pub ivlen: u32, pub iv: [::c_uchar; 0], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for sockaddr_nl { fn eq(&self, other: &sockaddr_nl) -> bool { self.nl_family == other.nl_family && self.nl_pid == other.nl_pid && self.nl_groups == other.nl_groups } } impl Eq for sockaddr_nl {} impl ::fmt::Debug for sockaddr_nl { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_nl") .field("nl_family", &self.nl_family) .field("nl_pid", &self.nl_pid) .field("nl_groups", &self.nl_groups) .finish() } } impl ::hash::Hash for sockaddr_nl { fn hash(&self, state: &mut H) { self.nl_family.hash(state); self.nl_pid.hash(state); self.nl_groups.hash(state); } } impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self.d_type == other.d_type && self .d_name .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_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for dirent64 { fn eq(&self, other: &dirent64) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self.d_type == other.d_type && self .d_name .iter() .zip(other.d_name.iter()) .all(|(a,b)| a == b) } } impl Eq for dirent64 {} impl ::fmt::Debug for dirent64 { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("dirent64") .field("d_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent64 { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for siginfo_t { fn eq(&self, other: &siginfo_t) -> bool { self.si_signo == other.si_signo && self.si_errno == other.si_errno && self.si_code == other.si_code // Ignore _pad // Ignore _align } } impl Eq for siginfo_t {} impl ::fmt::Debug for siginfo_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("siginfo_t") .field("si_signo", &self.si_signo) .field("si_errno", &self.si_errno) .field("si_code", &self.si_code) // Ignore _pad // Ignore _align .finish() } } impl ::hash::Hash for siginfo_t { fn hash(&self, state: &mut H) { self.si_signo.hash(state); self.si_errno.hash(state); self.si_code.hash(state); // Ignore _pad // Ignore _align } } impl PartialEq for lastlog { fn eq(&self, other: &lastlog) -> bool { self.ll_time == other.ll_time && self .ll_line .iter() .zip(other.ll_line.iter()) .all(|(a,b)| a == b) && self .ll_host .iter() .zip(other.ll_host.iter()) .all(|(a,b)| a == b) } } impl Eq for lastlog {} impl ::fmt::Debug for lastlog { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("lastlog") .field("ll_time", &self.ll_time) .field("ll_line", &self.ll_line) // FIXME: .field("ll_host", &self.ll_host) .finish() } } impl ::hash::Hash for lastlog { fn hash(&self, state: &mut H) { self.ll_time.hash(state); self.ll_line.hash(state); self.ll_host.hash(state); } } impl PartialEq for utmp { fn eq(&self, other: &utmp) -> bool { self.ut_type == other.ut_type && self.ut_pid == other.ut_pid && self .ut_line .iter() .zip(other.ut_line.iter()) .all(|(a,b)| a == b) && self.ut_id == other.ut_id && self .ut_user .iter() .zip(other.ut_user.iter()) .all(|(a,b)| a == b) && self .ut_host .iter() .zip(other.ut_host.iter()) .all(|(a,b)| a == b) && self.ut_exit == other.ut_exit && self.ut_session == other.ut_session && self.ut_tv == other.ut_tv && self.ut_addr_v6 == other.ut_addr_v6 && self.unused == other.unused } } impl Eq for utmp {} impl ::fmt::Debug for utmp { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utmp") .field("ut_type", &self.ut_type) .field("ut_pid", &self.ut_pid) .field("ut_line", &self.ut_line) .field("ut_id", &self.ut_id) .field("ut_user", &self.ut_user) // FIXME: .field("ut_host", &self.ut_host) .field("ut_exit", &self.ut_exit) .field("ut_session", &self.ut_session) .field("ut_tv", &self.ut_tv) .field("ut_addr_v6", &self.ut_addr_v6) .field("unused", &self.unused) .finish() } } impl ::hash::Hash for utmp { fn hash(&self, state: &mut H) { self.ut_type.hash(state); self.ut_pid.hash(state); self.ut_line.hash(state); self.ut_id.hash(state); self.ut_user.hash(state); self.ut_host.hash(state); self.ut_exit.hash(state); self.ut_session.hash(state); self.ut_tv.hash(state); self.ut_addr_v6.hash(state); self.unused.hash(state); } } impl PartialEq for sockaddr_alg { fn eq(&self, other: &sockaddr_alg) -> bool { self.salg_family == other.salg_family && self .salg_type .iter() .zip(other.salg_type.iter()) .all(|(a, b)| a == b) && self.salg_feat == other.salg_feat && self.salg_mask == other.salg_mask && self .salg_name .iter() .zip(other.salg_name.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_alg {} impl ::fmt::Debug for sockaddr_alg { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_alg") .field("salg_family", &self.salg_family) .field("salg_type", &self.salg_type) .field("salg_feat", &self.salg_feat) .field("salg_mask", &self.salg_mask) .field("salg_name", &&self.salg_name[..]) .finish() } } impl ::hash::Hash for sockaddr_alg { fn hash(&self, state: &mut H) { self.salg_family.hash(state); self.salg_type.hash(state); self.salg_feat.hash(state); self.salg_mask.hash(state); self.salg_name.hash(state); } } impl af_alg_iv { fn as_slice(&self) -> &[u8] { unsafe { ::core::slice::from_raw_parts( self.iv.as_ptr(), self.ivlen as usize ) } } } impl PartialEq for af_alg_iv { fn eq(&self, other: &af_alg_iv) -> bool { *self.as_slice() == *other.as_slice() } } impl Eq for af_alg_iv {} impl ::fmt::Debug for af_alg_iv { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("af_alg_iv") .field("iv", &self.as_slice()) .finish() } } impl ::hash::Hash for af_alg_iv { fn hash(&self, state: &mut H) { self.as_slice().hash(state); } } } } pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MS_NOUSER: ::c_ulong = 0xffffffff80000000; pub const MS_RMT_MASK: ::c_ulong = 0x02800051; pub const O_TRUNC: ::c_int = 512; pub const O_CLOEXEC: ::c_int = 0x80000; pub const O_PATH: ::c_int = 0o10000000; pub const O_NOATIME: ::c_int = 0o1000000; 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 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; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const USER_PROCESS: ::c_short = 7; pub const FALLOC_FL_COLLAPSE_RANGE: ::c_int = 0x08; pub const BUFSIZ: ::c_uint = 1024; pub const FILENAME_MAX: ::c_uint = 4096; pub const FOPEN_MAX: ::c_uint = 20; pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const L_tmpnam: ::c_uint = 4096; pub const TMP_MAX: ::c_uint = 308915776; pub const _PC_LINK_MAX: ::c_int = 1; pub const _PC_MAX_CANON: ::c_int = 2; pub const _PC_MAX_INPUT: ::c_int = 3; pub const _PC_NAME_MAX: ::c_int = 4; pub const _PC_PATH_MAX: ::c_int = 5; pub const _PC_PIPE_BUF: ::c_int = 6; pub const _PC_2_SYMLINKS: ::c_int = 7; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 8; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 9; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 10; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 11; pub const _PC_REC_XFER_ALIGN: ::c_int = 12; pub const _PC_SYMLINK_MAX: ::c_int = 13; pub const _PC_CHOWN_RESTRICTED: ::c_int = 14; pub const _PC_NO_TRUNC: ::c_int = 15; pub const _PC_VDISABLE: ::c_int = 16; pub const _PC_ASYNC_IO: ::c_int = 17; pub const _PC_PRIO_IO: ::c_int = 18; pub const _PC_SYNC_IO: ::c_int = 19; pub const FIONBIO: ::c_int = 0x5421; pub const _SC_ARG_MAX: ::c_int = 0; pub const _SC_BC_BASE_MAX: ::c_int = 1; pub const _SC_BC_DIM_MAX: ::c_int = 2; pub const _SC_BC_SCALE_MAX: ::c_int = 3; pub const _SC_BC_STRING_MAX: ::c_int = 4; pub const _SC_CHILD_MAX: ::c_int = 5; pub const _SC_CLK_TCK: ::c_int = 6; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 7; pub const _SC_EXPR_NEST_MAX: ::c_int = 8; pub const _SC_LINE_MAX: ::c_int = 9; pub const _SC_NGROUPS_MAX: ::c_int = 10; pub const _SC_OPEN_MAX: ::c_int = 11; pub const _SC_PASS_MAX: ::c_int = 12; pub const _SC_2_C_BIND: ::c_int = 13; pub const _SC_2_C_DEV: ::c_int = 14; pub const _SC_2_C_VERSION: ::c_int = 15; pub const _SC_2_CHAR_TERM: ::c_int = 16; pub const _SC_2_FORT_DEV: ::c_int = 17; pub const _SC_2_FORT_RUN: ::c_int = 18; pub const _SC_2_LOCALEDEF: ::c_int = 19; pub const _SC_2_SW_DEV: ::c_int = 20; pub const _SC_2_UPE: ::c_int = 21; pub const _SC_2_VERSION: ::c_int = 22; pub const _SC_JOB_CONTROL: ::c_int = 23; pub const _SC_SAVED_IDS: ::c_int = 24; pub const _SC_VERSION: ::c_int = 25; pub const _SC_RE_DUP_MAX: ::c_int = 26; pub const _SC_STREAM_MAX: ::c_int = 27; pub const _SC_TZNAME_MAX: ::c_int = 28; pub const _SC_XOPEN_CRYPT: ::c_int = 29; pub const _SC_XOPEN_ENH_I18N: ::c_int = 30; pub const _SC_XOPEN_SHM: ::c_int = 31; pub const _SC_XOPEN_VERSION: ::c_int = 32; pub const _SC_XOPEN_XCU_VERSION: ::c_int = 33; pub const _SC_XOPEN_REALTIME: ::c_int = 34; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 35; pub const _SC_XOPEN_LEGACY: ::c_int = 36; pub const _SC_ATEXIT_MAX: ::c_int = 37; pub const _SC_IOV_MAX: ::c_int = 38; pub const _SC_PAGESIZE: ::c_int = 39; pub const _SC_PAGE_SIZE: ::c_int = 40; pub const _SC_XOPEN_UNIX: ::c_int = 41; pub const _SC_XBS5_ILP32_OFF32: ::c_int = 42; pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 43; pub const _SC_XBS5_LP64_OFF64: ::c_int = 44; pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 45; pub const _SC_AIO_LISTIO_MAX: ::c_int = 46; pub const _SC_AIO_MAX: ::c_int = 47; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 48; pub const _SC_DELAYTIMER_MAX: ::c_int = 49; pub const _SC_MQ_OPEN_MAX: ::c_int = 50; pub const _SC_MQ_PRIO_MAX: ::c_int = 51; pub const _SC_RTSIG_MAX: ::c_int = 52; pub const _SC_SEM_NSEMS_MAX: ::c_int = 53; pub const _SC_SEM_VALUE_MAX: ::c_int = 54; pub const _SC_SIGQUEUE_MAX: ::c_int = 55; pub const _SC_TIMER_MAX: ::c_int = 56; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 57; pub const _SC_FSYNC: ::c_int = 58; pub const _SC_MAPPED_FILES: ::c_int = 59; pub const _SC_MEMLOCK: ::c_int = 60; pub const _SC_MEMLOCK_RANGE: ::c_int = 61; pub const _SC_MEMORY_PROTECTION: ::c_int = 62; pub const _SC_MESSAGE_PASSING: ::c_int = 63; pub const _SC_PRIORITIZED_IO: ::c_int = 64; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 65; pub const _SC_REALTIME_SIGNALS: ::c_int = 66; pub const _SC_SEMAPHORES: ::c_int = 67; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 68; pub const _SC_SYNCHRONIZED_IO: ::c_int = 69; pub const _SC_TIMERS: ::c_int = 70; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 71; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 72; pub const _SC_LOGIN_NAME_MAX: ::c_int = 73; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 74; pub const _SC_THREAD_KEYS_MAX: ::c_int = 75; pub const _SC_THREAD_STACK_MIN: ::c_int = 76; pub const _SC_THREAD_THREADS_MAX: ::c_int = 77; pub const _SC_TTY_NAME_MAX: ::c_int = 78; pub const _SC_THREADS: ::c_int = 79; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 80; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 81; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 82; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 83; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 84; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 85; pub const _SC_NPROCESSORS_CONF: ::c_int = 96; pub const _SC_NPROCESSORS_ONLN: ::c_int = 97; pub const _SC_PHYS_PAGES: ::c_int = 98; pub const _SC_AVPHYS_PAGES: ::c_int = 99; pub const _SC_MONOTONIC_CLOCK: ::c_int = 100; pub const _SC_2_PBS: ::c_int = 101; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 102; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 103; pub const _SC_2_PBS_LOCATE: ::c_int = 104; pub const _SC_2_PBS_MESSAGE: ::c_int = 105; pub const _SC_2_PBS_TRACK: ::c_int = 106; pub const _SC_ADVISORY_INFO: ::c_int = 107; pub const _SC_BARRIERS: ::c_int = 108; pub const _SC_CLOCK_SELECTION: ::c_int = 109; pub const _SC_CPUTIME: ::c_int = 110; pub const _SC_HOST_NAME_MAX: ::c_int = 111; pub const _SC_IPV6: ::c_int = 112; pub const _SC_RAW_SOCKETS: ::c_int = 113; pub const _SC_READER_WRITER_LOCKS: ::c_int = 114; pub const _SC_REGEXP: ::c_int = 115; pub const _SC_SHELL: ::c_int = 116; pub const _SC_SPAWN: ::c_int = 117; pub const _SC_SPIN_LOCKS: ::c_int = 118; pub const _SC_SPORADIC_SERVER: ::c_int = 119; pub const _SC_SS_REPL_MAX: ::c_int = 120; pub const _SC_SYMLOOP_MAX: ::c_int = 121; pub const _SC_THREAD_CPUTIME: ::c_int = 122; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 123; pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 124; pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 125; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 126; pub const _SC_TIMEOUTS: ::c_int = 127; pub const _SC_TRACE: ::c_int = 128; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 129; pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 130; pub const _SC_TRACE_INHERIT: ::c_int = 131; pub const _SC_TRACE_LOG: ::c_int = 132; pub const _SC_TRACE_NAME_MAX: ::c_int = 133; pub const _SC_TRACE_SYS_MAX: ::c_int = 134; pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 135; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 136; pub const _SC_V7_ILP32_OFF32: ::c_int = 137; pub const _SC_V7_ILP32_OFFBIG: ::c_int = 138; pub const _SC_V7_LP64_OFF64: ::c_int = 139; pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 140; pub const _SC_XOPEN_STREAMS: ::c_int = 141; pub const _SC_XOPEN_UUCP: ::c_int = 142; 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 FIOCLEX: ::c_int = 0x5451; pub const FIONCLEX: ::c_int = 0x5450; 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 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 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 RUSAGE_CHILDREN: ::c_int = -1; pub const LC_PAPER: ::c_int = 7; pub const LC_NAME: ::c_int = 8; pub const LC_ADDRESS: ::c_int = 9; pub const LC_TELEPHONE: ::c_int = 10; pub const LC_MEASUREMENT: ::c_int = 11; pub const LC_IDENTIFICATION: ::c_int = 12; pub const LC_PAPER_MASK: ::c_int = (1 << LC_PAPER); pub const LC_NAME_MASK: ::c_int = (1 << LC_NAME); pub const LC_ADDRESS_MASK: ::c_int = (1 << LC_ADDRESS); pub const LC_TELEPHONE_MASK: ::c_int = (1 << LC_TELEPHONE); pub const LC_MEASUREMENT_MASK: ::c_int = (1 << LC_MEASUREMENT); pub const LC_IDENTIFICATION_MASK: ::c_int = (1 << LC_IDENTIFICATION); pub const LC_ALL_MASK: ::c_int = ::LC_CTYPE_MASK | ::LC_NUMERIC_MASK | ::LC_TIME_MASK | ::LC_COLLATE_MASK | ::LC_MONETARY_MASK | ::LC_MESSAGES_MASK | LC_PAPER_MASK | LC_NAME_MASK | LC_ADDRESS_MASK | LC_TELEPHONE_MASK | LC_MEASUREMENT_MASK | LC_IDENTIFICATION_MASK; pub const MAP_ANON: ::c_int = 0x0020; pub const MAP_ANONYMOUS: ::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 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 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 ENOTSUP: ::c_int = EOPNOTSUPP; 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 SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOCK_DCCP: ::c_int = 6; pub const SOCK_PACKET: ::c_int = 10; pub const SOL_SOCKET: ::c_int = 1; pub const SOL_SCTP: ::c_int = 132; pub const SOL_IPX: ::c_int = 256; pub const SOL_AX25: ::c_int = 257; pub const SOL_ATALK: ::c_int = 258; pub const SOL_NETROM: ::c_int = 259; pub const SOL_ROSE: ::c_int = 260; /* DCCP socket options */ pub const DCCP_SOCKOPT_PACKET_SIZE: ::c_int = 1; pub const DCCP_SOCKOPT_SERVICE: ::c_int = 2; pub const DCCP_SOCKOPT_CHANGE_L: ::c_int = 3; pub const DCCP_SOCKOPT_CHANGE_R: ::c_int = 4; pub const DCCP_SOCKOPT_GET_CUR_MPS: ::c_int = 5; pub const DCCP_SOCKOPT_SERVER_TIMEWAIT: ::c_int = 6; pub const DCCP_SOCKOPT_SEND_CSCOV: ::c_int = 10; pub const DCCP_SOCKOPT_RECV_CSCOV: ::c_int = 11; pub const DCCP_SOCKOPT_AVAILABLE_CCIDS: ::c_int = 12; pub const DCCP_SOCKOPT_CCID: ::c_int = 13; pub const DCCP_SOCKOPT_TX_CCID: ::c_int = 14; pub const DCCP_SOCKOPT_RX_CCID: ::c_int = 15; pub const DCCP_SOCKOPT_QPOLICY_ID: ::c_int = 16; pub const DCCP_SOCKOPT_QPOLICY_TXQLEN: ::c_int = 17; pub const DCCP_SOCKOPT_CCID_RX_INFO: ::c_int = 128; pub const DCCP_SOCKOPT_CCID_TX_INFO: ::c_int = 192; /// maximum number of services provided on the same listening port pub const DCCP_SERVICE_LIST_MAX_LEN: ::c_int = 32; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; 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_TIMESTAMP: ::c_int = 29; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_MARK: ::c_int = 36; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; 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 IPTOS_ECN_NOTECT: u8 = 0x00; pub const O_ACCMODE: ::c_int = 3; 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 = 0x101000; pub const O_ASYNC: ::c_int = 0x2000; pub const O_NDELAY: ::c_int = 0x800; pub const O_DSYNC: ::c_int = 4096; pub const NI_MAXHOST: ::size_t = 1025; pub const NCCS: usize = 19; pub const TCSBRKP: ::c_int = 0x5425; pub const TCSANOW: ::c_int = 0; pub const TCSADRAIN: ::c_int = 0x1; pub const TCSAFLUSH: ::c_int = 0x2; pub const VEOF: usize = 4; 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 = 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; pub const PTRACE_PEEKTEXT: ::c_int = 1; pub const PTRACE_PEEKDATA: ::c_int = 2; pub const PTRACE_PEEKUSER: ::c_int = 3; pub const PTRACE_POKETEXT: ::c_int = 4; pub const PTRACE_POKEDATA: ::c_int = 5; pub const PTRACE_POKEUSER: ::c_int = 6; pub const PTRACE_CONT: ::c_int = 7; pub const PTRACE_KILL: ::c_int = 8; pub const PTRACE_SINGLESTEP: ::c_int = 9; pub const PTRACE_ATTACH: ::c_int = 16; pub const PTRACE_DETACH: ::c_int = 17; pub const PTRACE_SYSCALL: ::c_int = 24; 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 EFD_NONBLOCK: ::c_int = 0x800; pub const F_GETLK: ::c_int = 5; pub const F_GETOWN: ::c_int = 9; pub const F_SETOWN: ::c_int = 8; pub const F_SETLK: ::c_int = 6; pub const F_SETLKW: ::c_int = 7; pub const F_RDLCK: ::c_int = 0; pub const F_WRLCK: ::c_int = 1; pub const F_UNLCK: ::c_int = 2; pub const RLIMIT_CPU: ::c_int = 0; pub const RLIMIT_FSIZE: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; pub const RLIMIT_STACK: ::c_int = 3; pub const RLIMIT_CORE: ::c_int = 4; pub const RLIMIT_LOCKS: ::c_int = 10; pub const RLIMIT_SIGPENDING: ::c_int = 11; pub const RLIMIT_MSGQUEUE: ::c_int = 12; pub const RLIMIT_NICE: ::c_int = 13; pub const RLIMIT_RTPRIO: ::c_int = 14; 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 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 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 ST_RDONLY: ::c_ulong = 1; pub const ST_NOSUID: ::c_ulong = 2; pub const ST_NODEV: ::c_ulong = 4; pub const ST_NOEXEC: ::c_ulong = 8; pub const ST_SYNCHRONOUS: ::c_ulong = 16; pub const ST_MANDLOCK: ::c_ulong = 64; pub const ST_NOATIME: ::c_ulong = 1024; pub const ST_NODIRATIME: ::c_ulong = 2048; pub const ST_RELATIME: ::c_ulong = 4096; pub const RTLD_NOLOAD: ::c_int = 0x4; pub const SEM_FAILED: *mut sem_t = 0 as *mut sem_t; pub const LINUX_REBOOT_MAGIC1: ::c_int = 0xfee1dead; pub const LINUX_REBOOT_MAGIC2: ::c_int = 672274793; pub const LINUX_REBOOT_MAGIC2A: ::c_int = 85072278; pub const LINUX_REBOOT_MAGIC2B: ::c_int = 369367448; pub const LINUX_REBOOT_MAGIC2C: ::c_int = 537993216; pub const LINUX_REBOOT_CMD_RESTART: ::c_int = 0x01234567; pub const LINUX_REBOOT_CMD_HALT: ::c_int = 0xCDEF0123; pub const LINUX_REBOOT_CMD_CAD_ON: ::c_int = 0x89ABCDEF; pub const LINUX_REBOOT_CMD_CAD_OFF: ::c_int = 0x00000000; pub const LINUX_REBOOT_CMD_POWER_OFF: ::c_int = 0x4321FEDC; pub const LINUX_REBOOT_CMD_RESTART2: ::c_int = 0xA1B2C3D4; pub const LINUX_REBOOT_CMD_SW_SUSPEND: ::c_int = 0xD000FCE2; pub const LINUX_REBOOT_CMD_KEXEC: ::c_int = 0x45584543; pub const MCL_CURRENT: ::c_int = 0x0001; pub const MCL_FUTURE: ::c_int = 0x0002; 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 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 BOTHER: ::speed_t = 0o010000; 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 EAI_AGAIN: ::c_int = 2; pub const EAI_BADFLAGS: ::c_int = 3; pub const EAI_FAIL: ::c_int = 4; pub const EAI_FAMILY: ::c_int = 5; pub const EAI_MEMORY: ::c_int = 6; pub const EAI_NODATA: ::c_int = 7; pub const EAI_NONAME: ::c_int = 8; pub const EAI_SERVICE: ::c_int = 9; pub const EAI_SOCKTYPE: ::c_int = 10; pub const EAI_SYSTEM: ::c_int = 11; pub const EAI_OVERFLOW: ::c_int = 14; pub const NETLINK_ROUTE: ::c_int = 0; pub const NETLINK_UNUSED: ::c_int = 1; pub const NETLINK_USERSOCK: ::c_int = 2; pub const NETLINK_FIREWALL: ::c_int = 3; pub const NETLINK_SOCK_DIAG: ::c_int = 4; pub const NETLINK_NFLOG: ::c_int = 5; pub const NETLINK_XFRM: ::c_int = 6; pub const NETLINK_SELINUX: ::c_int = 7; pub const NETLINK_ISCSI: ::c_int = 8; pub const NETLINK_AUDIT: ::c_int = 9; pub const NETLINK_FIB_LOOKUP: ::c_int = 10; pub const NETLINK_CONNECTOR: ::c_int = 11; pub const NETLINK_NETFILTER: ::c_int = 12; pub const NETLINK_IP6_FW: ::c_int = 13; pub const NETLINK_DNRTMSG: ::c_int = 14; pub const NETLINK_KOBJECT_UEVENT: ::c_int = 15; pub const NETLINK_GENERIC: ::c_int = 16; pub const NETLINK_SCSITRANSPORT: ::c_int = 18; pub const NETLINK_ECRYPTFS: ::c_int = 19; pub const NETLINK_RDMA: ::c_int = 20; pub const NETLINK_CRYPTO: ::c_int = 21; pub const NETLINK_INET_DIAG: ::c_int = NETLINK_SOCK_DIAG; pub const MAX_LINKS: ::c_int = 32; pub const NLM_F_REQUEST: ::c_int = 1; pub const NLM_F_MULTI: ::c_int = 2; pub const NLM_F_ACK: ::c_int = 4; pub const NLM_F_ECHO: ::c_int = 8; pub const NLM_F_DUMP_INTR: ::c_int = 16; pub const NLM_F_ROOT: ::c_int = 0x100; pub const NLM_F_MATCH: ::c_int = 0x200; pub const NLM_F_ATOMIC: ::c_int = 0x400; pub const NLM_F_DUMP: ::c_int = NLM_F_ROOT | NLM_F_MATCH; pub const NLM_F_REPLACE: ::c_int = 0x100; pub const NLM_F_EXCL: ::c_int = 0x200; pub const NLM_F_CREATE: ::c_int = 0x400; pub const NLM_F_APPEND: ::c_int = 0x800; pub const NLMSG_NOOP: ::c_int = 0x1; pub const NLMSG_ERROR: ::c_int = 0x2; pub const NLMSG_DONE: ::c_int = 0x3; pub const NLMSG_OVERRUN: ::c_int = 0x4; pub const NLMSG_MIN_TYPE: ::c_int = 0x10; // linux/netfilter/nfnetlink.h pub const NFNLGRP_NONE: ::c_int = 0; pub const NFNLGRP_CONNTRACK_NEW: ::c_int = 1; pub const NFNLGRP_CONNTRACK_UPDATE: ::c_int = 2; pub const NFNLGRP_CONNTRACK_DESTROY: ::c_int = 3; pub const NFNLGRP_CONNTRACK_EXP_NEW: ::c_int = 4; pub const NFNLGRP_CONNTRACK_EXP_UPDATE: ::c_int = 5; pub const NFNLGRP_CONNTRACK_EXP_DESTROY: ::c_int = 6; pub const NFNLGRP_NFTABLES: ::c_int = 7; pub const NFNLGRP_ACCT_QUOTA: ::c_int = 8; pub const NFNETLINK_V0: ::c_int = 0; pub const NFNL_SUBSYS_NONE: ::c_int = 0; pub const NFNL_SUBSYS_CTNETLINK: ::c_int = 1; pub const NFNL_SUBSYS_CTNETLINK_EXP: ::c_int = 2; pub const NFNL_SUBSYS_QUEUE: ::c_int = 3; pub const NFNL_SUBSYS_ULOG: ::c_int = 4; pub const NFNL_SUBSYS_OSF: ::c_int = 5; pub const NFNL_SUBSYS_IPSET: ::c_int = 6; pub const NFNL_SUBSYS_ACCT: ::c_int = 7; pub const NFNL_SUBSYS_CTNETLINK_TIMEOUT: ::c_int = 8; pub const NFNL_SUBSYS_CTHELPER: ::c_int = 9; pub const NFNL_SUBSYS_NFTABLES: ::c_int = 10; pub const NFNL_SUBSYS_NFT_COMPAT: ::c_int = 11; pub const NFNL_SUBSYS_COUNT: ::c_int = 12; pub const NFNL_MSG_BATCH_BEGIN: ::c_int = NLMSG_MIN_TYPE; pub const NFNL_MSG_BATCH_END: ::c_int = NLMSG_MIN_TYPE + 1; // linux/netfilter/nfnetlink_log.h pub const NFULNL_MSG_PACKET: ::c_int = 0; pub const NFULNL_MSG_CONFIG: ::c_int = 1; pub const NFULA_UNSPEC: ::c_int = 0; pub const NFULA_PACKET_HDR: ::c_int = 1; pub const NFULA_MARK: ::c_int = 2; pub const NFULA_TIMESTAMP: ::c_int = 3; pub const NFULA_IFINDEX_INDEV: ::c_int = 4; pub const NFULA_IFINDEX_OUTDEV: ::c_int = 5; pub const NFULA_IFINDEX_PHYSINDEV: ::c_int = 6; pub const NFULA_IFINDEX_PHYSOUTDEV: ::c_int = 7; pub const NFULA_HWADDR: ::c_int = 8; pub const NFULA_PAYLOAD: ::c_int = 9; pub const NFULA_PREFIX: ::c_int = 10; pub const NFULA_UID: ::c_int = 11; pub const NFULA_SEQ: ::c_int = 12; pub const NFULA_SEQ_GLOBAL: ::c_int = 13; pub const NFULA_GID: ::c_int = 14; pub const NFULA_HWTYPE: ::c_int = 15; pub const NFULA_HWHEADER: ::c_int = 16; pub const NFULA_HWLEN: ::c_int = 17; pub const NFULA_CT: ::c_int = 18; pub const NFULA_CT_INFO: ::c_int = 19; pub const NFULNL_CFG_CMD_NONE: ::c_int = 0; pub const NFULNL_CFG_CMD_BIND: ::c_int = 1; pub const NFULNL_CFG_CMD_UNBIND: ::c_int = 2; pub const NFULNL_CFG_CMD_PF_BIND: ::c_int = 3; pub const NFULNL_CFG_CMD_PF_UNBIND: ::c_int = 4; pub const NFULA_CFG_UNSPEC: ::c_int = 0; pub const NFULA_CFG_CMD: ::c_int = 1; pub const NFULA_CFG_MODE: ::c_int = 2; pub const NFULA_CFG_NLBUFSIZ: ::c_int = 3; pub const NFULA_CFG_TIMEOUT: ::c_int = 4; pub const NFULA_CFG_QTHRESH: ::c_int = 5; pub const NFULA_CFG_FLAGS: ::c_int = 6; pub const NFULNL_COPY_NONE: ::c_int = 0x00; pub const NFULNL_COPY_META: ::c_int = 0x01; pub const NFULNL_COPY_PACKET: ::c_int = 0x02; pub const NFULNL_CFG_F_SEQ: ::c_int = 0x0001; pub const NFULNL_CFG_F_SEQ_GLOBAL: ::c_int = 0x0002; pub const NFULNL_CFG_F_CONNTRACK: ::c_int = 0x0004; pub const GENL_NAMSIZ: ::c_int = 16; pub const GENL_MIN_ID: ::c_int = NLMSG_MIN_TYPE; pub const GENL_MAX_ID: ::c_int = 1023; pub const GENL_ADMIN_PERM: ::c_int = 0x01; pub const GENL_CMD_CAP_DO: ::c_int = 0x02; pub const GENL_CMD_CAP_DUMP: ::c_int = 0x04; pub const GENL_CMD_CAP_HASPOL: ::c_int = 0x08; pub const GENL_UNS_ADMIN_PERM: ::c_int = 0x10; pub const GENL_ID_CTRL: ::c_int = NLMSG_MIN_TYPE; pub const GENL_ID_VFS_DQUOT: ::c_int = NLMSG_MIN_TYPE + 1; pub const GENL_ID_PMCRAID: ::c_int = NLMSG_MIN_TYPE + 2; pub const CTRL_CMD_UNSPEC: ::c_int = 0; pub const CTRL_CMD_NEWFAMILY: ::c_int = 1; pub const CTRL_CMD_DELFAMILY: ::c_int = 2; pub const CTRL_CMD_GETFAMILY: ::c_int = 3; pub const CTRL_CMD_NEWOPS: ::c_int = 4; pub const CTRL_CMD_DELOPS: ::c_int = 5; pub const CTRL_CMD_GETOPS: ::c_int = 6; pub const CTRL_CMD_NEWMCAST_GRP: ::c_int = 7; pub const CTRL_CMD_DELMCAST_GRP: ::c_int = 8; pub const CTRL_CMD_GETMCAST_GRP: ::c_int = 9; pub const CTRL_ATTR_UNSPEC: ::c_int = 0; pub const CTRL_ATTR_FAMILY_ID: ::c_int = 1; pub const CTRL_ATTR_FAMILY_NAME: ::c_int = 2; pub const CTRL_ATTR_VERSION: ::c_int = 3; pub const CTRL_ATTR_HDRSIZE: ::c_int = 4; pub const CTRL_ATTR_MAXATTR: ::c_int = 5; pub const CTRL_ATTR_OPS: ::c_int = 6; pub const CTRL_ATTR_MCAST_GROUPS: ::c_int = 7; pub const CTRL_ATTR_OP_UNSPEC: ::c_int = 0; pub const CTRL_ATTR_OP_ID: ::c_int = 1; pub const CTRL_ATTR_OP_FLAGS: ::c_int = 2; pub const CTRL_ATTR_MCAST_GRP_UNSPEC: ::c_int = 0; pub const CTRL_ATTR_MCAST_GRP_NAME: ::c_int = 1; pub const CTRL_ATTR_MCAST_GRP_ID: ::c_int = 2; pub const NETLINK_ADD_MEMBERSHIP: ::c_int = 1; pub const NETLINK_DROP_MEMBERSHIP: ::c_int = 2; pub const NETLINK_PKTINFO: ::c_int = 3; 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 GRND_NONBLOCK: ::c_uint = 0x0001; pub const GRND_RANDOM: ::c_uint = 0x0002; 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 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); pub const NLA_ALIGNTO: ::c_int = 4; pub const SIGEV_THREAD_ID: ::c_int = 4; pub const CIBAUD: ::tcflag_t = 0o02003600000; pub const CBAUDEX: ::tcflag_t = 0o010000; 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 POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; pub const SFD_CLOEXEC: ::c_int = O_CLOEXEC; pub const SFD_NONBLOCK: ::c_int = O_NONBLOCK; pub const SOCK_NONBLOCK: ::c_int = O_NONBLOCK; pub const SO_ORIGINAL_DST: ::c_int = 80; pub const IP_ORIGDSTADDR: ::c_int = 20; pub const IP_RECVORIGDSTADDR: ::c_int = IP_ORIGDSTADDR; pub const IPV6_ORIGDSTADDR: ::c_int = 74; pub const IPV6_RECVORIGDSTADDR: ::c_int = IPV6_ORIGDSTADDR; pub const IPV6_FLOWLABEL_MGR: ::c_int = 32; pub const IPV6_FLOWINFO_SEND: ::c_int = 33; pub const IPV6_FLOWINFO_FLOWLABEL: ::c_int = 0x000fffff; pub const IPV6_FLOWINFO_PRIORITY: ::c_int = 0x0ff00000; pub const IUTF8: ::tcflag_t = 0x00004000; pub const CMSPAR: ::tcflag_t = 0o10000000000; 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; // linux/netfilter.h pub const NF_DROP: ::c_int = 0; pub const NF_ACCEPT: ::c_int = 1; pub const NF_STOLEN: ::c_int = 2; pub const NF_QUEUE: ::c_int = 3; pub const NF_REPEAT: ::c_int = 4; pub const NF_STOP: ::c_int = 5; pub const NF_MAX_VERDICT: ::c_int = NF_STOP; pub const NF_VERDICT_MASK: ::c_int = 0x000000ff; pub const NF_VERDICT_FLAG_QUEUE_BYPASS: ::c_int = 0x00008000; pub const NF_VERDICT_QMASK: ::c_int = 0xffff0000; pub const NF_VERDICT_QBITS: ::c_int = 16; pub const NF_VERDICT_BITS: ::c_int = 16; pub const NF_INET_PRE_ROUTING: ::c_int = 0; pub const NF_INET_LOCAL_IN: ::c_int = 1; pub const NF_INET_FORWARD: ::c_int = 2; pub const NF_INET_LOCAL_OUT: ::c_int = 3; pub const NF_INET_POST_ROUTING: ::c_int = 4; pub const NF_INET_NUMHOOKS: ::c_int = 5; pub const NF_NETDEV_INGRESS: ::c_int = 0; pub const NF_NETDEV_NUMHOOKS: ::c_int = 1; pub const NFPROTO_UNSPEC: ::c_int = 0; pub const NFPROTO_INET: ::c_int = 1; pub const NFPROTO_IPV4: ::c_int = 2; pub const NFPROTO_ARP: ::c_int = 3; pub const NFPROTO_NETDEV: ::c_int = 5; 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; // linux/netfilter_ipv4.h pub const NF_IP_PRE_ROUTING: ::c_int = 0; pub const NF_IP_LOCAL_IN: ::c_int = 1; pub const NF_IP_FORWARD: ::c_int = 2; pub const NF_IP_LOCAL_OUT: ::c_int = 3; pub const NF_IP_POST_ROUTING: ::c_int = 4; pub const NF_IP_NUMHOOKS: ::c_int = 5; pub const NF_IP_PRI_FIRST: ::c_int = ::INT_MIN; pub const NF_IP_PRI_CONNTRACK_DEFRAG: ::c_int = -400; pub const NF_IP_PRI_RAW: ::c_int = -300; pub const NF_IP_PRI_SELINUX_FIRST: ::c_int = -225; pub const NF_IP_PRI_CONNTRACK: ::c_int = -200; pub const NF_IP_PRI_MANGLE: ::c_int = -150; pub const NF_IP_PRI_NAT_DST: ::c_int = -100; pub const NF_IP_PRI_FILTER: ::c_int = 0; pub const NF_IP_PRI_SECURITY: ::c_int = 50; pub const NF_IP_PRI_NAT_SRC: ::c_int = 100; pub const NF_IP_PRI_SELINUX_LAST: ::c_int = 225; pub const NF_IP_PRI_CONNTRACK_HELPER: ::c_int = 300; pub const NF_IP_PRI_CONNTRACK_CONFIRM: ::c_int = ::INT_MAX; pub const NF_IP_PRI_LAST: ::c_int = ::INT_MAX; // linux/netfilter_ipv6.h pub const NF_IP6_PRE_ROUTING: ::c_int = 0; pub const NF_IP6_LOCAL_IN: ::c_int = 1; pub const NF_IP6_FORWARD: ::c_int = 2; pub const NF_IP6_LOCAL_OUT: ::c_int = 3; pub const NF_IP6_POST_ROUTING: ::c_int = 4; pub const NF_IP6_NUMHOOKS: ::c_int = 5; pub const NF_IP6_PRI_FIRST: ::c_int = ::INT_MIN; pub const NF_IP6_PRI_CONNTRACK_DEFRAG: ::c_int = -400; pub const NF_IP6_PRI_RAW: ::c_int = -300; pub const NF_IP6_PRI_SELINUX_FIRST: ::c_int = -225; pub const NF_IP6_PRI_CONNTRACK: ::c_int = -200; pub const NF_IP6_PRI_MANGLE: ::c_int = -150; pub const NF_IP6_PRI_NAT_DST: ::c_int = -100; pub const NF_IP6_PRI_FILTER: ::c_int = 0; pub const NF_IP6_PRI_SECURITY: ::c_int = 50; pub const NF_IP6_PRI_NAT_SRC: ::c_int = 100; pub const NF_IP6_PRI_SELINUX_LAST: ::c_int = 225; pub const NF_IP6_PRI_CONNTRACK_HELPER: ::c_int = 300; pub const NF_IP6_PRI_LAST: ::c_int = ::INT_MAX; // 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; 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 IFF_TUN: ::c_int = 0x0001; pub const IFF_TAP: ::c_int = 0x0002; pub const IFF_NO_PI: ::c_int = 0x1000; // start android/platform/bionic/libc/kernel/uapi/linux/if_ether.h // from https://android.googlesource.com/ // platform/bionic/+/master/libc/kernel/uapi/linux/if_ether.h pub const ETH_ALEN: ::c_int = 6; pub const ETH_HLEN: ::c_int = 14; pub const ETH_ZLEN: ::c_int = 60; pub const ETH_DATA_LEN: ::c_int = 1500; pub const ETH_FRAME_LEN: ::c_int = 1514; pub const ETH_FCS_LEN: ::c_int = 4; pub const ETH_MIN_MTU: ::c_int = 68; pub const ETH_MAX_MTU: ::c_int = 0xFFFF; pub const ETH_P_LOOP: ::c_int = 0x0060; pub const ETH_P_PUP: ::c_int = 0x0200; pub const ETH_P_PUPAT: ::c_int = 0x0201; pub const ETH_P_TSN: ::c_int = 0x22F0; pub const ETH_P_IP: ::c_int = 0x0800; pub const ETH_P_X25: ::c_int = 0x0805; pub const ETH_P_ARP: ::c_int = 0x0806; pub const ETH_P_BPQ: ::c_int = 0x08FF; pub const ETH_P_IEEEPUP: ::c_int = 0x0a00; pub const ETH_P_IEEEPUPAT: ::c_int = 0x0a01; pub const ETH_P_BATMAN: ::c_int = 0x4305; pub const ETH_P_DEC: ::c_int = 0x6000; pub const ETH_P_DNA_DL: ::c_int = 0x6001; pub const ETH_P_DNA_RC: ::c_int = 0x6002; pub const ETH_P_DNA_RT: ::c_int = 0x6003; pub const ETH_P_LAT: ::c_int = 0x6004; pub const ETH_P_DIAG: ::c_int = 0x6005; pub const ETH_P_CUST: ::c_int = 0x6006; pub const ETH_P_SCA: ::c_int = 0x6007; pub const ETH_P_TEB: ::c_int = 0x6558; pub const ETH_P_RARP: ::c_int = 0x8035; pub const ETH_P_ATALK: ::c_int = 0x809B; pub const ETH_P_AARP: ::c_int = 0x80F3; pub const ETH_P_8021Q: ::c_int = 0x8100; /* see rust-lang/libc#924 pub const ETH_P_ERSPAN: ::c_int = 0x88BE;*/ pub const ETH_P_IPX: ::c_int = 0x8137; pub const ETH_P_IPV6: ::c_int = 0x86DD; pub const ETH_P_PAUSE: ::c_int = 0x8808; pub const ETH_P_SLOW: ::c_int = 0x8809; pub const ETH_P_WCCP: ::c_int = 0x883E; pub const ETH_P_MPLS_UC: ::c_int = 0x8847; pub const ETH_P_MPLS_MC: ::c_int = 0x8848; pub const ETH_P_ATMMPOA: ::c_int = 0x884c; pub const ETH_P_PPP_DISC: ::c_int = 0x8863; pub const ETH_P_PPP_SES: ::c_int = 0x8864; pub const ETH_P_LINK_CTL: ::c_int = 0x886c; pub const ETH_P_ATMFATE: ::c_int = 0x8884; pub const ETH_P_PAE: ::c_int = 0x888E; pub const ETH_P_AOE: ::c_int = 0x88A2; pub const ETH_P_8021AD: ::c_int = 0x88A8; pub const ETH_P_802_EX1: ::c_int = 0x88B5; pub const ETH_P_TIPC: ::c_int = 0x88CA; pub const ETH_P_MACSEC: ::c_int = 0x88E5; pub const ETH_P_8021AH: ::c_int = 0x88E7; pub const ETH_P_MVRP: ::c_int = 0x88F5; pub const ETH_P_1588: ::c_int = 0x88F7; pub const ETH_P_NCSI: ::c_int = 0x88F8; pub const ETH_P_PRP: ::c_int = 0x88FB; pub const ETH_P_FCOE: ::c_int = 0x8906; /* see rust-lang/libc#924 pub const ETH_P_IBOE: ::c_int = 0x8915;*/ pub const ETH_P_TDLS: ::c_int = 0x890D; pub const ETH_P_FIP: ::c_int = 0x8914; pub const ETH_P_80221: ::c_int = 0x8917; pub const ETH_P_HSR: ::c_int = 0x892F; /* see rust-lang/libc#924 pub const ETH_P_NSH: ::c_int = 0x894F;*/ pub const ETH_P_LOOPBACK: ::c_int = 0x9000; pub const ETH_P_QINQ1: ::c_int = 0x9100; pub const ETH_P_QINQ2: ::c_int = 0x9200; pub const ETH_P_QINQ3: ::c_int = 0x9300; pub const ETH_P_EDSA: ::c_int = 0xDADA; /* see rust-lang/libc#924 pub const ETH_P_IFE: ::c_int = 0xED3E;*/ pub const ETH_P_AF_IUCV: ::c_int = 0xFBFB; pub const ETH_P_802_3_MIN: ::c_int = 0x0600; pub const ETH_P_802_3: ::c_int = 0x0001; pub const ETH_P_AX25: ::c_int = 0x0002; pub const ETH_P_ALL: ::c_int = 0x0003; pub const ETH_P_802_2: ::c_int = 0x0004; pub const ETH_P_SNAP: ::c_int = 0x0005; pub const ETH_P_DDCMP: ::c_int = 0x0006; pub const ETH_P_WAN_PPP: ::c_int = 0x0007; pub const ETH_P_PPP_MP: ::c_int = 0x0008; pub const ETH_P_LOCALTALK: ::c_int = 0x0009; pub const ETH_P_CAN: ::c_int = 0x000C; pub const ETH_P_CANFD: ::c_int = 0x000D; pub const ETH_P_PPPTALK: ::c_int = 0x0010; pub const ETH_P_TR_802_2: ::c_int = 0x0011; pub const ETH_P_MOBITEX: ::c_int = 0x0015; pub const ETH_P_CONTROL: ::c_int = 0x0016; pub const ETH_P_IRDA: ::c_int = 0x0017; pub const ETH_P_ECONET: ::c_int = 0x0018; pub const ETH_P_HDLC: ::c_int = 0x0019; pub const ETH_P_ARCNET: ::c_int = 0x001A; pub const ETH_P_DSA: ::c_int = 0x001B; pub const ETH_P_TRAILER: ::c_int = 0x001C; pub const ETH_P_PHONET: ::c_int = 0x00F5; pub const ETH_P_IEEE802154: ::c_int = 0x00F6; pub const ETH_P_CAIF: ::c_int = 0x00F7; pub const ETH_P_XDSA: ::c_int = 0x00F8; /* see rust-lang/libc#924 pub const ETH_P_MAP: ::c_int = 0x00F9;*/ // end android/platform/bionic/libc/kernel/uapi/linux/if_ether.h pub const SIOCADDRT: ::c_ulong = 0x0000890B; pub const SIOCDELRT: ::c_ulong = 0x0000890C; pub const SIOCGIFNAME: ::c_ulong = 0x00008910; pub const SIOCSIFLINK: ::c_ulong = 0x00008911; pub const SIOCGIFCONF: ::c_ulong = 0x00008912; pub const SIOCGIFFLAGS: ::c_ulong = 0x00008913; pub const SIOCSIFFLAGS: ::c_ulong = 0x00008914; pub const SIOCGIFADDR: ::c_ulong = 0x00008915; pub const SIOCSIFADDR: ::c_ulong = 0x00008916; pub const SIOCGIFDSTADDR: ::c_ulong = 0x00008917; pub const SIOCSIFDSTADDR: ::c_ulong = 0x00008918; pub const SIOCGIFBRDADDR: ::c_ulong = 0x00008919; pub const SIOCSIFBRDADDR: ::c_ulong = 0x0000891A; pub const SIOCGIFNETMASK: ::c_ulong = 0x0000891B; pub const SIOCSIFNETMASK: ::c_ulong = 0x0000891C; pub const SIOCGIFMETRIC: ::c_ulong = 0x0000891D; pub const SIOCSIFMETRIC: ::c_ulong = 0x0000891E; pub const SIOCGIFMEM: ::c_ulong = 0x0000891F; pub const SIOCSIFMEM: ::c_ulong = 0x00008920; pub const SIOCGIFMTU: ::c_ulong = 0x00008921; pub const SIOCSIFMTU: ::c_ulong = 0x00008922; pub const SIOCSIFHWADDR: ::c_ulong = 0x00008924; pub const SIOCGIFENCAP: ::c_ulong = 0x00008925; pub const SIOCSIFENCAP: ::c_ulong = 0x00008926; pub const SIOCGIFHWADDR: ::c_ulong = 0x00008927; pub const SIOCGIFSLAVE: ::c_ulong = 0x00008929; pub const SIOCSIFSLAVE: ::c_ulong = 0x00008930; pub const SIOCADDMULTI: ::c_ulong = 0x00008931; pub const SIOCDELMULTI: ::c_ulong = 0x00008932; pub const SIOCDARP: ::c_ulong = 0x00008953; pub const SIOCGARP: ::c_ulong = 0x00008954; pub const SIOCSARP: ::c_ulong = 0x00008955; pub const SIOCDRARP: ::c_ulong = 0x00008960; pub const SIOCGRARP: ::c_ulong = 0x00008961; pub const SIOCSRARP: ::c_ulong = 0x00008962; pub const SIOCGIFMAP: ::c_ulong = 0x00008970; pub const SIOCSIFMAP: ::c_ulong = 0x00008971; // linux/module.h pub const MODULE_INIT_IGNORE_MODVERSIONS: ::c_uint = 0x0001; pub const MODULE_INIT_IGNORE_VERMAGIC: ::c_uint = 0x0002; #[deprecated( since = "0.2.55", note = "ENOATTR is not available on Android; use ENODATA instead" )] pub const ENOATTR: ::c_int = ::ENODATA; // linux/if_alg.h pub const ALG_SET_KEY: ::c_int = 1; pub const ALG_SET_IV: ::c_int = 2; pub const ALG_SET_OP: ::c_int = 3; pub const ALG_SET_AEAD_ASSOCLEN: ::c_int = 4; 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; // uapi/linux/inotify.h pub const IN_ACCESS: u32 = 0x0000_0001; pub const IN_MODIFY: u32 = 0x0000_0002; pub const IN_ATTRIB: u32 = 0x0000_0004; pub const IN_CLOSE_WRITE: u32 = 0x0000_0008; pub const IN_CLOSE_NOWRITE: u32 = 0x0000_0010; pub const IN_CLOSE: u32 = (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE); pub const IN_OPEN: u32 = 0x0000_0020; pub const IN_MOVED_FROM: u32 = 0x0000_0040; pub const IN_MOVED_TO: u32 = 0x0000_0080; pub const IN_MOVE: u32 = (IN_MOVED_FROM | IN_MOVED_TO); pub const IN_CREATE: u32 = 0x0000_0100; pub const IN_DELETE: u32 = 0x0000_0200; pub const IN_DELETE_SELF: u32 = 0x0000_0400; pub const IN_MOVE_SELF: u32 = 0x0000_0800; pub const IN_UNMOUNT: u32 = 0x0000_2000; pub const IN_Q_OVERFLOW: u32 = 0x0000_4000; pub const IN_IGNORED: u32 = 0x0000_8000; pub const IN_ONLYDIR: u32 = 0x0100_0000; pub const IN_DONT_FOLLOW: u32 = 0x0200_0000; // pub const IN_EXCL_UNLINK: u32 = 0x0400_0000; // pub const IN_MASK_CREATE: u32 = 0x1000_0000; // pub const IN_MASK_ADD: u32 = 0x2000_0000; pub const IN_ISDIR: u32 = 0x4000_0000; pub const IN_ONESHOT: u32 = 0x8000_0000; pub const IN_ALL_EVENTS: u32 = (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF | IN_MOVE_SELF); pub const IN_CLOEXEC: ::c_int = O_CLOEXEC; pub const IN_NONBLOCK: ::c_int = O_NONBLOCK; pub const FUTEX_WAIT: ::c_int = 0; pub const FUTEX_WAKE: ::c_int = 1; pub const FUTEX_FD: ::c_int = 2; pub const FUTEX_REQUEUE: ::c_int = 3; pub const FUTEX_CMP_REQUEUE: ::c_int = 4; pub const FUTEX_WAKE_OP: ::c_int = 5; pub const FUTEX_LOCK_PI: ::c_int = 6; pub const FUTEX_UNLOCK_PI: ::c_int = 7; pub const FUTEX_TRYLOCK_PI: ::c_int = 8; pub const FUTEX_WAIT_BITSET: ::c_int = 9; pub const FUTEX_WAKE_BITSET: ::c_int = 10; pub const FUTEX_WAIT_REQUEUE_PI: ::c_int = 11; pub const FUTEX_CMP_REQUEUE_PI: ::c_int = 12; pub const FUTEX_PRIVATE_FLAG: ::c_int = 128; pub const FUTEX_CLOCK_REALTIME: ::c_int = 256; pub const FUTEX_CMD_MASK: ::c_int = !(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME); f! { pub fn CMSG_NXTHDR(mhdr: *const msghdr, cmsg: *const cmsghdr) -> *mut cmsghdr { let next = (cmsg as usize + super::CMSG_ALIGN((*cmsg).cmsg_len as usize)) as *mut cmsghdr; let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if (next.offset(1)) as usize > max { 0 as *mut cmsghdr } else { next as *mut cmsghdr } } pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () { for slot in cpuset.__bits.iter_mut() { *slot = 0; } } pub fn CPU_SET(cpu: usize, cpuset: &mut cpu_set_t) -> () { 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]); 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); 0 != (cpuset.__bits[idx] & (1 << offset)) } 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 } pub fn minor(dev: ::dev_t) -> ::c_int { ((dev & 0xff) | ((dev >> 12) & 0xfff00)) as ::c_int } pub fn makedev(ma: ::c_int, mi: ::c_int) -> ::dev_t { let ma = ma as ::dev_t; let mi = mi as ::dev_t; ((ma & 0xfff) << 8) | (mi & 0xff) | ((mi & 0xfff00) << 12) } pub fn NLA_ALIGN(len: ::c_int) -> ::c_int { return ((len) + NLA_ALIGNTO - 1) & !(NLA_ALIGNTO - 1) } } extern "C" { pub fn getrlimit64(resource: ::c_int, rlim: *mut rlimit64) -> ::c_int; pub fn setrlimit64(resource: ::c_int, rlim: *const rlimit64) -> ::c_int; pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; 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 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; pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn recvfrom( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::ssize_t; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::size_t, serv: *mut ::c_char, sevlen: ::size_t, flags: ::c_int, ) -> ::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 __sched_cpualloc(count: ::size_t) -> *mut ::cpu_set_t; 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 utmpname(name: *const ::c_char) -> ::c_int; pub fn setutent(); pub fn getutent() -> *mut utmp; pub fn posix_fallocate( fd: ::c_int, offset: ::off_t, len: ::off_t, ) -> ::c_int; pub fn signalfd( fd: ::c_int, mask: *const ::sigset_t, flags: ::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; pub fn sched_setaffinity( pid: ::pid_t, cpusetsize: ::size_t, cpuset: *const cpu_set_t, ) -> ::c_int; pub fn epoll_create(size: ::c_int) -> ::c_int; pub fn epoll_create1(flags: ::c_int) -> ::c_int; pub fn epoll_wait( epfd: ::c_int, events: *mut ::epoll_event, maxevents: ::c_int, timeout: ::c_int, ) -> ::c_int; pub fn epoll_ctl( epfd: ::c_int, op: ::c_int, fd: ::c_int, event: *mut ::epoll_event, ) -> ::c_int; pub fn pthread_getschedparam( native: ::pthread_t, policy: *mut ::c_int, param: *mut ::sched_param, ) -> ::c_int; pub fn unshare(flags: ::c_int) -> ::c_int; pub fn umount(target: *const ::c_char) -> ::c_int; pub fn sched_get_priority_max(policy: ::c_int) -> ::c_int; pub fn tee( fd_in: ::c_int, fd_out: ::c_int, len: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn settimeofday( tv: *const ::timeval, tz: *const ::timezone, ) -> ::c_int; pub fn splice( fd_in: ::c_int, off_in: *mut ::loff_t, fd_out: ::c_int, off_out: *mut ::loff_t, len: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int; pub fn sched_rr_get_interval(pid: ::pid_t, tp: *mut ::timespec) -> ::c_int; pub fn sem_timedwait( sem: *mut sem_t, abstime: *const ::timespec, ) -> ::c_int; pub fn sem_getvalue(sem: *mut sem_t, sval: *mut ::c_int) -> ::c_int; pub fn sched_setparam( pid: ::pid_t, param: *const ::sched_param, ) -> ::c_int; pub fn setns(fd: ::c_int, nstype: ::c_int) -> ::c_int; pub fn swapoff(puath: *const ::c_char) -> ::c_int; pub fn vmsplice( fd: ::c_int, iov: *const ::iovec, nr_segs: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn mount( src: *const ::c_char, target: *const ::c_char, fstype: *const ::c_char, flags: ::c_ulong, data: *const ::c_void, ) -> ::c_int; pub fn personality(persona: ::c_uint) -> ::c_int; pub fn prctl(option: ::c_int, ...) -> ::c_int; pub fn sched_getparam(pid: ::pid_t, param: *mut ::sched_param) -> ::c_int; pub fn ppoll( fds: *mut ::pollfd, nfds: nfds_t, timeout: *const ::timespec, sigmask: *const sigset_t, ) -> ::c_int; pub fn pthread_mutex_timedlock( lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn clone( cb: extern "C" fn(*mut ::c_void) -> ::c_int, child_stack: *mut ::c_void, flags: ::c_int, arg: *mut ::c_void, ... ) -> ::c_int; pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int; pub fn clock_nanosleep( clk_id: ::clockid_t, flags: ::c_int, rqtp: *const ::timespec, rmtp: *mut ::timespec, ) -> ::c_int; pub fn pthread_attr_getguardsize( attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int; pub fn pthread_condattr_getpshared( attr: *const pthread_condattr_t, pshared: *mut ::c_int, ) -> ::c_int; pub fn sysinfo(info: *mut ::sysinfo) -> ::c_int; pub fn umount2(target: *const ::c_char, flags: ::c_int) -> ::c_int; pub fn pthread_setschedparam( native: ::pthread_t, policy: ::c_int, param: *const ::sched_param, ) -> ::c_int; pub fn swapon(path: *const ::c_char, swapflags: ::c_int) -> ::c_int; pub fn sched_setscheduler( pid: ::pid_t, policy: ::c_int, param: *const ::sched_param, ) -> ::c_int; pub fn sendfile( out_fd: ::c_int, in_fd: ::c_int, offset: *mut off_t, count: ::size_t, ) -> ::ssize_t; pub fn setfsgid(gid: ::gid_t) -> ::c_int; pub fn setfsuid(uid: ::uid_t) -> ::c_int; pub fn sigsuspend(mask: *const ::sigset_t) -> ::c_int; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")] pub fn getgrgid_r( gid: ::gid_t, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigaltstack$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")] pub fn sigaltstack(ss: *const stack_t, oss: *mut stack_t) -> ::c_int; pub fn sem_close(sem: *mut sem_t) -> ::c_int; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")] pub fn getgrnam_r( name: *const ::c_char, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_sigmask$UNIX2003" )] 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 sem_unlink(name: *const ::c_char) -> ::c_int; pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")] pub fn getpwnam_r( name: *const ::c_char, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")] pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigwait$UNIX2003" )] #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")] pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int; pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; pub fn getgrgid(gid: ::gid_t) -> *mut ::group; pub fn getgrouplist( user: *const ::c_char, group: ::gid_t, groups: *mut ::gid_t, ngroups: *mut ::c_int, ) -> ::c_int; pub fn initgroups(user: *const ::c_char, group: ::gid_t) -> ::c_int; pub fn pthread_mutexattr_getpshared( attr: *const pthread_mutexattr_t, pshared: *mut ::c_int, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "popen$UNIX2003" )] pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE; pub fn faccessat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::c_int, flags: ::c_int, ) -> ::c_int; 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 __errno() -> *mut ::c_int; pub fn inotify_rm_watch(fd: ::c_int, wd: u32) -> ::c_int; pub fn sendmmsg( sockfd: ::c_int, msgvec: *const ::mmsghdr, vlen: ::c_uint, flags: ::c_int, ) -> ::c_int; pub fn recvmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::c_uint, flags: ::c_int, timeout: *const ::timespec, ) -> ::c_int; pub fn inotify_init() -> ::c_int; pub fn inotify_init1(flags: ::c_int) -> ::c_int; pub fn inotify_add_watch( fd: ::c_int, path: *const ::c_char, mask: u32, ) -> ::c_int; } cfg_if! { if #[cfg(target_pointer_width = "32")] { mod b32; pub use self::b32::*; } else if #[cfg(target_pointer_width = "64")] { mod b64; pub use self::b64::*; } else { // Unknown target_pointer_width } } impl siginfo_t { pub unsafe fn si_value(&self) -> ::sigval { #[repr(C)] struct siginfo_timer { _si_signo: ::c_int, _si_errno: ::c_int, _si_code: ::c_int, _si_tid: ::c_int, _si_overrun: ::c_int, si_sigval: ::sigval, } (*(self as *const siginfo_t as *const siginfo_timer)).si_sigval } } libc-0.2.66/src/unix/linux_like/emscripten/align.rs010064400007650000024000000045071355140103400204650ustar0000000000000000macro_rules! expand_align { () => { s! { #[allow(missing_debug_implementations)] #[repr(align(4))] pub struct pthread_mutex_t { size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } #[repr(align(4))] pub struct pthread_rwlock_t { size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } #[repr(align(4))] pub struct pthread_mutexattr_t { size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } #[repr(align(4))] pub struct pthread_rwlockattr_t { size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], } #[repr(align(4))] pub struct pthread_condattr_t { size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } s_no_extra_traits! { #[cfg_attr(target_pointer_width = "32", repr(align(4)))] #[cfg_attr(target_pointer_width = "64", repr(align(8)))] pub struct pthread_cond_t { size: [u8; ::__SIZEOF_PTHREAD_COND_T], } #[allow(missing_debug_implementations)] #[repr(align(8))] pub struct max_align_t { priv_: [f64; 2] } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for pthread_cond_t { fn eq(&self, other: &pthread_cond_t) -> bool { self.size .iter() .zip(other.size.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_cond_t {} impl ::fmt::Debug for pthread_cond_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_cond_t") // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_cond_t { fn hash(&self, state: &mut H) { self.size.hash(state); } } } } }; } libc-0.2.66/src/unix/linux_like/emscripten/mod.rs010064400007650000024000001712661357020644200201700ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; pub type useconds_t = u32; pub type dev_t = u32; pub type socklen_t = u32; pub type pthread_t = c_ulong; pub type mode_t = u32; pub type ino64_t = u64; pub type off64_t = i64; pub type blkcnt64_t = i32; pub type rlim64_t = u64; pub type shmatt_t = ::c_ulong; pub type mqd_t = ::c_int; pub type msgqnum_t = ::c_ulong; pub type msglen_t = ::c_ulong; pub type nfds_t = ::c_ulong; pub type nl_item = ::c_int; pub type idtype_t = ::c_uint; pub type loff_t = i64; pub type pthread_key_t = ::c_uint; pub type clock_t = c_long; pub type time_t = c_long; pub type suseconds_t = c_long; pub type ino_t = u64; pub type off_t = i64; pub type blkcnt_t = i32; pub type blksize_t = c_long; pub type fsblkcnt_t = u32; pub type fsfilcnt_t = u32; pub type rlim_t = ::c_ulonglong; pub type c_long = i32; pub type c_ulong = u32; pub type nlink_t = u32; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum fpos64_t {} // TODO: fill this out with a struct impl ::Copy for fpos64_t {} impl ::Clone for fpos64_t { fn clone(&self) -> fpos64_t { *self } } s! { pub struct rlimit64 { pub rlim_cur: rlim64_t, pub rlim_max: rlim64_t, } pub struct glob_t { pub gl_pathc: ::size_t, pub gl_pathv: *mut *mut c_char, pub gl_offs: ::size_t, pub gl_flags: ::c_int, __unused1: *mut ::c_void, __unused2: *mut ::c_void, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, } pub struct passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, } pub struct spwd { pub sp_namp: *mut ::c_char, pub sp_pwdp: *mut ::c_char, pub sp_lstchg: ::c_long, pub sp_min: ::c_long, pub sp_max: ::c_long, pub sp_warn: ::c_long, pub sp_inact: ::c_long, pub sp_expire: ::c_long, pub sp_flag: ::c_ulong, } 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, __f_unused: ::c_int, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct dqblk { pub dqb_bhardlimit: u64, pub dqb_bsoftlimit: u64, pub dqb_curspace: u64, pub dqb_ihardlimit: u64, pub dqb_isoftlimit: u64, pub dqb_curinodes: u64, pub dqb_btime: u64, pub dqb_itime: u64, pub dqb_valid: u32, } pub struct signalfd_siginfo { pub ssi_signo: u32, pub ssi_errno: i32, pub ssi_code: i32, pub ssi_pid: u32, pub ssi_uid: u32, pub ssi_fd: i32, pub ssi_tid: u32, pub ssi_band: u32, pub ssi_overrun: u32, pub ssi_trapno: u32, pub ssi_status: i32, pub ssi_int: i32, pub ssi_ptr: u64, pub ssi_utime: u64, pub ssi_stime: u64, pub ssi_addr: u64, pub ssi_addr_lsb: u16, _pad2: u16, pub ssi_syscall: i32, pub ssi_call_addr: u64, pub ssi_arch: u32, _pad: [u8; 28], } pub struct fsid_t { __val: [::c_int; 2], } pub struct cpu_set_t { bits: [u32; 32], } pub struct if_nameindex { pub if_index: ::c_uint, pub if_name: *mut ::c_char, } // System V IPC pub struct msginfo { pub msgpool: ::c_int, pub msgmap: ::c_int, pub msgmax: ::c_int, pub msgmnb: ::c_int, pub msgmni: ::c_int, pub msgssz: ::c_int, pub msgtql: ::c_int, pub msgseg: ::c_ushort, } pub struct sembuf { pub sem_num: ::c_ushort, pub sem_op: ::c_short, pub sem_flg: ::c_short, } pub struct aiocb { pub aio_fildes: ::c_int, pub aio_lio_opcode: ::c_int, pub aio_reqprio: ::c_int, pub aio_buf: *mut ::c_void, pub aio_nbytes: ::size_t, pub aio_sigevent: ::sigevent, __td: *mut ::c_void, __lock: [::c_int; 2], __err: ::c_int, __ret: ::ssize_t, pub aio_offset: off_t, __next: *mut ::c_void, __prev: *mut ::c_void, __dummy4: [::c_char; 24], } pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_int, __unused1: ::c_long, __unused2: ::c_long } pub struct termios { 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; ::NCCS], pub __c_ispeed: ::speed_t, pub __c_ospeed: ::speed_t, } 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 pthread_attr_t { __size: [u32; 11] } pub struct sigset_t { __val: [::c_ulong; 32], } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::c_int, pub msg_control: *mut ::c_void, pub msg_controllen: ::socklen_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::socklen_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct sem_t { __val: [::c_int; 4], } pub struct stat { pub st_dev: ::dev_t, __st_dev_padding: ::c_int, __st_ino_truncated: ::c_long, 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, __st_rdev_padding: ::c_int, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, pub st_ino: ::ino_t, } pub struct stat64 { pub st_dev: ::dev_t, __st_dev_padding: ::c_int, __st_ino_truncated: ::c_long, 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, __st_rdev_padding: ::c_int, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, pub st_ino: ::ino_t, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_segsz: ::size_t, pub shm_atime: ::time_t, __unused1: ::c_int, pub shm_dtime: ::time_t, __unused2: ::c_int, pub shm_ctime: ::time_t, __unused3: ::c_int, pub shm_cpid: ::pid_t, pub shm_lpid: ::pid_t, pub shm_nattch: ::c_ulong, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, __unused1: ::c_int, pub msg_rtime: ::time_t, __unused2: ::c_int, pub msg_ctime: ::time_t, __unused3: ::c_int, __msg_cbytes: ::c_ulong, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct statfs { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub _pad: [::c_int; 29], _align: [usize; 0], } pub struct statfs64 { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u32, pub f_bfree: u32, pub f_bavail: u32, pub f_files: u32, pub f_ffree: u32, pub f_favail: u32, 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 arpd_request { pub req: ::c_ushort, pub ip: u32, pub dev: ::c_ulong, pub stamp: ::c_ulong, pub updated: ::c_ulong, pub ha: [::c_uchar; ::MAX_ADDR_LEN], } } s_no_extra_traits! { pub struct dirent { pub d_ino: ::ino_t, pub d_off: ::off_t, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } pub struct dirent64 { pub d_ino: ::ino64_t, pub d_off: ::off64_t, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } pub struct sysinfo { pub uptime: ::c_ulong, pub loads: [::c_ulong; 3], pub totalram: ::c_ulong, pub freeram: ::c_ulong, pub sharedram: ::c_ulong, pub bufferram: ::c_ulong, pub totalswap: ::c_ulong, pub freeswap: ::c_ulong, pub procs: ::c_ushort, pub pad: ::c_ushort, pub totalhigh: ::c_ulong, pub freehigh: ::c_ulong, pub mem_unit: ::c_uint, pub __reserved: [::c_char; 256], } pub struct mq_attr { pub mq_flags: ::c_long, pub mq_maxmsg: ::c_long, pub mq_msgsize: ::c_long, pub mq_curmsgs: ::c_long, pad: [::c_long; 4] } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self.d_type == other.d_type && self .d_name .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_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for dirent64 { fn eq(&self, other: &dirent64) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self.d_type == other.d_type && self .d_name .iter() .zip(other.d_name.iter()) .all(|(a,b)| a == b) } } impl Eq for dirent64 {} impl ::fmt::Debug for dirent64 { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("dirent64") .field("d_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent64 { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for sysinfo { fn eq(&self, other: &sysinfo) -> bool { self.uptime == other.uptime && self.loads == other.loads && self.totalram == other.totalram && self.freeram == other.freeram && self.sharedram == other.sharedram && self.bufferram == other.bufferram && self.totalswap == other.totalswap && self.freeswap == other.freeswap && self.procs == other.procs && self.pad == other.pad && self.totalhigh == other.totalhigh && self.freehigh == other.freehigh && self.mem_unit == other.mem_unit && self .__reserved .iter() .zip(other.__reserved.iter()) .all(|(a,b)| a == b) } } impl Eq for sysinfo {} impl ::fmt::Debug for sysinfo { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sysinfo") .field("uptime", &self.uptime) .field("loads", &self.loads) .field("totalram", &self.totalram) .field("freeram", &self.freeram) .field("sharedram", &self.sharedram) .field("bufferram", &self.bufferram) .field("totalswap", &self.totalswap) .field("freeswap", &self.freeswap) .field("procs", &self.procs) .field("pad", &self.pad) .field("totalhigh", &self.totalhigh) .field("freehigh", &self.freehigh) .field("mem_unit", &self.mem_unit) // FIXME: .field("__reserved", &self.__reserved) .finish() } } impl ::hash::Hash for sysinfo { fn hash(&self, state: &mut H) { self.uptime.hash(state); self.loads.hash(state); self.totalram.hash(state); self.freeram.hash(state); self.sharedram.hash(state); self.bufferram.hash(state); self.totalswap.hash(state); self.freeswap.hash(state); self.procs.hash(state); self.pad.hash(state); self.totalhigh.hash(state); self.freehigh.hash(state); self.mem_unit.hash(state); self.__reserved.hash(state); } } impl PartialEq for mq_attr { fn eq(&self, other: &mq_attr) -> bool { self.mq_flags == other.mq_flags && self.mq_maxmsg == other.mq_maxmsg && self.mq_msgsize == other.mq_msgsize && self.mq_curmsgs == other.mq_curmsgs } } impl Eq for mq_attr {} impl ::fmt::Debug for mq_attr { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("mq_attr") .field("mq_flags", &self.mq_flags) .field("mq_maxmsg", &self.mq_maxmsg) .field("mq_msgsize", &self.mq_msgsize) .field("mq_curmsgs", &self.mq_curmsgs) .finish() } } impl ::hash::Hash for mq_attr { fn hash(&self, state: &mut H) { self.mq_flags.hash(state); self.mq_maxmsg.hash(state); self.mq_msgsize.hash(state); self.mq_curmsgs.hash(state); } } } } pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MS_NOUSER: ::c_ulong = 0x80000000; pub const MS_RMT_MASK: ::c_ulong = 0x02800051; 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 RUSAGE_THREAD: ::c_int = 1; pub const RUSAGE_CHILDREN: ::c_int = -1; 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; pub const FILENAME_MAX: ::c_uint = 4096; pub const L_tmpnam: ::c_uint = 20; pub const _PC_LINK_MAX: ::c_int = 0; pub const _PC_MAX_CANON: ::c_int = 1; pub const _PC_MAX_INPUT: ::c_int = 2; pub const _PC_NAME_MAX: ::c_int = 3; pub const _PC_PATH_MAX: ::c_int = 4; pub const _PC_PIPE_BUF: ::c_int = 5; pub const _PC_CHOWN_RESTRICTED: ::c_int = 6; pub const _PC_NO_TRUNC: ::c_int = 7; pub const _PC_VDISABLE: ::c_int = 8; pub const _PC_SYNC_IO: ::c_int = 9; pub const _PC_ASYNC_IO: ::c_int = 10; pub const _PC_PRIO_IO: ::c_int = 11; pub const _PC_SOCK_MAXBUF: ::c_int = 12; pub const _PC_FILESIZEBITS: ::c_int = 13; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 14; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 15; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 16; pub const _PC_REC_XFER_ALIGN: ::c_int = 17; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 18; pub const _PC_SYMLINK_MAX: ::c_int = 19; pub const _PC_2_SYMLINKS: ::c_int = 20; pub const _SC_ARG_MAX: ::c_int = 0; pub const _SC_CHILD_MAX: ::c_int = 1; pub const _SC_CLK_TCK: ::c_int = 2; pub const _SC_NGROUPS_MAX: ::c_int = 3; pub const _SC_OPEN_MAX: ::c_int = 4; pub const _SC_STREAM_MAX: ::c_int = 5; pub const _SC_TZNAME_MAX: ::c_int = 6; pub const _SC_JOB_CONTROL: ::c_int = 7; pub const _SC_SAVED_IDS: ::c_int = 8; pub const _SC_REALTIME_SIGNALS: ::c_int = 9; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 10; pub const _SC_TIMERS: ::c_int = 11; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 12; pub const _SC_PRIORITIZED_IO: ::c_int = 13; pub const _SC_SYNCHRONIZED_IO: ::c_int = 14; pub const _SC_FSYNC: ::c_int = 15; pub const _SC_MAPPED_FILES: ::c_int = 16; pub const _SC_MEMLOCK: ::c_int = 17; pub const _SC_MEMLOCK_RANGE: ::c_int = 18; pub const _SC_MEMORY_PROTECTION: ::c_int = 19; pub const _SC_MESSAGE_PASSING: ::c_int = 20; pub const _SC_SEMAPHORES: ::c_int = 21; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 22; pub const _SC_AIO_LISTIO_MAX: ::c_int = 23; pub const _SC_AIO_MAX: ::c_int = 24; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 25; pub const _SC_DELAYTIMER_MAX: ::c_int = 26; pub const _SC_MQ_OPEN_MAX: ::c_int = 27; pub const _SC_MQ_PRIO_MAX: ::c_int = 28; pub const _SC_VERSION: ::c_int = 29; pub const _SC_PAGESIZE: ::c_int = 30; pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; pub const _SC_RTSIG_MAX: ::c_int = 31; pub const _SC_SEM_NSEMS_MAX: ::c_int = 32; pub const _SC_SEM_VALUE_MAX: ::c_int = 33; pub const _SC_SIGQUEUE_MAX: ::c_int = 34; pub const _SC_TIMER_MAX: ::c_int = 35; pub const _SC_BC_BASE_MAX: ::c_int = 36; pub const _SC_BC_DIM_MAX: ::c_int = 37; pub const _SC_BC_SCALE_MAX: ::c_int = 38; pub const _SC_BC_STRING_MAX: ::c_int = 39; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 40; pub const _SC_EXPR_NEST_MAX: ::c_int = 42; pub const _SC_LINE_MAX: ::c_int = 43; pub const _SC_RE_DUP_MAX: ::c_int = 44; pub const _SC_2_VERSION: ::c_int = 46; pub const _SC_2_C_BIND: ::c_int = 47; pub const _SC_2_C_DEV: ::c_int = 48; pub const _SC_2_FORT_DEV: ::c_int = 49; pub const _SC_2_FORT_RUN: ::c_int = 50; pub const _SC_2_SW_DEV: ::c_int = 51; pub const _SC_2_LOCALEDEF: ::c_int = 52; pub const _SC_UIO_MAXIOV: ::c_int = 60; pub const _SC_IOV_MAX: ::c_int = 60; pub const _SC_THREADS: ::c_int = 67; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 68; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 69; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 70; pub const _SC_LOGIN_NAME_MAX: ::c_int = 71; pub const _SC_TTY_NAME_MAX: ::c_int = 72; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 73; pub const _SC_THREAD_KEYS_MAX: ::c_int = 74; pub const _SC_THREAD_STACK_MIN: ::c_int = 75; pub const _SC_THREAD_THREADS_MAX: ::c_int = 76; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 77; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 78; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 79; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 80; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 81; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 82; pub const _SC_NPROCESSORS_CONF: ::c_int = 83; pub const _SC_NPROCESSORS_ONLN: ::c_int = 84; pub const _SC_PHYS_PAGES: ::c_int = 85; pub const _SC_AVPHYS_PAGES: ::c_int = 86; pub const _SC_ATEXIT_MAX: ::c_int = 87; pub const _SC_PASS_MAX: ::c_int = 88; pub const _SC_XOPEN_VERSION: ::c_int = 89; pub const _SC_XOPEN_XCU_VERSION: ::c_int = 90; pub const _SC_XOPEN_UNIX: ::c_int = 91; pub const _SC_XOPEN_CRYPT: ::c_int = 92; pub const _SC_XOPEN_ENH_I18N: ::c_int = 93; pub const _SC_XOPEN_SHM: ::c_int = 94; pub const _SC_2_CHAR_TERM: ::c_int = 95; pub const _SC_2_UPE: ::c_int = 97; pub const _SC_XOPEN_XPG2: ::c_int = 98; pub const _SC_XOPEN_XPG3: ::c_int = 99; pub const _SC_XOPEN_XPG4: ::c_int = 100; pub const _SC_NZERO: ::c_int = 109; pub const _SC_XBS5_ILP32_OFF32: ::c_int = 125; pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 126; pub const _SC_XBS5_LP64_OFF64: ::c_int = 127; pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 128; pub const _SC_XOPEN_LEGACY: ::c_int = 129; pub const _SC_XOPEN_REALTIME: ::c_int = 130; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 131; pub const _SC_ADVISORY_INFO: ::c_int = 132; pub const _SC_BARRIERS: ::c_int = 133; pub const _SC_CLOCK_SELECTION: ::c_int = 137; pub const _SC_CPUTIME: ::c_int = 138; pub const _SC_THREAD_CPUTIME: ::c_int = 139; pub const _SC_MONOTONIC_CLOCK: ::c_int = 149; pub const _SC_READER_WRITER_LOCKS: ::c_int = 153; pub const _SC_SPIN_LOCKS: ::c_int = 154; pub const _SC_REGEXP: ::c_int = 155; pub const _SC_SHELL: ::c_int = 157; pub const _SC_SPAWN: ::c_int = 159; pub const _SC_SPORADIC_SERVER: ::c_int = 160; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 161; pub const _SC_TIMEOUTS: ::c_int = 164; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 165; pub const _SC_2_PBS: ::c_int = 168; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 169; pub const _SC_2_PBS_LOCATE: ::c_int = 170; pub const _SC_2_PBS_MESSAGE: ::c_int = 171; pub const _SC_2_PBS_TRACK: ::c_int = 172; pub const _SC_SYMLOOP_MAX: ::c_int = 173; pub const _SC_STREAMS: ::c_int = 174; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 175; pub const _SC_V6_ILP32_OFF32: ::c_int = 176; pub const _SC_V6_ILP32_OFFBIG: ::c_int = 177; pub const _SC_V6_LP64_OFF64: ::c_int = 178; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 179; pub const _SC_HOST_NAME_MAX: ::c_int = 180; pub const _SC_TRACE: ::c_int = 181; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 182; pub const _SC_TRACE_INHERIT: ::c_int = 183; pub const _SC_TRACE_LOG: ::c_int = 184; pub const _SC_IPV6: ::c_int = 235; pub const _SC_RAW_SOCKETS: ::c_int = 236; pub const _SC_V7_ILP32_OFF32: ::c_int = 237; pub const _SC_V7_ILP32_OFFBIG: ::c_int = 238; pub const _SC_V7_LP64_OFF64: ::c_int = 239; pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 240; pub const _SC_SS_REPL_MAX: ::c_int = 241; pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 242; pub const _SC_TRACE_NAME_MAX: ::c_int = 243; pub const _SC_TRACE_SYS_MAX: ::c_int = 244; pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 245; pub const _SC_XOPEN_STREAMS: ::c_int = 246; pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 247; pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 248; pub const RLIM_SAVED_MAX: ::rlim_t = RLIM_INFINITY; pub const RLIM_SAVED_CUR: ::rlim_t = RLIM_INFINITY; pub const GLOB_ERR: ::c_int = 1 << 0; pub const GLOB_MARK: ::c_int = 1 << 1; pub const GLOB_NOSORT: ::c_int = 1 << 2; pub const GLOB_DOOFFS: ::c_int = 1 << 3; pub const GLOB_NOCHECK: ::c_int = 1 << 4; pub const GLOB_APPEND: ::c_int = 1 << 5; pub const GLOB_NOESCAPE: ::c_int = 1 << 6; pub const GLOB_NOSPACE: ::c_int = 1; pub const GLOB_ABORTED: ::c_int = 2; pub const GLOB_NOMATCH: ::c_int = 3; 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 S_IEXEC: mode_t = 64; pub const S_IWRITE: mode_t = 128; pub const S_IREAD: mode_t = 256; pub const F_LOCK: ::c_int = 1; pub const F_TEST: ::c_int = 3; pub const F_TLOCK: ::c_int = 2; pub const F_ULOCK: ::c_int = 0; pub const ST_RDONLY: ::c_ulong = 1; pub const ST_NOSUID: ::c_ulong = 2; pub const ST_NODEV: ::c_ulong = 4; pub const ST_NOEXEC: ::c_ulong = 8; pub const ST_SYNCHRONOUS: ::c_ulong = 16; pub const ST_MANDLOCK: ::c_ulong = 64; pub const ST_WRITE: ::c_ulong = 128; pub const ST_APPEND: ::c_ulong = 256; pub const ST_IMMUTABLE: ::c_ulong = 512; pub const ST_NOATIME: ::c_ulong = 1024; pub const ST_NODIRATIME: ::c_ulong = 2048; pub const RTLD_NEXT: *mut ::c_void = -1i64 as *mut ::c_void; 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], }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { size: [0; __SIZEOF_PTHREAD_COND_T], }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { size: [0; __SIZEOF_PTHREAD_RWLOCK_T], }; } 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_PROCESS_PRIVATE: ::c_int = 0; pub const PTHREAD_PROCESS_SHARED: ::c_int = 1; pub const __SIZEOF_PTHREAD_COND_T: usize = 48; pub const SCHED_OTHER: ::c_int = 0; pub const SCHED_FIFO: ::c_int = 1; pub const SCHED_RR: ::c_int = 2; pub const SCHED_BATCH: ::c_int = 3; pub const SCHED_IDLE: ::c_int = 5; pub const AF_IB: ::c_int = 27; pub const AF_MPLS: ::c_int = 28; pub const AF_NFC: ::c_int = 39; pub const AF_VSOCK: ::c_int = 40; pub const PF_IB: ::c_int = AF_IB; pub const PF_MPLS: ::c_int = AF_MPLS; pub const PF_NFC: ::c_int = AF_NFC; pub const PF_VSOCK: ::c_int = AF_VSOCK; // 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 MSG_STAT: ::c_int = 11; pub const MSG_INFO: ::c_int = 12; pub const MSG_NOERROR: ::c_int = 0o10000; pub const MSG_EXCEPT: ::c_int = 0o20000; pub const SHM_R: ::c_int = 0o400; pub const SHM_W: ::c_int = 0o200; pub const SHM_RDONLY: ::c_int = 0o10000; pub const SHM_RND: ::c_int = 0o20000; pub const SHM_REMAP: ::c_int = 0o40000; pub const SHM_EXEC: ::c_int = 0o100000; pub const SHM_LOCK: ::c_int = 11; 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; pub const EFD_SEMAPHORE: ::c_int = 0x1; pub const LOG_NFACILITIES: ::c_int = 24; pub const SEM_FAILED: *mut ::sem_t = 0 as *mut sem_t; pub const RB_AUTOBOOT: ::c_int = 0x01234567u32 as i32; pub const RB_HALT_SYSTEM: ::c_int = 0xcdef0123u32 as i32; pub const RB_ENABLE_CAD: ::c_int = 0x89abcdefu32 as i32; pub const RB_DISABLE_CAD: ::c_int = 0x00000000u32 as i32; pub const RB_POWER_OFF: ::c_int = 0x4321fedcu32 as i32; pub const RB_SW_SUSPEND: ::c_int = 0xd000fce2u32 as i32; pub const RB_KEXEC: ::c_int = 0x45584543u32 as i32; 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_FAMILY: ::c_int = -6; pub const EAI_SOCKTYPE: ::c_int = -7; pub const EAI_SERVICE: ::c_int = -8; pub const EAI_MEMORY: ::c_int = -10; pub const EAI_OVERFLOW: ::c_int = -12; 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 SYNC_FILE_RANGE_WAIT_BEFORE: ::c_uint = 1; pub const SYNC_FILE_RANGE_WRITE: ::c_uint = 2; pub const SYNC_FILE_RANGE_WAIT_AFTER: ::c_uint = 4; pub const EAI_SYSTEM: ::c_int = -11; pub const AIO_CANCELED: ::c_int = 0; pub const AIO_NOTCANCELED: ::c_int = 1; pub const AIO_ALLDONE: ::c_int = 2; pub const LIO_READ: ::c_int = 0; pub const LIO_WRITE: ::c_int = 1; pub const LIO_NOP: ::c_int = 2; pub const LIO_WAIT: ::c_int = 0; pub const LIO_NOWAIT: ::c_int = 1; pub const MREMAP_MAYMOVE: ::c_int = 1; pub const MREMAP_FIXED: ::c_int = 2; pub const PR_SET_PDEATHSIG: ::c_int = 1; pub const PR_GET_PDEATHSIG: ::c_int = 2; pub const PR_GET_DUMPABLE: ::c_int = 3; pub const PR_SET_DUMPABLE: ::c_int = 4; pub const PR_GET_UNALIGN: ::c_int = 5; pub const PR_SET_UNALIGN: ::c_int = 6; pub const PR_UNALIGN_NOPRINT: ::c_int = 1; pub const PR_UNALIGN_SIGBUS: ::c_int = 2; pub const PR_GET_KEEPCAPS: ::c_int = 7; pub const PR_SET_KEEPCAPS: ::c_int = 8; pub const PR_GET_FPEMU: ::c_int = 9; pub const PR_SET_FPEMU: ::c_int = 10; pub const PR_FPEMU_NOPRINT: ::c_int = 1; pub const PR_FPEMU_SIGFPE: ::c_int = 2; pub const PR_GET_FPEXC: ::c_int = 11; pub const PR_SET_FPEXC: ::c_int = 12; pub const PR_FP_EXC_SW_ENABLE: ::c_int = 0x80; pub const PR_FP_EXC_DIV: ::c_int = 0x010000; pub const PR_FP_EXC_OVF: ::c_int = 0x020000; pub const PR_FP_EXC_UND: ::c_int = 0x040000; pub const PR_FP_EXC_RES: ::c_int = 0x080000; pub const PR_FP_EXC_INV: ::c_int = 0x100000; pub const PR_FP_EXC_DISABLED: ::c_int = 0; pub const PR_FP_EXC_NONRECOV: ::c_int = 1; pub const PR_FP_EXC_ASYNC: ::c_int = 2; pub const PR_FP_EXC_PRECISE: ::c_int = 3; pub const PR_GET_TIMING: ::c_int = 13; pub const PR_SET_TIMING: ::c_int = 14; pub const PR_TIMING_STATISTICAL: ::c_int = 0; pub const PR_TIMING_TIMESTAMP: ::c_int = 1; pub const PR_SET_NAME: ::c_int = 15; pub const PR_GET_NAME: ::c_int = 16; pub const PR_GET_ENDIAN: ::c_int = 19; pub const PR_SET_ENDIAN: ::c_int = 20; pub const PR_ENDIAN_BIG: ::c_int = 0; pub const PR_ENDIAN_LITTLE: ::c_int = 1; pub const PR_ENDIAN_PPC_LITTLE: ::c_int = 2; pub const PR_GET_SECCOMP: ::c_int = 21; pub const PR_SET_SECCOMP: ::c_int = 22; pub const PR_CAPBSET_READ: ::c_int = 23; pub const PR_CAPBSET_DROP: ::c_int = 24; pub const PR_GET_TSC: ::c_int = 25; pub const PR_SET_TSC: ::c_int = 26; pub const PR_TSC_ENABLE: ::c_int = 1; pub const PR_TSC_SIGSEGV: ::c_int = 2; pub const PR_GET_SECUREBITS: ::c_int = 27; pub const PR_SET_SECUREBITS: ::c_int = 28; pub const PR_SET_TIMERSLACK: ::c_int = 29; pub const PR_GET_TIMERSLACK: ::c_int = 30; pub const PR_TASK_PERF_EVENTS_DISABLE: ::c_int = 31; pub const PR_TASK_PERF_EVENTS_ENABLE: ::c_int = 32; pub const PR_MCE_KILL: ::c_int = 33; pub const PR_MCE_KILL_CLEAR: ::c_int = 0; pub const PR_MCE_KILL_SET: ::c_int = 1; pub const PR_MCE_KILL_LATE: ::c_int = 0; pub const PR_MCE_KILL_EARLY: ::c_int = 1; pub const PR_MCE_KILL_DEFAULT: ::c_int = 2; pub const PR_MCE_KILL_GET: ::c_int = 34; pub const PR_SET_MM: ::c_int = 35; pub const PR_SET_MM_START_CODE: ::c_int = 1; pub const PR_SET_MM_END_CODE: ::c_int = 2; pub const PR_SET_MM_START_DATA: ::c_int = 3; pub const PR_SET_MM_END_DATA: ::c_int = 4; pub const PR_SET_MM_START_STACK: ::c_int = 5; pub const PR_SET_MM_START_BRK: ::c_int = 6; pub const PR_SET_MM_BRK: ::c_int = 7; pub const PR_SET_MM_ARG_START: ::c_int = 8; pub const PR_SET_MM_ARG_END: ::c_int = 9; pub const PR_SET_MM_ENV_START: ::c_int = 10; pub const PR_SET_MM_ENV_END: ::c_int = 11; pub const PR_SET_MM_AUXV: ::c_int = 12; pub const PR_SET_MM_EXE_FILE: ::c_int = 13; pub const PR_SET_MM_MAP: ::c_int = 14; pub const PR_SET_MM_MAP_SIZE: ::c_int = 15; pub const PR_SET_PTRACER: ::c_int = 0x59616d61; pub const PR_SET_CHILD_SUBREAPER: ::c_int = 36; pub const PR_GET_CHILD_SUBREAPER: ::c_int = 37; pub const PR_SET_NO_NEW_PRIVS: ::c_int = 38; pub const PR_GET_NO_NEW_PRIVS: ::c_int = 39; pub const PR_GET_TID_ADDRESS: ::c_int = 40; pub const PR_SET_THP_DISABLE: ::c_int = 41; pub const PR_GET_THP_DISABLE: ::c_int = 42; pub const PR_MPX_ENABLE_MANAGEMENT: ::c_int = 43; pub const PR_MPX_DISABLE_MANAGEMENT: ::c_int = 44; pub const PR_SET_FP_MODE: ::c_int = 45; pub const PR_GET_FP_MODE: ::c_int = 46; pub const PR_FP_MODE_FR: ::c_int = 1 << 0; pub const PR_FP_MODE_FRE: ::c_int = 1 << 1; pub const PR_CAP_AMBIENT: ::c_int = 47; pub const PR_CAP_AMBIENT_IS_SET: ::c_int = 1; pub const PR_CAP_AMBIENT_RAISE: ::c_int = 2; pub const PR_CAP_AMBIENT_LOWER: ::c_int = 3; pub const PR_CAP_AMBIENT_CLEAR_ALL: ::c_int = 4; 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; pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02; // On Linux, libc doesn't define this constant, libattr does instead. // We still define it for Linux as it's defined by libc on other platforms, // and it's mentioned in the man pages for getxattr and setxattr. pub const SFD_CLOEXEC: ::c_int = 0x080000; pub const NCCS: usize = 32; pub const O_TRUNC: ::c_int = 512; pub const O_NOATIME: ::c_int = 0o1000000; pub const O_CLOEXEC: ::c_int = 0x80000; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const BUFSIZ: ::c_uint = 1024; pub const TMP_MAX: ::c_uint = 10000; pub const FOPEN_MAX: ::c_uint = 1000; pub const O_PATH: ::c_int = 0o10000000; pub const O_EXEC: ::c_int = 0o10000000; pub const O_SEARCH: ::c_int = 0o10000000; pub const O_ACCMODE: ::c_int = 0o10000003; pub const O_NDELAY: ::c_int = O_NONBLOCK; pub const NI_MAXHOST: ::socklen_t = 255; pub const PTHREAD_STACK_MIN: ::size_t = 2048; pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const POSIX_MADV_DONTNEED: ::c_int = 0; pub const RLIM_INFINITY: ::rlim_t = !0; pub const RLIMIT_NLIMITS: ::c_int = 15; 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; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8; pub const CPU_SETSIZE: ::c_int = 128; pub const QFMT_VFS_V1: ::c_int = 4; pub const PTRACE_TRACEME: ::c_int = 0; pub const PTRACE_PEEKTEXT: ::c_int = 1; pub const PTRACE_PEEKDATA: ::c_int = 2; pub const PTRACE_PEEKUSER: ::c_int = 3; pub const PTRACE_POKETEXT: ::c_int = 4; pub const PTRACE_POKEDATA: ::c_int = 5; pub const PTRACE_POKEUSER: ::c_int = 6; pub const PTRACE_CONT: ::c_int = 7; pub const PTRACE_KILL: ::c_int = 8; pub const PTRACE_SINGLESTEP: ::c_int = 9; pub const PTRACE_ATTACH: ::c_int = 16; pub const PTRACE_DETACH: ::c_int = 17; pub const PTRACE_SYSCALL: ::c_int = 24; 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_SEIZE: ::c_int = 0x4206; 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; pub const PTRACE_SETFPXREGS: ::c_uint = 19; pub const PTRACE_GETREGS: ::c_uint = 12; pub const PTRACE_SETREGS: ::c_uint = 13; pub const EFD_NONBLOCK: ::c_int = ::O_NONBLOCK; pub const SFD_NONBLOCK: ::c_int = ::O_NONBLOCK; pub const TCSANOW: ::c_int = 0; pub const TCSADRAIN: ::c_int = 1; pub const TCSAFLUSH: ::c_int = 2; pub const TIOCINQ: ::c_int = ::FIONREAD; pub const RTLD_GLOBAL: ::c_int = 0x100; pub const RTLD_NOLOAD: ::c_int = 0x4; // TODO(#247) Temporarily musl-specific (available since musl 0.9.12 / Linux // kernel 3.10). See also linux_like/mod.rs pub const CLOCK_SGI_CYCLE: ::clockid_t = 10; pub const CLOCK_TAI: ::clockid_t = 11; pub const MCL_CURRENT: ::c_int = 0x0001; pub const MCL_FUTURE: ::c_int = 0x0002; pub const SIGSTKSZ: ::size_t = 8192; pub const MINSIGSTKSZ: ::size_t = 2048; 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 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 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 SO_BINDTODEVICE: ::c_int = 25; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_MARK: ::c_int = 36; 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 __SIZEOF_PTHREAD_RWLOCK_T: usize = 32; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 28; pub const O_DIRECT: ::c_int = 0x4000; pub const O_DIRECTORY: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x20000; pub const O_ASYNC: ::c_int = 0x2000; pub const FIOCLEX: ::c_int = 0x5451; 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_CPU: ::c_int = 0; pub const RLIMIT_FSIZE: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; pub const RLIMIT_STACK: ::c_int = 3; pub const RLIMIT_CORE: ::c_int = 4; pub const RLIMIT_LOCKS: ::c_int = 10; pub const RLIMIT_SIGPENDING: ::c_int = 11; pub const RLIMIT_MSGQUEUE: ::c_int = 12; pub const RLIMIT_NICE: ::c_int = 13; pub const RLIMIT_RTPRIO: ::c_int = 14; 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 SOCK_NONBLOCK: ::c_int = 2048; 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 SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOL_SOCKET: ::c_int = 1; 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 EDEADLOCK: ::c_int = EDEADLK; pub const EMULTIHOP: ::c_int = 72; 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 ENOTSUP: ::c_int = EOPNOTSUPP; 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 ERFKILL: ::c_int = 132; pub const EHWPOISON: ::c_int = 133; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_LINGER: ::c_int = 13; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_ACCEPTCONN: ::c_int = 30; 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 EXTPROC: ::tcflag_t = 0x00010000; pub const MAP_HUGETLB: ::c_int = 0x040000; pub const F_GETLK: ::c_int = 12; pub const F_GETOWN: ::c_int = 9; pub const F_SETLK: ::c_int = 13; pub const F_SETLKW: ::c_int = 14; pub const F_SETOWN: ::c_int = 8; pub const VEOF: usize = 4; 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 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 SYS_gettid: ::c_long = 224; // Valid for arm (32-bit) and x86 (32-bit) 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; pub const O_TMPFILE: ::c_int = 0x400000; pub const MAX_ADDR_LEN: usize = 7; pub const ARPD_UPDATE: ::c_ushort = 0x01; pub const ARPD_LOOKUP: ::c_ushort = 0x02; pub const ARPD_FLUSH: ::c_ushort = 0x03; pub const ATF_MAGIC: ::c_int = 0x80; f! { pub fn CMSG_NXTHDR(mhdr: *const msghdr, cmsg: *const cmsghdr) -> *mut cmsghdr { if ((*cmsg).cmsg_len as usize) < ::mem::size_of::() { return 0 as *mut cmsghdr; }; let next = (cmsg as usize + super::CMSG_ALIGN((*cmsg).cmsg_len as usize)) as *mut cmsghdr; let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if (next.offset(1)) as usize > max { 0 as *mut cmsghdr } else { next as *mut cmsghdr } } pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () { for slot in cpuset.bits.iter_mut() { *slot = 0; } } 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); 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); 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); 0 != (cpuset.bits[idx] & (1 << offset)) } pub fn CPU_EQUAL(set1: &cpu_set_t, set2: &cpu_set_t) -> bool { set1.bits == set2.bits } pub fn major(dev: ::dev_t) -> ::c_uint { // see // https://github.com/kripken/emscripten/blob/ // master/system/include/libc/sys/sysmacros.h let mut major = 0; major |= (dev & 0x00000fff) >> 8; major |= (dev & 0xfffff000) >> 31 >> 1; major as ::c_uint } pub fn minor(dev: ::dev_t) -> ::c_uint { // see // https://github.com/kripken/emscripten/blob/ // master/system/include/libc/sys/sysmacros.h let mut minor = 0; minor |= (dev & 0x000000ff) >> 0; minor |= (dev & 0xffffff00) >> 12; minor as ::c_uint } pub fn makedev(major: ::c_uint, minor: ::c_uint) -> ::dev_t { let major = major as ::dev_t; let minor = minor as ::dev_t; let mut dev = 0; dev |= (major & 0x00000fff) << 8; dev |= (major & 0xfffff000) << 31 << 1; dev |= (minor & 0x000000ff) << 0; dev |= (minor & 0xffffff00) << 12; dev } } extern "C" { pub fn getrlimit64(resource: ::c_int, rlim: *mut rlimit64) -> ::c_int; pub fn setrlimit64(resource: ::c_int, rlim: *const rlimit64) -> ::c_int; pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::c_int; pub fn abs(i: ::c_int) -> ::c_int; pub fn atof(s: *const ::c_char) -> ::c_double; pub fn labs(i: ::c_long) -> ::c_long; pub fn rand() -> ::c_int; pub fn srand(seed: ::c_uint); pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; pub fn setpwent(); pub fn endpwent(); pub fn getpwent() -> *mut passwd; pub fn shm_open( name: *const c_char, oflag: ::c_int, mode: mode_t, ) -> ::c_int; pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn __errno_location() -> *mut ::c_int; pub fn fopen64( filename: *const c_char, mode: *const c_char, ) -> *mut ::FILE; pub fn freopen64( filename: *const c_char, mode: *const c_char, file: *mut ::FILE, ) -> *mut ::FILE; pub fn tmpfile64() -> *mut ::FILE; pub fn fgetpos64(stream: *mut ::FILE, ptr: *mut fpos64_t) -> ::c_int; pub fn fsetpos64(stream: *mut ::FILE, ptr: *const fpos64_t) -> ::c_int; pub fn fseeko64( stream: *mut ::FILE, offset: ::off64_t, whence: ::c_int, ) -> ::c_int; pub fn ftello64(stream: *mut ::FILE) -> ::off64_t; pub fn posix_fallocate( fd: ::c_int, offset: ::off_t, len: ::off_t, ) -> ::c_int; pub fn pwritev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn preadv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn dup3(oldfd: ::c_int, newfd: ::c_int, flags: ::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; pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::socklen_t, serv: *mut ::c_char, sevlen: ::socklen_t, flags: ::c_int, ) -> ::c_int; pub fn getloadavg(loadavg: *mut ::c_double, nelem: ::c_int) -> ::c_int; // Not available now on Android pub fn mkfifoat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, ) -> ::c_int; pub fn if_nameindex() -> *mut if_nameindex; pub fn if_freenameindex(ptr: *mut if_nameindex); pub fn mremap( addr: *mut ::c_void, len: ::size_t, new_len: ::size_t, flags: ::c_int, ... ) -> *mut ::c_void; pub fn glob( pattern: *const c_char, flags: ::c_int, errfunc: ::Option< extern "C" fn(epath: *const c_char, errno: ::c_int) -> ::c_int, >, pglob: *mut ::glob_t, ) -> ::c_int; pub fn globfree(pglob: *mut ::glob_t); pub fn posix_madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn shm_unlink(name: *const ::c_char) -> ::c_int; pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long); pub fn telldir(dirp: *mut ::DIR) -> ::c_long; pub fn madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn msync( addr: *mut ::c_void, len: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn recvfrom( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::ssize_t; pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int; pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char; pub fn getdomainname(name: *mut ::c_char, len: ::size_t) -> ::c_int; pub fn setdomainname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn sendmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::c_uint, flags: ::c_uint, ) -> ::c_int; pub fn recvmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::c_uint, flags: ::c_uint, timeout: *mut ::timespec, ) -> ::c_int; pub fn sync(); pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; 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_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; } cfg_if! { if #[cfg(libc_align)] { #[macro_use] mod align; } else { #[macro_use] mod no_align; } } expand_align!(); libc-0.2.66/src/unix/linux_like/emscripten/no_align.rs010064400007650000024000000040221353775267200211760ustar0000000000000000macro_rules! expand_align { () => { s! { pub struct pthread_mutex_t { __align: [::c_long; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } pub struct pthread_rwlock_t { __align: [::c_long; 0], size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } pub struct pthread_mutexattr_t { __align: [::c_int; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } pub struct pthread_rwlockattr_t { __align: [::c_int; 0], size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], } pub struct pthread_condattr_t { __align: [::c_int; 0], size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } s_no_extra_traits! { pub struct pthread_cond_t { __align: [*const ::c_void; 0], size: [u8; ::__SIZEOF_PTHREAD_COND_T], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for pthread_cond_t { fn eq(&self, other: &pthread_cond_t) -> bool { self.size .iter() .zip(other.size.iter()) .all(|(a,b)| a == b) } } impl Eq for pthread_cond_t {} impl ::fmt::Debug for pthread_cond_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_cond_t") // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_cond_t { fn hash(&self, state: &mut H) { self.size.hash(state); } } } } }; } libc-0.2.66/src/unix/linux_like/linux/align.rs010064400007650000024000000110431357020644200174530ustar0000000000000000macro_rules! expand_align { () => { s! { #[cfg_attr(any(target_pointer_width = "32", target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64", target_arch = "aarch64"), repr(align(4)))] #[cfg_attr(not(any(target_pointer_width = "32", target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64", target_arch = "aarch64")), repr(align(8)))] pub struct pthread_mutexattr_t { #[doc(hidden)] size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } #[cfg_attr(any(target_env = "musl", target_pointer_width = "32"), repr(align(4)))] #[cfg_attr(all(not(target_env = "musl"), target_pointer_width = "64"), repr(align(8)))] pub struct pthread_rwlockattr_t { #[doc(hidden)] size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], } #[repr(align(4))] pub struct pthread_condattr_t { #[doc(hidden)] size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } s_no_extra_traits! { #[cfg_attr(all(target_env = "musl", target_pointer_width = "32"), repr(align(4)))] #[cfg_attr(all(target_env = "musl", target_pointer_width = "64"), repr(align(8)))] #[cfg_attr(all(not(target_env = "musl"), target_arch = "x86"), repr(align(4)))] #[cfg_attr(all(not(target_env = "musl"), not(target_arch = "x86")), repr(align(8)))] pub struct pthread_cond_t { #[doc(hidden)] size: [u8; ::__SIZEOF_PTHREAD_COND_T], } #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "mips", target_arch = "arm", target_arch = "hexagon", target_arch = "powerpc", target_arch = "sparc", target_arch = "x86_64", target_arch = "x86")), repr(align(4)))] #[cfg_attr(any(target_pointer_width = "64", not(any(target_arch = "mips", target_arch = "arm", target_arch = "hexagon", target_arch = "powerpc", target_arch = "sparc", target_arch = "x86_64", target_arch = "x86"))), repr(align(8)))] pub struct pthread_mutex_t { #[doc(hidden)] size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "mips", target_arch = "arm", target_arch = "hexagon", target_arch = "powerpc", target_arch = "sparc", target_arch = "x86_64", target_arch = "x86")), repr(align(4)))] #[cfg_attr(any(target_pointer_width = "64", not(any(target_arch = "mips", target_arch = "arm", target_arch = "hexagon", target_arch = "powerpc", target_arch = "sparc", target_arch = "x86_64", target_arch = "x86"))), repr(align(8)))] pub struct pthread_rwlock_t { size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } } }; } libc-0.2.66/src/unix/linux_like/linux/gnu/align.rs010064400007650000024000000005721353453276600202640ustar0000000000000000s! { // FIXME this is actually a union #[cfg_attr(target_pointer_width = "32", repr(align(4)))] #[cfg_attr(target_pointer_width = "64", repr(align(8)))] pub struct sem_t { #[cfg(target_pointer_width = "32")] __size: [::c_char; 16], #[cfg(target_pointer_width = "64")] __size: [::c_char; 32], } } libc-0.2.66/src/unix/linux_like/linux/gnu/b32/arm/align.rs010064400007650000024000000002241355140103400214010ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(8))] pub struct max_align_t { priv_: [i64; 2] } } libc-0.2.66/src/unix/linux_like/linux/gnu/b32/arm/mod.rs010064400007650000024000000747371357020644200211210ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } 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, f_spare: [::__fsword_t; 5], } 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 { 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 stat64 { pub st_dev: ::dev_t, __pad1: ::c_uint, __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_uint, 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_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_ino: ::ino64_t, } pub struct statfs64 { pub f_type: ::__fsword_t, pub f_bsize: ::__fsword_t, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, 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: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, 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, __unused1: ::c_ulong, pub shm_dtime: ::time_t, __unused2: ::c_ulong, pub shm_ctime: ::time_t, __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 struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, __glibc_reserved1: ::c_ulong, pub msg_rtime: ::time_t, __glibc_reserved2: ::c_ulong, pub msg_ctime: ::time_t, __glibc_reserved3: ::c_ulong, __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 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, 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: [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 = 0o400000; 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_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 SOL_SOCKET: ::c_int = 1; 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 SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_LINGER: ::c_int = 13; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; 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 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; pub const POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; pub const F_GETLK: ::c_int = 5; pub const F_GETOWN: ::c_int = 9; pub const F_SETOWN: ::c_int = 8; 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 BOTHER: ::speed_t = 0o010000; 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 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; 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_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_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_lseek: ::c_long = 19; pub const SYS_getpid: ::c_long = 20; pub const SYS_mount: ::c_long = 21; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_ptrace: ::c_long = 26; pub const SYS_pause: ::c_long = 29; 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_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_getrusage: ::c_long = 77; pub const SYS_gettimeofday: ::c_long = 78; pub const SYS_settimeofday: ::c_long = 79; pub const SYS_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_symlink: ::c_long = 83; 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_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_fchown: ::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_syslog: ::c_long = 103; pub const SYS_setitimer: ::c_long = 104; pub const SYS_getitimer: ::c_long = 105; pub const SYS_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::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_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_uname: ::c_long = 122; pub const SYS_adjtimex: ::c_long = 124; pub const SYS_mprotect: ::c_long = 125; pub const SYS_sigprocmask: ::c_long = 126; pub const SYS_init_module: ::c_long = 128; pub const SYS_delete_module: ::c_long = 129; 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_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; pub const SYS__newselect: ::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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_poll: ::c_long = 168; pub const SYS_nfsservctl: ::c_long = 169; pub const SYS_setresgid: ::c_long = 170; pub const SYS_getresgid: ::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: ::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_chown: ::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_vfork: ::c_long = 190; pub const SYS_ugetrlimit: ::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_lchown32: ::c_long = 198; pub const SYS_getuid32: ::c_long = 199; pub const SYS_getgid32: ::c_long = 200; pub const SYS_geteuid32: ::c_long = 201; pub const SYS_getegid32: ::c_long = 202; pub const SYS_setreuid32: ::c_long = 203; pub const SYS_setregid32: ::c_long = 204; pub const SYS_getgroups32: ::c_long = 205; pub const SYS_setgroups32: ::c_long = 206; pub const SYS_fchown32: ::c_long = 207; pub const SYS_setresuid32: ::c_long = 208; pub const SYS_getresuid32: ::c_long = 209; pub const SYS_setresgid32: ::c_long = 210; pub const SYS_getresgid32: ::c_long = 211; pub const SYS_chown32: ::c_long = 212; pub const SYS_setuid32: ::c_long = 213; pub const SYS_setgid32: ::c_long = 214; pub const SYS_setfsuid32: ::c_long = 215; pub const SYS_setfsgid32: ::c_long = 216; pub const SYS_getdents64: ::c_long = 217; pub const SYS_pivot_root: ::c_long = 218; pub const SYS_mincore: ::c_long = 219; pub const SYS_madvise: ::c_long = 220; pub const SYS_fcntl64: ::c_long = 221; pub const SYS_gettid: ::c_long = 224; pub const SYS_readahead: ::c_long = 225; pub const SYS_setxattr: ::c_long = 226; pub const SYS_lsetxattr: ::c_long = 227; pub const SYS_fsetxattr: ::c_long = 228; pub const SYS_getxattr: ::c_long = 229; pub const SYS_lgetxattr: ::c_long = 230; pub const SYS_fgetxattr: ::c_long = 231; pub const SYS_listxattr: ::c_long = 232; pub const SYS_llistxattr: ::c_long = 233; pub const SYS_flistxattr: ::c_long = 234; pub const SYS_removexattr: ::c_long = 235; pub const SYS_lremovexattr: ::c_long = 236; pub const SYS_fremovexattr: ::c_long = 237; pub const SYS_tkill: ::c_long = 238; pub const SYS_sendfile64: ::c_long = 239; pub const SYS_futex: ::c_long = 240; pub const SYS_sched_setaffinity: ::c_long = 241; pub const SYS_sched_getaffinity: ::c_long = 242; pub const SYS_io_setup: ::c_long = 243; pub const SYS_io_destroy: ::c_long = 244; pub const SYS_io_getevents: ::c_long = 245; pub const SYS_io_submit: ::c_long = 246; pub const SYS_io_cancel: ::c_long = 247; pub const SYS_exit_group: ::c_long = 248; pub const SYS_lookup_dcookie: ::c_long = 249; pub const SYS_epoll_create: ::c_long = 250; pub const SYS_epoll_ctl: ::c_long = 251; pub const SYS_epoll_wait: ::c_long = 252; pub const SYS_remap_file_pages: ::c_long = 253; pub const SYS_set_tid_address: ::c_long = 256; pub const SYS_timer_create: ::c_long = 257; pub const SYS_timer_settime: ::c_long = 258; pub const SYS_timer_gettime: ::c_long = 259; pub const SYS_timer_getoverrun: ::c_long = 260; pub const SYS_timer_delete: ::c_long = 261; pub const SYS_clock_settime: ::c_long = 262; pub const SYS_clock_gettime: ::c_long = 263; pub const SYS_clock_getres: ::c_long = 264; pub const SYS_clock_nanosleep: ::c_long = 265; pub const SYS_statfs64: ::c_long = 266; pub const SYS_fstatfs64: ::c_long = 267; pub const SYS_tgkill: ::c_long = 268; pub const SYS_utimes: ::c_long = 269; pub const SYS_arm_fadvise64_64: ::c_long = 270; pub const SYS_pciconfig_iobase: ::c_long = 271; pub const SYS_pciconfig_read: ::c_long = 272; pub const SYS_pciconfig_write: ::c_long = 273; pub const SYS_mq_open: ::c_long = 274; pub const SYS_mq_unlink: ::c_long = 275; pub const SYS_mq_timedsend: ::c_long = 276; pub const SYS_mq_timedreceive: ::c_long = 277; pub const SYS_mq_notify: ::c_long = 278; pub const SYS_mq_getsetattr: ::c_long = 279; pub const SYS_waitid: ::c_long = 280; pub const SYS_socket: ::c_long = 281; pub const SYS_bind: ::c_long = 282; pub const SYS_connect: ::c_long = 283; pub const SYS_listen: ::c_long = 284; pub const SYS_accept: ::c_long = 285; pub const SYS_getsockname: ::c_long = 286; pub const SYS_getpeername: ::c_long = 287; pub const SYS_socketpair: ::c_long = 288; pub const SYS_send: ::c_long = 289; pub const SYS_sendto: ::c_long = 290; pub const SYS_recv: ::c_long = 291; pub const SYS_recvfrom: ::c_long = 292; pub const SYS_shutdown: ::c_long = 293; pub const SYS_setsockopt: ::c_long = 294; pub const SYS_getsockopt: ::c_long = 295; pub const SYS_sendmsg: ::c_long = 296; pub const SYS_recvmsg: ::c_long = 297; pub const SYS_semop: ::c_long = 298; pub const SYS_semget: ::c_long = 299; pub const SYS_semctl: ::c_long = 300; pub const SYS_msgsnd: ::c_long = 301; pub const SYS_msgrcv: ::c_long = 302; pub const SYS_msgget: ::c_long = 303; pub const SYS_msgctl: ::c_long = 304; pub const SYS_shmat: ::c_long = 305; pub const SYS_shmdt: ::c_long = 306; pub const SYS_shmget: ::c_long = 307; pub const SYS_shmctl: ::c_long = 308; pub const SYS_add_key: ::c_long = 309; pub const SYS_request_key: ::c_long = 310; pub const SYS_keyctl: ::c_long = 311; pub const SYS_semtimedop: ::c_long = 312; pub const SYS_vserver: ::c_long = 313; pub const SYS_ioprio_set: ::c_long = 314; pub const SYS_ioprio_get: ::c_long = 315; pub const SYS_inotify_init: ::c_long = 316; pub const SYS_inotify_add_watch: ::c_long = 317; pub const SYS_inotify_rm_watch: ::c_long = 318; pub const SYS_mbind: ::c_long = 319; pub const SYS_get_mempolicy: ::c_long = 320; pub const SYS_set_mempolicy: ::c_long = 321; pub const SYS_openat: ::c_long = 322; pub const SYS_mkdirat: ::c_long = 323; pub const SYS_mknodat: ::c_long = 324; pub const SYS_fchownat: ::c_long = 325; pub const SYS_futimesat: ::c_long = 326; pub const SYS_fstatat64: ::c_long = 327; pub const SYS_unlinkat: ::c_long = 328; pub const SYS_renameat: ::c_long = 329; pub const SYS_linkat: ::c_long = 330; pub const SYS_symlinkat: ::c_long = 331; pub const SYS_readlinkat: ::c_long = 332; pub const SYS_fchmodat: ::c_long = 333; pub const SYS_faccessat: ::c_long = 334; pub const SYS_pselect6: ::c_long = 335; pub const SYS_ppoll: ::c_long = 336; pub const SYS_unshare: ::c_long = 337; pub const SYS_set_robust_list: ::c_long = 338; pub const SYS_get_robust_list: ::c_long = 339; pub const SYS_splice: ::c_long = 340; pub const SYS_arm_sync_file_range: ::c_long = 341; pub const SYS_tee: ::c_long = 342; pub const SYS_vmsplice: ::c_long = 343; pub const SYS_move_pages: ::c_long = 344; pub const SYS_getcpu: ::c_long = 345; pub const SYS_epoll_pwait: ::c_long = 346; pub const SYS_kexec_load: ::c_long = 347; pub const SYS_utimensat: ::c_long = 348; pub const SYS_signalfd: ::c_long = 349; pub const SYS_timerfd_create: ::c_long = 350; pub const SYS_eventfd: ::c_long = 351; pub const SYS_fallocate: ::c_long = 352; pub const SYS_timerfd_settime: ::c_long = 353; pub const SYS_timerfd_gettime: ::c_long = 354; pub const SYS_signalfd4: ::c_long = 355; pub const SYS_eventfd2: ::c_long = 356; pub const SYS_epoll_create1: ::c_long = 357; pub const SYS_dup3: ::c_long = 358; pub const SYS_pipe2: ::c_long = 359; pub const SYS_inotify_init1: ::c_long = 360; pub const SYS_preadv: ::c_long = 361; pub const SYS_pwritev: ::c_long = 362; pub const SYS_rt_tgsigqueueinfo: ::c_long = 363; pub const SYS_perf_event_open: ::c_long = 364; pub const SYS_recvmmsg: ::c_long = 365; pub const SYS_accept4: ::c_long = 366; pub const SYS_fanotify_init: ::c_long = 367; pub const SYS_fanotify_mark: ::c_long = 368; pub const SYS_prlimit64: ::c_long = 369; pub const SYS_name_to_handle_at: ::c_long = 370; pub const SYS_open_by_handle_at: ::c_long = 371; pub const SYS_clock_adjtime: ::c_long = 372; pub const SYS_syncfs: ::c_long = 373; pub const SYS_sendmmsg: ::c_long = 374; pub const SYS_setns: ::c_long = 375; pub const SYS_process_vm_readv: ::c_long = 376; pub const SYS_process_vm_writev: ::c_long = 377; pub const SYS_kcmp: ::c_long = 378; pub const SYS_finit_module: ::c_long = 379; pub const SYS_sched_setattr: ::c_long = 380; pub const SYS_sched_getattr: ::c_long = 381; pub const SYS_renameat2: ::c_long = 382; pub const SYS_seccomp: ::c_long = 383; pub const SYS_getrandom: ::c_long = 384; pub const SYS_memfd_create: ::c_long = 385; pub const SYS_bpf: ::c_long = 386; pub const SYS_execveat: ::c_long = 387; pub const SYS_userfaultfd: ::c_long = 388; pub const SYS_membarrier: ::c_long = 389; pub const SYS_mlock2: ::c_long = 390; pub const SYS_copy_file_range: ::c_long = 391; pub const SYS_preadv2: ::c_long = 392; 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_long = 397; cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/b32/mips/align.rs010064400007650000024000000002241355140103400215720ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(8))] pub struct max_align_t { priv_: [f32; 4] } } libc-0.2.66/src/unix/linux_like/linux/gnu/b32/mips/mod.rs010064400007650000024000001036001357020644200212700ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; s! { pub struct stat64 { pub st_dev: ::c_ulong, st_pad1: [::c_long; 3], 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: ::c_ulong, st_pad2: [::c_long; 2], pub st_size: ::off64_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_blksize: ::blksize_t, st_pad3: ::c_long, pub st_blocks: ::blkcnt64_t, st_pad5: [::c_long; 14], } pub struct statfs { pub f_type: ::c_long, pub f_bsize: ::c_long, pub f_frsize: ::c_long, pub f_blocks: ::fsblkcnt_t, pub f_bfree: ::fsblkcnt_t, pub f_files: ::fsblkcnt_t, pub f_ffree: ::fsblkcnt_t, pub f_bavail: ::fsblkcnt_t, pub f_fsid: ::fsid_t, pub f_namelen: ::c_long, f_spare: [::c_long; 6], } pub struct statfs64 { pub f_type: ::c_long, pub f_bsize: ::c_long, pub f_frsize: ::c_long, pub f_blocks: u64, pub f_bfree: u64, pub f_files: u64, pub f_ffree: u64, pub f_bavail: u64, pub f_fsid: ::fsid_t, pub f_namelen: ::c_long, pub f_flags: ::c_long, pub f_spare: [::c_long; 5], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, 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 sigaction { pub sa_flags: ::c_int, pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_restorer: ::Option, _resv: [::c_int; 1], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, pub si_errno: ::c_int, pub _pad: [::c_int; 29], } 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_uint, pub __seq: ::c_ushort, __pad1: ::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, __unused4: ::c_ulong, __unused5: ::c_ulong } pub struct msqid_ds { pub msg_perm: ::ipc_perm, #[cfg(target_endian = "big")] __glibc_reserved1: ::c_ulong, pub msg_stime: ::time_t, #[cfg(target_endian = "little")] __glibc_reserved1: ::c_ulong, #[cfg(target_endian = "big")] __glibc_reserved2: ::c_ulong, pub msg_rtime: ::time_t, #[cfg(target_endian = "little")] __glibc_reserved2: ::c_ulong, #[cfg(target_endian = "big")] __glibc_reserved3: ::c_ulong, pub msg_ctime: ::time_t, #[cfg(target_endian = "little")] __glibc_reserved3: ::c_ulong, __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 flock { pub l_type: ::c_short, pub l_whence: ::c_short, pub l_start: ::off_t, pub l_len: ::off_t, pub l_sysid: ::c_long, 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; pub const SYS_syscall: ::c_long = 4000 + 0; pub const SYS_exit: ::c_long = 4000 + 1; pub const SYS_fork: ::c_long = 4000 + 2; pub const SYS_read: ::c_long = 4000 + 3; pub const SYS_write: ::c_long = 4000 + 4; pub const SYS_open: ::c_long = 4000 + 5; pub const SYS_close: ::c_long = 4000 + 6; pub const SYS_waitpid: ::c_long = 4000 + 7; pub const SYS_creat: ::c_long = 4000 + 8; pub const SYS_link: ::c_long = 4000 + 9; pub const SYS_unlink: ::c_long = 4000 + 10; pub const SYS_execve: ::c_long = 4000 + 11; pub const SYS_chdir: ::c_long = 4000 + 12; pub const SYS_time: ::c_long = 4000 + 13; pub const SYS_mknod: ::c_long = 4000 + 14; pub const SYS_chmod: ::c_long = 4000 + 15; pub const SYS_lchown: ::c_long = 4000 + 16; pub const SYS_break: ::c_long = 4000 + 17; pub const SYS_lseek: ::c_long = 4000 + 19; pub const SYS_getpid: ::c_long = 4000 + 20; pub const SYS_mount: ::c_long = 4000 + 21; pub const SYS_umount: ::c_long = 4000 + 22; pub const SYS_setuid: ::c_long = 4000 + 23; pub const SYS_getuid: ::c_long = 4000 + 24; pub const SYS_stime: ::c_long = 4000 + 25; pub const SYS_ptrace: ::c_long = 4000 + 26; pub const SYS_alarm: ::c_long = 4000 + 27; pub const SYS_pause: ::c_long = 4000 + 29; pub const SYS_utime: ::c_long = 4000 + 30; pub const SYS_stty: ::c_long = 4000 + 31; pub const SYS_gtty: ::c_long = 4000 + 32; pub const SYS_access: ::c_long = 4000 + 33; pub const SYS_nice: ::c_long = 4000 + 34; pub const SYS_ftime: ::c_long = 4000 + 35; pub const SYS_sync: ::c_long = 4000 + 36; pub const SYS_kill: ::c_long = 4000 + 37; pub const SYS_rename: ::c_long = 4000 + 38; pub const SYS_mkdir: ::c_long = 4000 + 39; pub const SYS_rmdir: ::c_long = 4000 + 40; pub const SYS_dup: ::c_long = 4000 + 41; pub const SYS_pipe: ::c_long = 4000 + 42; pub const SYS_times: ::c_long = 4000 + 43; pub const SYS_prof: ::c_long = 4000 + 44; pub const SYS_brk: ::c_long = 4000 + 45; pub const SYS_setgid: ::c_long = 4000 + 46; pub const SYS_getgid: ::c_long = 4000 + 47; pub const SYS_signal: ::c_long = 4000 + 48; pub const SYS_geteuid: ::c_long = 4000 + 49; pub const SYS_getegid: ::c_long = 4000 + 50; pub const SYS_acct: ::c_long = 4000 + 51; pub const SYS_umount2: ::c_long = 4000 + 52; pub const SYS_lock: ::c_long = 4000 + 53; pub const SYS_ioctl: ::c_long = 4000 + 54; pub const SYS_fcntl: ::c_long = 4000 + 55; pub const SYS_mpx: ::c_long = 4000 + 56; pub const SYS_setpgid: ::c_long = 4000 + 57; pub const SYS_ulimit: ::c_long = 4000 + 58; pub const SYS_umask: ::c_long = 4000 + 60; pub const SYS_chroot: ::c_long = 4000 + 61; pub const SYS_ustat: ::c_long = 4000 + 62; pub const SYS_dup2: ::c_long = 4000 + 63; pub const SYS_getppid: ::c_long = 4000 + 64; pub const SYS_getpgrp: ::c_long = 4000 + 65; pub const SYS_setsid: ::c_long = 4000 + 66; pub const SYS_sigaction: ::c_long = 4000 + 67; pub const SYS_sgetmask: ::c_long = 4000 + 68; pub const SYS_ssetmask: ::c_long = 4000 + 69; pub const SYS_setreuid: ::c_long = 4000 + 70; pub const SYS_setregid: ::c_long = 4000 + 71; pub const SYS_sigsuspend: ::c_long = 4000 + 72; pub const SYS_sigpending: ::c_long = 4000 + 73; pub const SYS_sethostname: ::c_long = 4000 + 74; pub const SYS_setrlimit: ::c_long = 4000 + 75; pub const SYS_getrlimit: ::c_long = 4000 + 76; pub const SYS_getrusage: ::c_long = 4000 + 77; pub const SYS_gettimeofday: ::c_long = 4000 + 78; pub const SYS_settimeofday: ::c_long = 4000 + 79; pub const SYS_getgroups: ::c_long = 4000 + 80; pub const SYS_setgroups: ::c_long = 4000 + 81; pub const SYS_symlink: ::c_long = 4000 + 83; pub const SYS_readlink: ::c_long = 4000 + 85; pub const SYS_uselib: ::c_long = 4000 + 86; pub const SYS_swapon: ::c_long = 4000 + 87; pub const SYS_reboot: ::c_long = 4000 + 88; pub const SYS_readdir: ::c_long = 4000 + 89; pub const SYS_mmap: ::c_long = 4000 + 90; pub const SYS_munmap: ::c_long = 4000 + 91; pub const SYS_truncate: ::c_long = 4000 + 92; pub const SYS_ftruncate: ::c_long = 4000 + 93; pub const SYS_fchmod: ::c_long = 4000 + 94; pub const SYS_fchown: ::c_long = 4000 + 95; pub const SYS_getpriority: ::c_long = 4000 + 96; pub const SYS_setpriority: ::c_long = 4000 + 97; pub const SYS_profil: ::c_long = 4000 + 98; pub const SYS_statfs: ::c_long = 4000 + 99; pub const SYS_fstatfs: ::c_long = 4000 + 100; pub const SYS_ioperm: ::c_long = 4000 + 101; pub const SYS_socketcall: ::c_long = 4000 + 102; pub const SYS_syslog: ::c_long = 4000 + 103; pub const SYS_setitimer: ::c_long = 4000 + 104; pub const SYS_getitimer: ::c_long = 4000 + 105; pub const SYS_stat: ::c_long = 4000 + 106; pub const SYS_lstat: ::c_long = 4000 + 107; pub const SYS_fstat: ::c_long = 4000 + 108; pub const SYS_iopl: ::c_long = 4000 + 110; pub const SYS_vhangup: ::c_long = 4000 + 111; pub const SYS_idle: ::c_long = 4000 + 112; pub const SYS_vm86: ::c_long = 4000 + 113; pub const SYS_wait4: ::c_long = 4000 + 114; pub const SYS_swapoff: ::c_long = 4000 + 115; pub const SYS_sysinfo: ::c_long = 4000 + 116; pub const SYS_ipc: ::c_long = 4000 + 117; pub const SYS_fsync: ::c_long = 4000 + 118; pub const SYS_sigreturn: ::c_long = 4000 + 119; pub const SYS_clone: ::c_long = 4000 + 120; pub const SYS_setdomainname: ::c_long = 4000 + 121; pub const SYS_uname: ::c_long = 4000 + 122; pub const SYS_modify_ldt: ::c_long = 4000 + 123; pub const SYS_adjtimex: ::c_long = 4000 + 124; pub const SYS_mprotect: ::c_long = 4000 + 125; pub const SYS_sigprocmask: ::c_long = 4000 + 126; pub const SYS_create_module: ::c_long = 4000 + 127; pub const SYS_init_module: ::c_long = 4000 + 128; pub const SYS_delete_module: ::c_long = 4000 + 129; pub const SYS_get_kernel_syms: ::c_long = 4000 + 130; pub const SYS_quotactl: ::c_long = 4000 + 131; pub const SYS_getpgid: ::c_long = 4000 + 132; pub const SYS_fchdir: ::c_long = 4000 + 133; pub const SYS_bdflush: ::c_long = 4000 + 134; pub const SYS_sysfs: ::c_long = 4000 + 135; pub const SYS_personality: ::c_long = 4000 + 136; pub const SYS_afs_syscall: ::c_long = 4000 + 137; pub const SYS_setfsuid: ::c_long = 4000 + 138; pub const SYS_setfsgid: ::c_long = 4000 + 139; pub const SYS__llseek: ::c_long = 4000 + 140; pub const SYS_getdents: ::c_long = 4000 + 141; pub const SYS__newselect: ::c_long = 4000 + 142; pub const SYS_flock: ::c_long = 4000 + 143; pub const SYS_msync: ::c_long = 4000 + 144; pub const SYS_readv: ::c_long = 4000 + 145; pub const SYS_writev: ::c_long = 4000 + 146; pub const SYS_cacheflush: ::c_long = 4000 + 147; pub const SYS_cachectl: ::c_long = 4000 + 148; pub const SYS_sysmips: ::c_long = 4000 + 149; pub const SYS_getsid: ::c_long = 4000 + 151; pub const SYS_fdatasync: ::c_long = 4000 + 152; pub const SYS__sysctl: ::c_long = 4000 + 153; pub const SYS_mlock: ::c_long = 4000 + 154; pub const SYS_munlock: ::c_long = 4000 + 155; pub const SYS_mlockall: ::c_long = 4000 + 156; pub const SYS_munlockall: ::c_long = 4000 + 157; pub const SYS_sched_setparam: ::c_long = 4000 + 158; pub const SYS_sched_getparam: ::c_long = 4000 + 159; pub const SYS_sched_setscheduler: ::c_long = 4000 + 160; pub const SYS_sched_getscheduler: ::c_long = 4000 + 161; pub const SYS_sched_yield: ::c_long = 4000 + 162; pub const SYS_sched_get_priority_max: ::c_long = 4000 + 163; pub const SYS_sched_get_priority_min: ::c_long = 4000 + 164; pub const SYS_sched_rr_get_interval: ::c_long = 4000 + 165; pub const SYS_nanosleep: ::c_long = 4000 + 166; pub const SYS_mremap: ::c_long = 4000 + 167; pub const SYS_accept: ::c_long = 4000 + 168; pub const SYS_bind: ::c_long = 4000 + 169; pub const SYS_connect: ::c_long = 4000 + 170; pub const SYS_getpeername: ::c_long = 4000 + 171; pub const SYS_getsockname: ::c_long = 4000 + 172; pub const SYS_getsockopt: ::c_long = 4000 + 173; pub const SYS_listen: ::c_long = 4000 + 174; pub const SYS_recv: ::c_long = 4000 + 175; pub const SYS_recvfrom: ::c_long = 4000 + 176; pub const SYS_recvmsg: ::c_long = 4000 + 177; pub const SYS_send: ::c_long = 4000 + 178; pub const SYS_sendmsg: ::c_long = 4000 + 179; pub const SYS_sendto: ::c_long = 4000 + 180; pub const SYS_setsockopt: ::c_long = 4000 + 181; pub const SYS_shutdown: ::c_long = 4000 + 182; pub const SYS_socket: ::c_long = 4000 + 183; pub const SYS_socketpair: ::c_long = 4000 + 184; pub const SYS_setresuid: ::c_long = 4000 + 185; pub const SYS_getresuid: ::c_long = 4000 + 186; pub const SYS_query_module: ::c_long = 4000 + 187; pub const SYS_poll: ::c_long = 4000 + 188; pub const SYS_nfsservctl: ::c_long = 4000 + 189; pub const SYS_setresgid: ::c_long = 4000 + 190; pub const SYS_getresgid: ::c_long = 4000 + 191; pub const SYS_prctl: ::c_long = 4000 + 192; pub const SYS_rt_sigreturn: ::c_long = 4000 + 193; pub const SYS_rt_sigaction: ::c_long = 4000 + 194; pub const SYS_rt_sigprocmask: ::c_long = 4000 + 195; pub const SYS_rt_sigpending: ::c_long = 4000 + 196; pub const SYS_rt_sigtimedwait: ::c_long = 4000 + 197; pub const SYS_rt_sigqueueinfo: ::c_long = 4000 + 198; pub const SYS_rt_sigsuspend: ::c_long = 4000 + 199; pub const SYS_pread64: ::c_long = 4000 + 200; pub const SYS_pwrite64: ::c_long = 4000 + 201; pub const SYS_chown: ::c_long = 4000 + 202; pub const SYS_getcwd: ::c_long = 4000 + 203; pub const SYS_capget: ::c_long = 4000 + 204; pub const SYS_capset: ::c_long = 4000 + 205; pub const SYS_sigaltstack: ::c_long = 4000 + 206; pub const SYS_sendfile: ::c_long = 4000 + 207; pub const SYS_getpmsg: ::c_long = 4000 + 208; pub const SYS_putpmsg: ::c_long = 4000 + 209; pub const SYS_mmap2: ::c_long = 4000 + 210; pub const SYS_truncate64: ::c_long = 4000 + 211; pub const SYS_ftruncate64: ::c_long = 4000 + 212; pub const SYS_stat64: ::c_long = 4000 + 213; pub const SYS_lstat64: ::c_long = 4000 + 214; pub const SYS_fstat64: ::c_long = 4000 + 215; pub const SYS_pivot_root: ::c_long = 4000 + 216; pub const SYS_mincore: ::c_long = 4000 + 217; pub const SYS_madvise: ::c_long = 4000 + 218; pub const SYS_getdents64: ::c_long = 4000 + 219; pub const SYS_fcntl64: ::c_long = 4000 + 220; pub const SYS_gettid: ::c_long = 4000 + 222; pub const SYS_readahead: ::c_long = 4000 + 223; pub const SYS_setxattr: ::c_long = 4000 + 224; pub const SYS_lsetxattr: ::c_long = 4000 + 225; pub const SYS_fsetxattr: ::c_long = 4000 + 226; pub const SYS_getxattr: ::c_long = 4000 + 227; pub const SYS_lgetxattr: ::c_long = 4000 + 228; pub const SYS_fgetxattr: ::c_long = 4000 + 229; pub const SYS_listxattr: ::c_long = 4000 + 230; pub const SYS_llistxattr: ::c_long = 4000 + 231; pub const SYS_flistxattr: ::c_long = 4000 + 232; pub const SYS_removexattr: ::c_long = 4000 + 233; pub const SYS_lremovexattr: ::c_long = 4000 + 234; pub const SYS_fremovexattr: ::c_long = 4000 + 235; pub const SYS_tkill: ::c_long = 4000 + 236; pub const SYS_sendfile64: ::c_long = 4000 + 237; pub const SYS_futex: ::c_long = 4000 + 238; pub const SYS_sched_setaffinity: ::c_long = 4000 + 239; pub const SYS_sched_getaffinity: ::c_long = 4000 + 240; pub const SYS_io_setup: ::c_long = 4000 + 241; pub const SYS_io_destroy: ::c_long = 4000 + 242; pub const SYS_io_getevents: ::c_long = 4000 + 243; pub const SYS_io_submit: ::c_long = 4000 + 244; pub const SYS_io_cancel: ::c_long = 4000 + 245; pub const SYS_exit_group: ::c_long = 4000 + 246; pub const SYS_lookup_dcookie: ::c_long = 4000 + 247; pub const SYS_epoll_create: ::c_long = 4000 + 248; pub const SYS_epoll_ctl: ::c_long = 4000 + 249; pub const SYS_epoll_wait: ::c_long = 4000 + 250; pub const SYS_remap_file_pages: ::c_long = 4000 + 251; pub const SYS_set_tid_address: ::c_long = 4000 + 252; pub const SYS_restart_syscall: ::c_long = 4000 + 253; pub const SYS_fadvise64: ::c_long = 4000 + 254; pub const SYS_statfs64: ::c_long = 4000 + 255; pub const SYS_fstatfs64: ::c_long = 4000 + 256; pub const SYS_timer_create: ::c_long = 4000 + 257; pub const SYS_timer_settime: ::c_long = 4000 + 258; pub const SYS_timer_gettime: ::c_long = 4000 + 259; pub const SYS_timer_getoverrun: ::c_long = 4000 + 260; pub const SYS_timer_delete: ::c_long = 4000 + 261; pub const SYS_clock_settime: ::c_long = 4000 + 262; pub const SYS_clock_gettime: ::c_long = 4000 + 263; pub const SYS_clock_getres: ::c_long = 4000 + 264; pub const SYS_clock_nanosleep: ::c_long = 4000 + 265; pub const SYS_tgkill: ::c_long = 4000 + 266; pub const SYS_utimes: ::c_long = 4000 + 267; pub const SYS_mbind: ::c_long = 4000 + 268; pub const SYS_get_mempolicy: ::c_long = 4000 + 269; pub const SYS_set_mempolicy: ::c_long = 4000 + 270; pub const SYS_mq_open: ::c_long = 4000 + 271; pub const SYS_mq_unlink: ::c_long = 4000 + 272; pub const SYS_mq_timedsend: ::c_long = 4000 + 273; pub const SYS_mq_timedreceive: ::c_long = 4000 + 274; pub const SYS_mq_notify: ::c_long = 4000 + 275; pub const SYS_mq_getsetattr: ::c_long = 4000 + 276; pub const SYS_vserver: ::c_long = 4000 + 277; pub const SYS_waitid: ::c_long = 4000 + 278; /* pub const SYS_sys_setaltroot: ::c_long = 4000 + 279; */ pub const SYS_add_key: ::c_long = 4000 + 280; pub const SYS_request_key: ::c_long = 4000 + 281; pub const SYS_keyctl: ::c_long = 4000 + 282; pub const SYS_set_thread_area: ::c_long = 4000 + 283; pub const SYS_inotify_init: ::c_long = 4000 + 284; pub const SYS_inotify_add_watch: ::c_long = 4000 + 285; pub const SYS_inotify_rm_watch: ::c_long = 4000 + 286; pub const SYS_migrate_pages: ::c_long = 4000 + 287; pub const SYS_openat: ::c_long = 4000 + 288; pub const SYS_mkdirat: ::c_long = 4000 + 289; pub const SYS_mknodat: ::c_long = 4000 + 290; pub const SYS_fchownat: ::c_long = 4000 + 291; pub const SYS_futimesat: ::c_long = 4000 + 292; pub const SYS_fstatat64: ::c_long = 4000 + 293; pub const SYS_unlinkat: ::c_long = 4000 + 294; pub const SYS_renameat: ::c_long = 4000 + 295; pub const SYS_linkat: ::c_long = 4000 + 296; pub const SYS_symlinkat: ::c_long = 4000 + 297; pub const SYS_readlinkat: ::c_long = 4000 + 298; pub const SYS_fchmodat: ::c_long = 4000 + 299; pub const SYS_faccessat: ::c_long = 4000 + 300; pub const SYS_pselect6: ::c_long = 4000 + 301; pub const SYS_ppoll: ::c_long = 4000 + 302; pub const SYS_unshare: ::c_long = 4000 + 303; pub const SYS_splice: ::c_long = 4000 + 304; pub const SYS_sync_file_range: ::c_long = 4000 + 305; pub const SYS_tee: ::c_long = 4000 + 306; pub const SYS_vmsplice: ::c_long = 4000 + 307; pub const SYS_move_pages: ::c_long = 4000 + 308; pub const SYS_set_robust_list: ::c_long = 4000 + 309; pub const SYS_get_robust_list: ::c_long = 4000 + 310; pub const SYS_kexec_load: ::c_long = 4000 + 311; pub const SYS_getcpu: ::c_long = 4000 + 312; pub const SYS_epoll_pwait: ::c_long = 4000 + 313; pub const SYS_ioprio_set: ::c_long = 4000 + 314; pub const SYS_ioprio_get: ::c_long = 4000 + 315; pub const SYS_utimensat: ::c_long = 4000 + 316; pub const SYS_signalfd: ::c_long = 4000 + 317; pub const SYS_timerfd: ::c_long = 4000 + 318; pub const SYS_eventfd: ::c_long = 4000 + 319; pub const SYS_fallocate: ::c_long = 4000 + 320; pub const SYS_timerfd_create: ::c_long = 4000 + 321; pub const SYS_timerfd_gettime: ::c_long = 4000 + 322; pub const SYS_timerfd_settime: ::c_long = 4000 + 323; pub const SYS_signalfd4: ::c_long = 4000 + 324; pub const SYS_eventfd2: ::c_long = 4000 + 325; pub const SYS_epoll_create1: ::c_long = 4000 + 326; pub const SYS_dup3: ::c_long = 4000 + 327; pub const SYS_pipe2: ::c_long = 4000 + 328; pub const SYS_inotify_init1: ::c_long = 4000 + 329; pub const SYS_preadv: ::c_long = 4000 + 330; pub const SYS_pwritev: ::c_long = 4000 + 331; pub const SYS_rt_tgsigqueueinfo: ::c_long = 4000 + 332; pub const SYS_perf_event_open: ::c_long = 4000 + 333; pub const SYS_accept4: ::c_long = 4000 + 334; pub const SYS_recvmmsg: ::c_long = 4000 + 335; pub const SYS_fanotify_init: ::c_long = 4000 + 336; pub const SYS_fanotify_mark: ::c_long = 4000 + 337; pub const SYS_prlimit64: ::c_long = 4000 + 338; pub const SYS_name_to_handle_at: ::c_long = 4000 + 339; pub const SYS_open_by_handle_at: ::c_long = 4000 + 340; pub const SYS_clock_adjtime: ::c_long = 4000 + 341; pub const SYS_syncfs: ::c_long = 4000 + 342; pub const SYS_sendmmsg: ::c_long = 4000 + 343; pub const SYS_setns: ::c_long = 4000 + 344; pub const SYS_process_vm_readv: ::c_long = 4000 + 345; pub const SYS_process_vm_writev: ::c_long = 4000 + 346; pub const SYS_kcmp: ::c_long = 4000 + 347; pub const SYS_finit_module: ::c_long = 4000 + 348; pub const SYS_sched_setattr: ::c_long = 4000 + 349; pub const SYS_sched_getattr: ::c_long = 4000 + 350; pub const SYS_renameat2: ::c_long = 4000 + 351; pub const SYS_seccomp: ::c_long = 4000 + 352; pub const SYS_getrandom: ::c_long = 4000 + 353; pub const SYS_memfd_create: ::c_long = 4000 + 354; pub const SYS_bpf: ::c_long = 4000 + 355; pub const SYS_execveat: ::c_long = 4000 + 356; pub const SYS_userfaultfd: ::c_long = 4000 + 357; pub const SYS_membarrier: ::c_long = 4000 + 358; pub const SYS_mlock2: ::c_long = 4000 + 359; pub const SYS_copy_file_range: ::c_long = 4000 + 360; pub const SYS_preadv2: ::c_long = 4000 + 361; 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_statx: ::c_long = 4000 + 366; pub const O_DIRECT: ::c_int = 0x8000; pub const O_DIRECTORY: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x20000; pub const RLIM_INFINITY: ::rlim_t = 0x7fffffff; pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 5; pub const RLIMIT_AS: ::__rlimit_resource_t = 6; pub const RLIMIT_RSS: ::__rlimit_resource_t = 7; pub const RLIMIT_NPROC: ::__rlimit_resource_t = 8; pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 9; pub const O_APPEND: ::c_int = 8; pub const O_CREAT: ::c_int = 256; pub const O_EXCL: ::c_int = 1024; pub const O_NOCTTY: ::c_int = 2048; pub const O_NONBLOCK: ::c_int = 128; pub const O_SYNC: ::c_int = 0x4010; pub const O_RSYNC: ::c_int = 0x4010; pub const O_DSYNC: ::c_int = 0x10; pub const O_FSYNC: ::c_int = 0x4010; pub const O_ASYNC: ::c_int = 0x1000; pub const O_NDELAY: ::c_int = 0x80; pub const EDEADLK: ::c_int = 45; pub const ENAMETOOLONG: ::c_int = 78; pub const ENOLCK: ::c_int = 46; pub const ENOSYS: ::c_int = 89; pub const ENOTEMPTY: ::c_int = 93; pub const ELOOP: ::c_int = 90; pub const ENOMSG: ::c_int = 35; pub const EIDRM: ::c_int = 36; pub const ECHRNG: ::c_int = 37; pub const EL2NSYNC: ::c_int = 38; pub const EL3HLT: ::c_int = 39; pub const EL3RST: ::c_int = 40; pub const ELNRNG: ::c_int = 41; pub const EUNATCH: ::c_int = 42; pub const ENOCSI: ::c_int = 43; pub const EL2HLT: ::c_int = 44; pub const EBADE: ::c_int = 50; pub const EBADR: ::c_int = 51; 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; pub const EBADFD: ::c_int = 81; pub const EBADMSG: ::c_int = 77; pub const EREMCHG: ::c_int = 82; pub const ELIBACC: ::c_int = 83; pub const ELIBBAD: ::c_int = 84; pub const ELIBSCN: ::c_int = 85; pub const ELIBMAX: ::c_int = 86; pub const ELIBEXEC: ::c_int = 87; pub const EILSEQ: ::c_int = 88; pub const ERESTART: ::c_int = 91; pub const ESTRPIPE: ::c_int = 92; pub const EUSERS: ::c_int = 94; pub const ENOTSOCK: ::c_int = 95; pub const EDESTADDRREQ: ::c_int = 96; pub const EMSGSIZE: ::c_int = 97; pub const EPROTOTYPE: ::c_int = 98; 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 EPFNOSUPPORT: ::c_int = 123; pub const EAFNOSUPPORT: ::c_int = 124; pub const EADDRINUSE: ::c_int = 125; pub const EADDRNOTAVAIL: ::c_int = 126; pub const ENETDOWN: ::c_int = 127; pub const ENETUNREACH: ::c_int = 128; pub const ENETRESET: ::c_int = 129; pub const ECONNABORTED: ::c_int = 130; pub const ECONNRESET: ::c_int = 131; pub const ENOBUFS: ::c_int = 132; pub const EISCONN: ::c_int = 133; pub const ENOTCONN: ::c_int = 134; pub const ESHUTDOWN: ::c_int = 143; pub const ETOOMANYREFS: ::c_int = 144; pub const ETIMEDOUT: ::c_int = 145; pub const ECONNREFUSED: ::c_int = 146; pub const EHOSTDOWN: ::c_int = 147; pub const EHOSTUNREACH: ::c_int = 148; pub const EALREADY: ::c_int = 149; pub const EINPROGRESS: ::c_int = 150; pub const ESTALE: ::c_int = 151; pub const EUCLEAN: ::c_int = 135; pub const ENOTNAM: ::c_int = 137; pub const ENAVAIL: ::c_int = 138; pub const EISNAM: ::c_int = 139; pub const EREMOTEIO: ::c_int = 140; pub const EDQUOT: ::c_int = 1133; pub const ENOMEDIUM: ::c_int = 159; pub const EMEDIUMTYPE: ::c_int = 160; pub const ECANCELED: ::c_int = 158; pub const ENOKEY: ::c_int = 161; pub const EKEYEXPIRED: ::c_int = 162; pub const EKEYREVOKED: ::c_int = 163; pub const EKEYREJECTED: ::c_int = 164; pub const EOWNERDEAD: ::c_int = 165; pub const ENOTRECOVERABLE: ::c_int = 166; pub const ERFKILL: ::c_int = 167; pub const MAP_NORESERVE: ::c_int = 0x400; pub const MAP_ANON: ::c_int = 0x800; pub const MAP_ANONYMOUS: ::c_int = 0x800; pub const MAP_GROWSDOWN: ::c_int = 0x1000; pub const MAP_DENYWRITE: ::c_int = 0x2000; pub const MAP_EXECUTABLE: ::c_int = 0x4000; pub const MAP_LOCKED: ::c_int = 0x8000; pub const MAP_POPULATE: ::c_int = 0x10000; pub const MAP_NONBLOCK: ::c_int = 0x20000; pub const MAP_STACK: ::c_int = 0x40000; pub const SOCK_STREAM: ::c_int = 2; pub const SOCK_DGRAM: ::c_int = 1; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_STYLE: ::c_int = SO_TYPE; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; 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; pub const SO_ACCEPTCONN: ::c_int = 0x1009; pub const SO_PROTOCOL: ::c_int = 0x1028; pub const SO_DOMAIN: ::c_int = 0x1029; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PASSCRED: ::c_int = 17; pub const SO_PEERCRED: ::c_int = 18; pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22; pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23; pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24; 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_PEERNAME: ::c_int = 28; pub const SO_PEERSEC: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 31; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PASSSEC: ::c_int = 34; pub const SO_TIMESTAMPNS: ::c_int = 35; pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS; pub const SO_WIFI_STATUS: ::c_int = 41; pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS; pub const SO_NOFCS: ::c_int = 43; pub const SO_LOCK_FILTER: ::c_int = 44; pub const SO_SELECT_ERR_QUEUE: ::c_int = 45; pub const SO_MAX_PACING_RATE: ::c_int = 47; pub const SO_BPF_EXTENSIONS: ::c_int = 48; pub const SO_INCOMING_CPU: ::c_int = 49; pub const SO_ATTACH_BPF: ::c_int = 50; pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER; 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; pub const SIGCHLD: ::c_int = 18; pub const SIGBUS: ::c_int = 10; pub const SIGTTIN: ::c_int = 26; pub const SIGTTOU: ::c_int = 27; pub const SIGXCPU: ::c_int = 30; pub const SIGXFSZ: ::c_int = 31; pub const SIGVTALRM: ::c_int = 28; pub const SIGPROF: ::c_int = 29; pub const SIGWINCH: ::c_int = 20; pub const SIGUSR1: ::c_int = 16; pub const SIGUSR2: ::c_int = 17; pub const SIGCONT: ::c_int = 25; pub const SIGSTOP: ::c_int = 23; 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; pub const SIG_UNBLOCK: ::c_int = 0x2; pub const POLLWRNORM: ::c_short = 0x004; pub const POLLWRBAND: ::c_short = 0x100; pub const VEOF: usize = 16; pub const VEOL: usize = 17; pub const VEOL2: usize = 6; pub const VMIN: usize = 4; pub const IEXTEN: ::tcflag_t = 0x00000100; pub const TOSTOP: ::tcflag_t = 0x00008000; pub const FLUSHO: ::tcflag_t = 0x00002000; pub const EXTPROC: ::tcflag_t = 0o200000; pub const TCSANOW: ::c_int = 0x540e; pub const TCSADRAIN: ::c_int = 0x540f; pub const TCSAFLUSH: ::c_int = 0x5410; pub const PTRACE_GETFPXREGS: ::c_uint = 18; pub const PTRACE_SETFPXREGS: ::c_uint = 19; pub const MAP_HUGETLB: ::c_int = 0x080000; 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 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; pub const MCL_CURRENT: ::c_int = 0x0001; pub const MCL_FUTURE: ::c_int = 0x0002; 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 BOTHER: ::speed_t = 0o010000; 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 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! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/b32/mod.rs010064400007650000024000000173551357020644200203330ustar0000000000000000//! 32-bit specific definitions for linux-like values use pthread_mutex_t; pub type c_long = i32; pub type c_ulong = u32; pub type clock_t = i32; pub type time_t = i32; pub type suseconds_t = i32; pub type ino_t = u32; pub type off_t = i32; pub type blkcnt_t = i32; pub type fsblkcnt_t = ::c_ulong; pub type fsfilcnt_t = ::c_ulong; pub type rlim_t = c_ulong; pub type shmatt_t = ::c_ulong; pub type msgqnum_t = ::c_ulong; pub type msglen_t = ::c_ulong; pub type blksize_t = i32; pub type nlink_t = u32; pub type __u64 = ::c_ulonglong; pub type __fsword_t = i32; s! { pub struct stat { #[cfg(not(target_arch = "mips"))] pub st_dev: ::dev_t, #[cfg(target_arch = "mips")] pub st_dev: ::c_ulong, #[cfg(not(target_arch = "mips"))] __pad1: ::c_short, #[cfg(target_arch = "mips")] st_pad1: [::c_long; 3], 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, #[cfg(not(target_arch = "mips"))] pub st_rdev: ::dev_t, #[cfg(target_arch = "mips")] pub st_rdev: ::c_ulong, #[cfg(not(target_arch = "mips"))] __pad2: ::c_short, #[cfg(target_arch = "mips")] st_pad2: [::c_long; 2], pub st_size: ::off_t, #[cfg(target_arch = "mips")] st_pad3: ::c_long, #[cfg(not(target_arch = "mips"))] pub st_blksize: ::blksize_t, #[cfg(not(target_arch = "mips"))] 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, #[cfg(not(target_arch = "mips"))] __unused4: ::c_long, #[cfg(not(target_arch = "mips"))] __unused5: ::c_long, #[cfg(target_arch = "mips")] pub st_blksize: ::blksize_t, #[cfg(target_arch = "mips")] pub st_blocks: ::blkcnt_t, #[cfg(target_arch = "mips")] st_pad5: [::c_long; 14], } 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, __f_unused: ::c_int, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct pthread_attr_t { __size: [u32; 9] } pub struct sigset_t { __val: [::c_ulong; 32], } pub struct sysinfo { pub uptime: ::c_long, pub loads: [::c_ulong; 3], pub totalram: ::c_ulong, pub freeram: ::c_ulong, pub sharedram: ::c_ulong, pub bufferram: ::c_ulong, pub totalswap: ::c_ulong, pub freeswap: ::c_ulong, pub procs: ::c_ushort, #[deprecated( since = "0.2.58", note = "This padding field might become private in the future" )] pub pad: ::c_ushort, pub totalhigh: ::c_ulong, pub freehigh: ::c_ulong, pub mem_unit: ::c_uint, pub _f: [::c_char; 8], } } pub const O_NOATIME: ::c_int = 0o1000000; pub const O_PATH: ::c_int = 0o10000000; pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY; pub const SO_PRIORITY: ::c_int = 12; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_BINDTODEVICE: ::c_int = 25; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_MARK: ::c_int = 36; 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 SA_ONSTACK: ::c_int = 0x08000000; pub const PTRACE_DETACH: ::c_uint = 17; pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const F_SETLK: ::c_int = 6; pub const F_SETLKW: ::c_int = 7; pub const F_RDLCK: ::c_int = 0; pub const F_WRLCK: ::c_int = 1; pub const F_UNLCK: ::c_int = 2; pub const SFD_CLOEXEC: ::c_int = 0x080000; pub const NCCS: usize = 32; pub const O_TRUNC: ::c_int = 512; pub const O_CLOEXEC: ::c_int = 0x80000; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 24; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8; align_const! { #[cfg(target_endian = "little")] pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "little")] pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "little")] pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, ], }; } pub const PTRACE_GETFPREGS: ::c_uint = 14; pub const PTRACE_SETFPREGS: ::c_uint = 15; pub const PTRACE_GETREGS: ::c_uint = 12; pub const PTRACE_SETREGS: ::c_uint = 13; #[link(name = "util")] extern "C" { pub fn sysctl( name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; } cfg_if! { if #[cfg(target_arch = "x86")] { mod x86; pub use self::x86::*; } else if #[cfg(target_arch = "arm")] { mod arm; pub use self::arm::*; } else if #[cfg(target_arch = "mips")] { mod mips; pub use self::mips::*; } else if #[cfg(target_arch = "powerpc")] { mod powerpc; pub use self::powerpc::*; } else if #[cfg(target_arch = "sparc")] { mod sparc; pub use self::sparc::*; } else { // Unknown target_arch } } libc-0.2.66/src/unix/linux_like/linux/gnu/b32/powerpc.rs010064400007650000024000000754201357020644200212300ustar0000000000000000pub type c_char = u8; pub type wchar_t = i32; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } 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, f_spare: [::__fsword_t; 5], } 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: u32, __pad1: u32, __glibc_reserved1: u64, __glibc_reserved2: u64, } 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, __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_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __glibc_reserved4: ::c_ulong, __glibc_reserved5: ::c_ulong, } pub struct statfs64 { pub f_type: ::__fsword_t, pub f_bsize: ::__fsword_t, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, 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: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, 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, __glibc_reserved1: ::c_uint, pub shm_atime: ::time_t, __glibc_reserved2: ::c_uint, pub shm_dtime: ::time_t, __glibc_reserved3: ::c_uint, pub shm_ctime: ::time_t, __glibc_reserved4: ::c_uint, pub shm_segsz: ::size_t, 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, __glibc_reserved1: ::c_uint, pub msg_stime: ::time_t, __glibc_reserved2: ::c_uint, pub msg_rtime: ::time_t, __glibc_reserved3: ::c_uint, pub msg_ctime: ::time_t, __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_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: [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 = 0x20000; pub const O_DIRECTORY: ::c_int = 0x4000; pub const O_NOFOLLOW: ::c_int = 0x8000; pub const O_LARGEFILE: ::c_int = 0o200000; 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 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; 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 SOL_SOCKET: ::c_int = 1; pub const EDEADLOCK: ::c_int = 58; 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 SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_LINGER: ::c_int = 13; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_RCVLOWAT: ::c_int = 16; pub const SO_SNDLOWAT: ::c_int = 17; pub const SO_RCVTIMEO: ::c_int = 18; pub const SO_SNDTIMEO: ::c_int = 19; pub const SO_PASSCRED: ::c_int = 20; pub const SO_PEERCRED: ::c_int = 21; 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 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; pub const POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; pub const F_GETLK: ::c_int = 5; pub const F_GETOWN: ::c_int = 9; 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; 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 = 0x4000; pub const MINSIGSTKSZ: ::size_t = 4096; pub const CBAUD: ::tcflag_t = 0xff; pub const TAB1: ::tcflag_t = 0x400; pub const TAB2: ::tcflag_t = 0x800; pub const TAB3: ::tcflag_t = 0xc00; pub const CR1: ::tcflag_t = 0x1000; pub const CR2: ::tcflag_t = 0x2000; pub const CR3: ::tcflag_t = 0x3000; pub const FF1: ::tcflag_t = 0x4000; pub const BS1: ::tcflag_t = 0x8000; pub const VT1: ::tcflag_t = 0x10000; pub const VWERASE: usize = 0xa; pub const VREPRINT: usize = 0xb; pub const VSUSP: usize = 0xc; pub const VSTART: usize = 0xd; pub const VSTOP: usize = 0xe; pub const VDISCARD: usize = 0x10; pub const VTIME: usize = 0x7; pub const IXON: ::tcflag_t = 0x200; pub const IXOFF: ::tcflag_t = 0x400; pub const ONLCR: ::tcflag_t = 0x2; pub const CSIZE: ::tcflag_t = 0x300; pub const CS6: ::tcflag_t = 0x100; pub const CS7: ::tcflag_t = 0x200; pub const CS8: ::tcflag_t = 0x300; pub const CSTOPB: ::tcflag_t = 0x400; pub const CREAD: ::tcflag_t = 0x800; pub const PARENB: ::tcflag_t = 0x1000; pub const PARODD: ::tcflag_t = 0x2000; pub const HUPCL: ::tcflag_t = 0x4000; pub const CLOCAL: ::tcflag_t = 0x8000; pub const ECHOKE: ::tcflag_t = 0x1; pub const ECHOE: ::tcflag_t = 0x2; pub const ECHOK: ::tcflag_t = 0x4; pub const ECHONL: ::tcflag_t = 0x10; pub const ECHOPRT: ::tcflag_t = 0x20; pub const ECHOCTL: ::tcflag_t = 0x40; pub const ISIG: ::tcflag_t = 0x80; pub const ICANON: ::tcflag_t = 0x100; pub const PENDIN: ::tcflag_t = 0x20000000; pub const NOFLSH: ::tcflag_t = 0x80000000; pub const VSWTC: usize = 9; pub const OLCUC: ::tcflag_t = 0o000004; pub const NLDLY: ::tcflag_t = 0o001400; pub const CRDLY: ::tcflag_t = 0o030000; pub const TABDLY: ::tcflag_t = 0o006000; pub const BSDLY: ::tcflag_t = 0o100000; pub const FFDLY: ::tcflag_t = 0o040000; pub const VTDLY: ::tcflag_t = 0o200000; pub const XTABS: ::tcflag_t = 0o006000; 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 CBAUDEX: ::speed_t = 0o000020; pub const B57600: ::speed_t = 0o0020; pub const B115200: ::speed_t = 0o0021; pub const B230400: ::speed_t = 0o0022; pub const B460800: ::speed_t = 0o0023; pub const B500000: ::speed_t = 0o0024; pub const B576000: ::speed_t = 0o0025; pub const B921600: ::speed_t = 0o0026; pub const B1000000: ::speed_t = 0o0027; pub const B1152000: ::speed_t = 0o0030; pub const B1500000: ::speed_t = 0o0031; pub const B2000000: ::speed_t = 0o0032; 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; pub const VMIN: usize = 5; 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; 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_time: ::c_long = 13; pub const SYS_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_break: ::c_long = 17; pub const SYS_oldstat: ::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_umount: ::c_long = 22; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_stime: ::c_long = 25; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_oldfstat: ::c_long = 28; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::c_long = 30; pub const SYS_stty: ::c_long = 31; pub const SYS_gtty: ::c_long = 32; pub const SYS_access: ::c_long = 33; pub const SYS_nice: ::c_long = 34; pub const SYS_ftime: ::c_long = 35; 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_prof: ::c_long = 44; pub const SYS_brk: ::c_long = 45; pub const SYS_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_signal: ::c_long = 48; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::c_long = 52; pub const SYS_lock: ::c_long = 53; pub const SYS_ioctl: ::c_long = 54; pub const SYS_fcntl: ::c_long = 55; pub const SYS_mpx: ::c_long = 56; pub const SYS_setpgid: ::c_long = 57; pub const SYS_ulimit: ::c_long = 58; pub const SYS_oldolduname: ::c_long = 59; 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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_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_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_select: ::c_long = 82; pub const SYS_symlink: ::c_long = 83; pub const SYS_oldlstat: ::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_readdir: ::c_long = 89; pub const SYS_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_fchown: ::c_long = 95; pub const SYS_getpriority: ::c_long = 96; pub const SYS_setpriority: ::c_long = 97; pub const SYS_profil: ::c_long = 98; pub const SYS_statfs: ::c_long = 99; pub const SYS_fstatfs: ::c_long = 100; pub const SYS_ioperm: ::c_long = 101; 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_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::c_long = 108; pub const SYS_olduname: ::c_long = 109; pub const SYS_iopl: ::c_long = 110; pub const SYS_vhangup: ::c_long = 111; pub const SYS_idle: ::c_long = 112; pub const SYS_vm86: ::c_long = 113; 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_uname: ::c_long = 122; pub const SYS_modify_ldt: ::c_long = 123; pub const SYS_adjtimex: ::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_afs_syscall: ::c_long = 137; /* Syscall for Andrew File System */ pub const SYS_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; pub const SYS__newselect: ::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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_query_module: ::c_long = 166; pub const SYS_poll: ::c_long = 167; pub const SYS_nfsservctl: ::c_long = 168; pub const SYS_setresgid: ::c_long = 169; pub const SYS_getresgid: ::c_long = 170; pub const SYS_prctl: ::c_long = 171; pub const SYS_rt_sigreturn: ::c_long = 172; pub const SYS_rt_sigaction: ::c_long = 173; pub const SYS_rt_sigprocmask: ::c_long = 174; pub const SYS_rt_sigpending: ::c_long = 175; pub const SYS_rt_sigtimedwait: ::c_long = 176; pub const SYS_rt_sigqueueinfo: ::c_long = 177; pub const SYS_rt_sigsuspend: ::c_long = 178; pub const SYS_pread64: ::c_long = 179; pub const SYS_pwrite64: ::c_long = 180; pub const SYS_chown: ::c_long = 181; pub const SYS_getcwd: ::c_long = 182; pub const SYS_capget: ::c_long = 183; pub const SYS_capset: ::c_long = 184; pub const SYS_sigaltstack: ::c_long = 185; pub const SYS_sendfile: ::c_long = 186; pub const SYS_getpmsg: ::c_long = 187; /* some people actually want streams */ pub const SYS_putpmsg: ::c_long = 188; /* some people actually want streams */ pub const SYS_vfork: ::c_long = 189; pub const SYS_ugetrlimit: ::c_long = 190; /* SuS compliant getrlimit */ pub const SYS_readahead: ::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_pciconfig_read: ::c_long = 198; pub const SYS_pciconfig_write: ::c_long = 199; pub const SYS_pciconfig_iobase: ::c_long = 200; pub const SYS_multiplexer: ::c_long = 201; pub const SYS_getdents64: ::c_long = 202; pub const SYS_pivot_root: ::c_long = 203; pub const SYS_fcntl64: ::c_long = 204; pub const SYS_madvise: ::c_long = 205; pub const SYS_mincore: ::c_long = 206; pub const SYS_gettid: ::c_long = 207; pub const SYS_tkill: ::c_long = 208; pub const SYS_setxattr: ::c_long = 209; pub const SYS_lsetxattr: ::c_long = 210; pub const SYS_fsetxattr: ::c_long = 211; pub const SYS_getxattr: ::c_long = 212; pub const SYS_lgetxattr: ::c_long = 213; pub const SYS_fgetxattr: ::c_long = 214; pub const SYS_listxattr: ::c_long = 215; pub const SYS_llistxattr: ::c_long = 216; pub const SYS_flistxattr: ::c_long = 217; pub const SYS_removexattr: ::c_long = 218; pub const SYS_lremovexattr: ::c_long = 219; pub const SYS_fremovexattr: ::c_long = 220; pub const SYS_futex: ::c_long = 221; pub const SYS_sched_setaffinity: ::c_long = 222; pub const SYS_sched_getaffinity: ::c_long = 223; pub const SYS_tuxcall: ::c_long = 225; pub const SYS_sendfile64: ::c_long = 226; pub const SYS_io_setup: ::c_long = 227; pub const SYS_io_destroy: ::c_long = 228; pub const SYS_io_getevents: ::c_long = 229; pub const SYS_io_submit: ::c_long = 230; pub const SYS_io_cancel: ::c_long = 231; pub const SYS_set_tid_address: ::c_long = 232; pub const SYS_fadvise64: ::c_long = 233; pub const SYS_exit_group: ::c_long = 234; pub const SYS_lookup_dcookie: ::c_long = 235; pub const SYS_epoll_create: ::c_long = 236; pub const SYS_epoll_ctl: ::c_long = 237; pub const SYS_epoll_wait: ::c_long = 238; pub const SYS_remap_file_pages: ::c_long = 239; pub const SYS_timer_create: ::c_long = 240; pub const SYS_timer_settime: ::c_long = 241; pub const SYS_timer_gettime: ::c_long = 242; pub const SYS_timer_getoverrun: ::c_long = 243; pub const SYS_timer_delete: ::c_long = 244; pub const SYS_clock_settime: ::c_long = 245; pub const SYS_clock_gettime: ::c_long = 246; pub const SYS_clock_getres: ::c_long = 247; pub const SYS_clock_nanosleep: ::c_long = 248; pub const SYS_swapcontext: ::c_long = 249; pub const SYS_tgkill: ::c_long = 250; pub const SYS_utimes: ::c_long = 251; pub const SYS_statfs64: ::c_long = 252; pub const SYS_fstatfs64: ::c_long = 253; pub const SYS_fadvise64_64: ::c_long = 254; pub const SYS_rtas: ::c_long = 255; pub const SYS_sys_debug_setcontext: ::c_long = 256; pub const SYS_migrate_pages: ::c_long = 258; pub const SYS_mbind: ::c_long = 259; pub const SYS_get_mempolicy: ::c_long = 260; pub const SYS_set_mempolicy: ::c_long = 261; pub const SYS_mq_open: ::c_long = 262; pub const SYS_mq_unlink: ::c_long = 263; pub const SYS_mq_timedsend: ::c_long = 264; pub const SYS_mq_timedreceive: ::c_long = 265; pub const SYS_mq_notify: ::c_long = 266; pub const SYS_mq_getsetattr: ::c_long = 267; pub const SYS_kexec_load: ::c_long = 268; pub const SYS_add_key: ::c_long = 269; pub const SYS_request_key: ::c_long = 270; pub const SYS_keyctl: ::c_long = 271; pub const SYS_waitid: ::c_long = 272; pub const SYS_ioprio_set: ::c_long = 273; pub const SYS_ioprio_get: ::c_long = 274; pub const SYS_inotify_init: ::c_long = 275; pub const SYS_inotify_add_watch: ::c_long = 276; pub const SYS_inotify_rm_watch: ::c_long = 277; pub const SYS_spu_run: ::c_long = 278; pub const SYS_spu_create: ::c_long = 279; pub const SYS_pselect6: ::c_long = 280; pub const SYS_ppoll: ::c_long = 281; pub const SYS_unshare: ::c_long = 282; pub const SYS_splice: ::c_long = 283; pub const SYS_tee: ::c_long = 284; pub const SYS_vmsplice: ::c_long = 285; pub const SYS_openat: ::c_long = 286; pub const SYS_mkdirat: ::c_long = 287; pub const SYS_mknodat: ::c_long = 288; pub const SYS_fchownat: ::c_long = 289; pub const SYS_futimesat: ::c_long = 290; pub const SYS_fstatat64: ::c_long = 291; pub const SYS_unlinkat: ::c_long = 292; pub const SYS_renameat: ::c_long = 293; pub const SYS_linkat: ::c_long = 294; pub const SYS_symlinkat: ::c_long = 295; pub const SYS_readlinkat: ::c_long = 296; pub const SYS_fchmodat: ::c_long = 297; pub const SYS_faccessat: ::c_long = 298; pub const SYS_get_robust_list: ::c_long = 299; pub const SYS_set_robust_list: ::c_long = 300; pub const SYS_move_pages: ::c_long = 301; pub const SYS_getcpu: ::c_long = 302; pub const SYS_epoll_pwait: ::c_long = 303; pub const SYS_utimensat: ::c_long = 304; pub const SYS_signalfd: ::c_long = 305; pub const SYS_timerfd_create: ::c_long = 306; pub const SYS_eventfd: ::c_long = 307; pub const SYS_sync_file_range2: ::c_long = 308; pub const SYS_fallocate: ::c_long = 309; pub const SYS_subpage_prot: ::c_long = 310; pub const SYS_timerfd_settime: ::c_long = 311; pub const SYS_timerfd_gettime: ::c_long = 312; pub const SYS_signalfd4: ::c_long = 313; pub const SYS_eventfd2: ::c_long = 314; pub const SYS_epoll_create1: ::c_long = 315; pub const SYS_dup3: ::c_long = 316; pub const SYS_pipe2: ::c_long = 317; pub const SYS_inotify_init1: ::c_long = 318; pub const SYS_perf_event_open: ::c_long = 319; pub const SYS_preadv: ::c_long = 320; pub const SYS_pwritev: ::c_long = 321; pub const SYS_rt_tgsigqueueinfo: ::c_long = 322; pub const SYS_fanotify_init: ::c_long = 323; pub const SYS_fanotify_mark: ::c_long = 324; pub const SYS_prlimit64: ::c_long = 325; pub const SYS_socket: ::c_long = 326; pub const SYS_bind: ::c_long = 327; pub const SYS_connect: ::c_long = 328; pub const SYS_listen: ::c_long = 329; pub const SYS_accept: ::c_long = 330; pub const SYS_getsockname: ::c_long = 331; pub const SYS_getpeername: ::c_long = 332; pub const SYS_socketpair: ::c_long = 333; pub const SYS_send: ::c_long = 334; pub const SYS_sendto: ::c_long = 335; pub const SYS_recv: ::c_long = 336; pub const SYS_recvfrom: ::c_long = 337; pub const SYS_shutdown: ::c_long = 338; pub const SYS_setsockopt: ::c_long = 339; pub const SYS_getsockopt: ::c_long = 340; pub const SYS_sendmsg: ::c_long = 341; pub const SYS_recvmsg: ::c_long = 342; pub const SYS_recvmmsg: ::c_long = 343; pub const SYS_accept4: ::c_long = 344; pub const SYS_name_to_handle_at: ::c_long = 345; pub const SYS_open_by_handle_at: ::c_long = 346; pub const SYS_clock_adjtime: ::c_long = 347; pub const SYS_syncfs: ::c_long = 348; pub const SYS_sendmmsg: ::c_long = 349; pub const SYS_setns: ::c_long = 350; pub const SYS_process_vm_readv: ::c_long = 351; pub const SYS_process_vm_writev: ::c_long = 352; pub const SYS_finit_module: ::c_long = 353; pub const SYS_kcmp: ::c_long = 354; pub const SYS_sched_setattr: ::c_long = 355; pub const SYS_sched_getattr: ::c_long = 356; pub const SYS_renameat2: ::c_long = 357; pub const SYS_seccomp: ::c_long = 358; pub const SYS_getrandom: ::c_long = 359; pub const SYS_memfd_create: ::c_long = 360; pub const SYS_bpf: ::c_long = 361; pub const SYS_execveat: ::c_long = 362; pub const SYS_switch_endian: ::c_long = 363; pub const SYS_userfaultfd: ::c_long = 364; pub const SYS_membarrier: ::c_long = 365; pub const SYS_mlock2: ::c_long = 378; pub const SYS_copy_file_range: ::c_long = 379; pub const SYS_preadv2: ::c_long = 380; pub const SYS_pwritev2: ::c_long = 381; pub const SYS_kexec_file_load: ::c_long = 382; pub const SYS_statx: ::c_long = 383; libc-0.2.66/src/unix/linux_like/linux/gnu/b32/sparc/align.rs010064400007650000024000000002241357020644200217410ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(8))] pub struct max_align_t { priv_: [i64; 3] } } libc-0.2.66/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs010064400007650000024000001017441357020644200214370ustar0000000000000000//! SPARC-specific definitions for 32-bit linux-like values pub type c_char = u8; pub type wchar_t = i32; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } 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, f_spare: [::__fsword_t; 5], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, _pad: [::c_int; 29], _align: [usize; 0], } 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, __reserved: ::c_short, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct stat { 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, __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_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 2], } 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, __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_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __reserved: [::c_long; 2], } pub struct statfs64 { pub f_type: ::__fsword_t, pub f_bsize: ::__fsword_t, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, 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 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, __f_spare: [::c_int; 6], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct ipc_perm { pub __key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, __pad1: ::c_ushort, pub mode: ::c_ushort, __pad2: ::c_ushort, pub __seq: ::c_ushort, __unused1: ::c_ulonglong, __unused2: ::c_ulonglong, } pub struct shmid_ds { pub shm_perm: ::ipc_perm, __pad1: ::c_uint, pub shm_atime: ::time_t, __pad2: ::c_uint, pub shm_dtime: ::time_t, __pad3: ::c_uint, pub shm_ctime: ::time_t, pub shm_segsz: ::size_t, pub shm_cpid: ::pid_t, pub shm_lpid: ::pid_t, pub shm_nattch: ::shmatt_t, __reserved1: ::c_ulong, __reserved2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, __pad1: ::c_uint, pub msg_stime: ::time_t, __pad2: ::c_uint, pub msg_rtime: ::time_t, __pad3: ::c_uint, pub msg_ctime: ::time_t, __msg_cbytes: ::c_ushort, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __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 POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; 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 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; pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 6; pub const RLIMIT_NPROC: ::__rlimit_resource_t = 7; pub const O_APPEND: ::c_int = 0x8; pub const O_CREAT: ::c_int = 0x200; pub const O_EXCL: ::c_int = 0x800; pub const O_NOCTTY: ::c_int = 0x8000; pub const O_NONBLOCK: ::c_int = 0x4000; pub const O_SYNC: ::c_int = 0x802000; pub const O_RSYNC: ::c_int = 0x802000; pub const O_DSYNC: ::c_int = 0x2000; pub const O_FSYNC: ::c_int = 0x802000; pub const O_NOATIME: ::c_int = 0x200000; pub const O_PATH: ::c_int = 0x1000000; pub const O_TMPFILE: ::c_int = 0x2000000 | O_DIRECTORY; pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MAP_GROWSDOWN: ::c_int = 0x0200; 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 EDEADLK: ::c_int = 78; pub const ENAMETOOLONG: ::c_int = 63; pub const ENOLCK: ::c_int = 79; pub const ENOSYS: ::c_int = 90; pub const ENOTEMPTY: ::c_int = 66; pub const ELOOP: ::c_int = 62; pub const ENOMSG: ::c_int = 75; pub const EIDRM: ::c_int = 77; pub const ECHRNG: ::c_int = 94; pub const EL2NSYNC: ::c_int = 95; pub const EL3HLT: ::c_int = 96; pub const EL3RST: ::c_int = 97; pub const ELNRNG: ::c_int = 98; pub const EUNATCH: ::c_int = 99; pub const ENOCSI: ::c_int = 100; pub const EL2HLT: ::c_int = 101; pub const EBADE: ::c_int = 102; pub const EBADR: ::c_int = 103; pub const EXFULL: ::c_int = 104; pub const ENOANO: ::c_int = 105; pub const EBADRQC: ::c_int = 106; pub const EBADSLT: ::c_int = 107; pub const EMULTIHOP: ::c_int = 87; pub const EOVERFLOW: ::c_int = 92; pub const ENOTUNIQ: ::c_int = 115; pub const EBADFD: ::c_int = 93; pub const EBADMSG: ::c_int = 76; pub const EREMCHG: ::c_int = 89; pub const ELIBACC: ::c_int = 114; pub const ELIBBAD: ::c_int = 112; pub const ELIBSCN: ::c_int = 124; pub const ELIBMAX: ::c_int = 123; pub const ELIBEXEC: ::c_int = 110; pub const EILSEQ: ::c_int = 122; pub const ERESTART: ::c_int = 116; pub const ESTRPIPE: ::c_int = 91; pub const EUSERS: ::c_int = 68; pub const ENOTSOCK: ::c_int = 38; pub const EDESTADDRREQ: ::c_int = 39; pub const EMSGSIZE: ::c_int = 40; pub const EPROTOTYPE: ::c_int = 41; pub const ENOPROTOOPT: ::c_int = 42; pub const EPROTONOSUPPORT: ::c_int = 43; pub const ESOCKTNOSUPPORT: ::c_int = 44; pub const EOPNOTSUPP: ::c_int = 45; pub const EPFNOSUPPORT: ::c_int = 46; pub const EAFNOSUPPORT: ::c_int = 47; pub const EADDRINUSE: ::c_int = 48; pub const EADDRNOTAVAIL: ::c_int = 49; pub const ENETDOWN: ::c_int = 50; pub const ENETUNREACH: ::c_int = 51; pub const ENETRESET: ::c_int = 52; pub const ECONNABORTED: ::c_int = 53; pub const ECONNRESET: ::c_int = 54; pub const ENOBUFS: ::c_int = 55; pub const EISCONN: ::c_int = 56; pub const ENOTCONN: ::c_int = 57; 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 EHOSTDOWN: ::c_int = 64; pub const EHOSTUNREACH: ::c_int = 65; pub const EALREADY: ::c_int = 37; pub const EINPROGRESS: ::c_int = 36; pub const ESTALE: ::c_int = 70; pub const EDQUOT: ::c_int = 69; pub const ENOMEDIUM: ::c_int = 125; pub const EMEDIUMTYPE: ::c_int = 126; pub const ECANCELED: ::c_int = 127; pub const ENOKEY: ::c_int = 128; pub const EKEYEXPIRED: ::c_int = 129; pub const EKEYREVOKED: ::c_int = 130; pub const EKEYREJECTED: ::c_int = 131; pub const EOWNERDEAD: ::c_int = 132; pub const ENOTRECOVERABLE: ::c_int = 133; pub const EHWPOISON: ::c_int = 135; pub const ERFKILL: ::c_int = 134; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_PASSCRED: ::c_int = 2; pub const SO_REUSEADDR: ::c_int = 4; pub const SO_BINDTODEVICE: ::c_int = 0x000d; pub const SO_TIMESTAMP: ::c_int = 0x001d; pub const SO_MARK: ::c_int = 0x0022; pub const SO_RXQ_OVFL: ::c_int = 0x0024; pub const SO_PEEK_OFF: ::c_int = 0x0026; pub const SO_BUSY_POLL: ::c_int = 0x0030; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_DONTROUTE: ::c_int = 16; pub const SO_BROADCAST: ::c_int = 32; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; pub const SO_SNDBUFFORCE: ::c_int = 0x100a; pub const SO_RCVBUFFORCE: ::c_int = 0x100b; pub const SO_DOMAIN: ::c_int = 0x1029; pub const SO_KEEPALIVE: ::c_int = 8; pub const SO_OOBINLINE: ::c_int = 0x100; pub const SO_LINGER: ::c_int = 128; pub const SO_REUSEPORT: ::c_int = 0x200; pub const SO_ACCEPTCONN: ::c_int = 0x8000; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SA_ONSTACK: ::c_int = 1; pub const SA_SIGINFO: ::c_int = 0x200; pub const SA_NOCLDWAIT: ::c_int = 0x100; 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 SIGCHLD: ::c_int = 20; pub const SIGBUS: ::c_int = 10; pub const SIGUSR1: ::c_int = 30; pub const SIGUSR2: ::c_int = 31; pub const SIGCONT: ::c_int = 19; pub const SIGSTOP: ::c_int = 17; pub const SIGTSTP: ::c_int = 18; pub const SIGURG: ::c_int = 16; pub const SIGIO: ::c_int = 23; pub const SIGSYS: ::c_int = 12; pub const SIGPOLL: ::c_int = 23; pub const SIGPWR: ::c_int = 29; pub const SIG_SETMASK: ::c_int = 4; pub const SIG_BLOCK: ::c_int = 1; pub const SIG_UNBLOCK: ::c_int = 2; pub const POLLWRNORM: ::c_short = 4; 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 = 11; pub const EFD_NONBLOCK: ::c_int = 0x4000; pub const F_GETLK: ::c_int = 7; pub const F_GETOWN: ::c_int = 5; pub const F_SETOWN: ::c_int = 6; pub const F_SETLK: ::c_int = 8; pub const F_SETLKW: ::c_int = 9; pub const F_RDLCK: ::c_int = 1; pub const F_WRLCK: ::c_int = 2; pub const F_UNLCK: ::c_int = 3; pub const SFD_NONBLOCK: ::c_int = 0x4000; 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 SFD_CLOEXEC: ::c_int = 0x400000; pub const NCCS: usize = 17; pub const O_TRUNC: ::c_int = 0x400; pub const O_CLOEXEC: ::c_int = 0x400000; pub const EBFONT: ::c_int = 109; pub const ENOSTR: ::c_int = 72; pub const ENODATA: ::c_int = 111; pub const ETIME: ::c_int = 73; pub const ENOSR: ::c_int = 74; pub const ENONET: ::c_int = 80; pub const ENOPKG: ::c_int = 113; pub const EREMOTE: ::c_int = 71; pub const ENOLINK: ::c_int = 82; pub const EADV: ::c_int = 83; pub const ESRMNT: ::c_int = 84; pub const ECOMM: ::c_int = 85; pub const EPROTO: ::c_int = 86; pub const EDOTDOT: ::c_int = 88; pub const SA_NODEFER: ::c_int = 0x20; pub const SA_RESETHAND: ::c_int = 0x4; pub const SA_RESTART: ::c_int = 0x2; pub const SA_NOCLDSTOP: ::c_int = 0x00000008; pub const EPOLL_CLOEXEC: ::c_int = 0x400000; pub const EFD_CLOEXEC: ::c_int = 0x400000; pub const O_DIRECTORY: ::c_int = 0o200000; pub const O_NOFOLLOW: ::c_int = 0o400000; pub const O_LARGEFILE: ::c_int = 0x40000; pub const O_DIRECT: ::c_int = 0x100000; pub const MAP_LOCKED: ::c_int = 0x0100; pub const MAP_NORESERVE: ::c_int = 0x00040; pub const EDEADLOCK: ::c_int = 108; 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 SO_PEERCRED: ::c_int = 0x40; pub const SO_RCVLOWAT: ::c_int = 0x800; pub const SO_SNDLOWAT: ::c_int = 0x1000; pub const SO_RCVTIMEO: ::c_int = 0x2000; pub const SO_SNDTIMEO: ::c_int = 0x4000; 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; pub const SIGSTKSZ: ::size_t = 16384; pub const MINSIGSTKSZ: ::size_t = 4096; pub const CBAUD: ::tcflag_t = 0x0000100f; pub const TAB1: ::tcflag_t = 0x800; pub const TAB2: ::tcflag_t = 0x1000; pub const TAB3: ::tcflag_t = 0x1800; pub const CR1: ::tcflag_t = 0x200; pub const CR2: ::tcflag_t = 0x400; pub const CR3: ::tcflag_t = 0x600; pub const FF1: ::tcflag_t = 0x8000; pub const BS1: ::tcflag_t = 0x2000; pub const VT1: ::tcflag_t = 0x4000; pub const VWERASE: usize = 0xe; pub const VREPRINT: usize = 0xc; pub const VSUSP: usize = 0xa; pub const VSTART: usize = 0x8; pub const VSTOP: usize = 0x9; pub const VDISCARD: usize = 0xd; pub const VTIME: usize = 0x5; pub const IXON: ::tcflag_t = 0x400; pub const IXOFF: ::tcflag_t = 0x1000; pub const ONLCR: ::tcflag_t = 0x4; pub const CSIZE: ::tcflag_t = 0x30; pub const CS6: ::tcflag_t = 0x10; pub const CS7: ::tcflag_t = 0x20; pub const CS8: ::tcflag_t = 0x30; pub const CSTOPB: ::tcflag_t = 0x40; pub const CREAD: ::tcflag_t = 0x80; pub const PARENB: ::tcflag_t = 0x100; pub const PARODD: ::tcflag_t = 0x200; pub const HUPCL: ::tcflag_t = 0x400; pub const CLOCAL: ::tcflag_t = 0x800; pub const ECHOKE: ::tcflag_t = 0x800; pub const ECHOE: ::tcflag_t = 0x10; pub const ECHOK: ::tcflag_t = 0x20; pub const ECHONL: ::tcflag_t = 0x40; pub const ECHOPRT: ::tcflag_t = 0x400; pub const ECHOCTL: ::tcflag_t = 0x200; pub const ISIG: ::tcflag_t = 0x1; pub const ICANON: ::tcflag_t = 0x2; pub const PENDIN: ::tcflag_t = 0x4000; pub const NOFLSH: ::tcflag_t = 0x80; pub const CIBAUD: ::tcflag_t = 0o02003600000; pub const CBAUDEX: ::tcflag_t = 0x00001000; 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 BOTHER: ::speed_t = 0x1000; pub const B57600: ::speed_t = 0x1001; pub const B115200: ::speed_t = 0x1002; pub const B230400: ::speed_t = 0x1003; pub const B460800: ::speed_t = 0x1004; pub const B76800: ::speed_t = 0x1005; pub const B153600: ::speed_t = 0x1006; pub const B307200: ::speed_t = 0x1007; pub const B614400: ::speed_t = 0x1008; pub const B921600: ::speed_t = 0x1009; pub const B500000: ::speed_t = 0x100a; pub const B576000: ::speed_t = 0x100b; pub const B1000000: ::speed_t = 0x100c; pub const B1152000: ::speed_t = 0x100d; pub const B1500000: ::speed_t = 0x100e; pub const B2000000: ::speed_t = 0x100f; pub const VEOL: usize = 5; pub const VEOL2: usize = 6; pub const VMIN: usize = 4; 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; 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_wait4: ::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_execv: ::c_long = 11; pub const SYS_chdir: ::c_long = 12; pub const SYS_chown: ::c_long = 13; pub const SYS_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_brk: ::c_long = 17; pub const SYS_perfctr: ::c_long = 18; pub const SYS_lseek: ::c_long = 19; pub const SYS_getpid: ::c_long = 20; pub const SYS_capget: ::c_long = 21; pub const SYS_capset: ::c_long = 22; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_vmsplice: ::c_long = 25; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_sigaltstack: ::c_long = 28; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::c_long = 30; pub const SYS_lchown32: ::c_long = 31; pub const SYS_fchown32: ::c_long = 32; pub const SYS_access: ::c_long = 33; pub const SYS_nice: ::c_long = 34; pub const SYS_chown32: ::c_long = 35; pub const SYS_sync: ::c_long = 36; pub const SYS_kill: ::c_long = 37; pub const SYS_stat: ::c_long = 38; pub const SYS_sendfile: ::c_long = 39; pub const SYS_lstat: ::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_getuid32: ::c_long = 44; pub const SYS_umount2: ::c_long = 45; pub const SYS_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_signal: ::c_long = 48; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_getgid32: ::c_long = 53; pub const SYS_ioctl: ::c_long = 54; pub const SYS_reboot: ::c_long = 55; pub const SYS_mmap2: ::c_long = 56; pub const SYS_symlink: ::c_long = 57; pub const SYS_readlink: ::c_long = 58; pub const SYS_execve: ::c_long = 59; pub const SYS_umask: ::c_long = 60; pub const SYS_chroot: ::c_long = 61; pub const SYS_fstat: ::c_long = 62; pub const SYS_fstat64: ::c_long = 63; pub const SYS_getpagesize: ::c_long = 64; pub const SYS_msync: ::c_long = 65; pub const SYS_vfork: ::c_long = 66; pub const SYS_pread64: ::c_long = 67; pub const SYS_pwrite64: ::c_long = 68; pub const SYS_geteuid32: ::c_long = 69; pub const SYS_getegid32: ::c_long = 70; pub const SYS_mmap: ::c_long = 71; pub const SYS_setreuid32: ::c_long = 72; pub const SYS_munmap: ::c_long = 73; pub const SYS_mprotect: ::c_long = 74; pub const SYS_madvise: ::c_long = 75; pub const SYS_vhangup: ::c_long = 76; pub const SYS_truncate64: ::c_long = 77; pub const SYS_mincore: ::c_long = 78; pub const SYS_getgroups: ::c_long = 79; pub const SYS_setgroups: ::c_long = 80; pub const SYS_getpgrp: ::c_long = 81; pub const SYS_setgroups32: ::c_long = 82; pub const SYS_setitimer: ::c_long = 83; pub const SYS_ftruncate64: ::c_long = 84; pub const SYS_swapon: ::c_long = 85; pub const SYS_getitimer: ::c_long = 86; pub const SYS_setuid32: ::c_long = 87; pub const SYS_sethostname: ::c_long = 88; pub const SYS_setgid32: ::c_long = 89; pub const SYS_dup2: ::c_long = 90; pub const SYS_setfsuid32: ::c_long = 91; pub const SYS_fcntl: ::c_long = 92; pub const SYS_select: ::c_long = 93; pub const SYS_setfsgid32: ::c_long = 94; pub const SYS_fsync: ::c_long = 95; pub const SYS_setpriority: ::c_long = 96; pub const SYS_socket: ::c_long = 97; pub const SYS_connect: ::c_long = 98; pub const SYS_accept: ::c_long = 99; pub const SYS_getpriority: ::c_long = 100; pub const SYS_rt_sigreturn: ::c_long = 101; pub const SYS_rt_sigaction: ::c_long = 102; pub const SYS_rt_sigprocmask: ::c_long = 103; pub const SYS_rt_sigpending: ::c_long = 104; pub const SYS_rt_sigtimedwait: ::c_long = 105; pub const SYS_rt_sigqueueinfo: ::c_long = 106; pub const SYS_rt_sigsuspend: ::c_long = 107; pub const SYS_setresuid32: ::c_long = 108; pub const SYS_getresuid32: ::c_long = 109; pub const SYS_setresgid32: ::c_long = 110; pub const SYS_getresgid32: ::c_long = 111; pub const SYS_setregid32: ::c_long = 112; pub const SYS_recvmsg: ::c_long = 113; pub const SYS_sendmsg: ::c_long = 114; pub const SYS_getgroups32: ::c_long = 115; pub const SYS_gettimeofday: ::c_long = 116; pub const SYS_getrusage: ::c_long = 117; pub const SYS_getsockopt: ::c_long = 118; pub const SYS_getcwd: ::c_long = 119; pub const SYS_readv: ::c_long = 120; pub const SYS_writev: ::c_long = 121; pub const SYS_settimeofday: ::c_long = 122; pub const SYS_fchown: ::c_long = 123; pub const SYS_fchmod: ::c_long = 124; pub const SYS_recvfrom: ::c_long = 125; pub const SYS_setreuid: ::c_long = 126; pub const SYS_setregid: ::c_long = 127; pub const SYS_rename: ::c_long = 128; pub const SYS_truncate: ::c_long = 129; pub const SYS_ftruncate: ::c_long = 130; pub const SYS_flock: ::c_long = 131; pub const SYS_lstat64: ::c_long = 132; pub const SYS_sendto: ::c_long = 133; pub const SYS_shutdown: ::c_long = 134; pub const SYS_socketpair: ::c_long = 135; pub const SYS_mkdir: ::c_long = 136; pub const SYS_rmdir: ::c_long = 137; pub const SYS_utimes: ::c_long = 138; pub const SYS_stat64: ::c_long = 139; pub const SYS_sendfile64: ::c_long = 140; pub const SYS_getpeername: ::c_long = 141; pub const SYS_futex: ::c_long = 142; pub const SYS_gettid: ::c_long = 143; pub const SYS_getrlimit: ::c_long = 144; pub const SYS_setrlimit: ::c_long = 145; pub const SYS_pivot_root: ::c_long = 146; pub const SYS_prctl: ::c_long = 147; pub const SYS_pciconfig_read: ::c_long = 148; pub const SYS_pciconfig_write: ::c_long = 149; pub const SYS_getsockname: ::c_long = 150; pub const SYS_inotify_init: ::c_long = 151; pub const SYS_inotify_add_watch: ::c_long = 152; pub const SYS_poll: ::c_long = 153; pub const SYS_getdents64: ::c_long = 154; pub const SYS_fcntl64: ::c_long = 155; pub const SYS_inotify_rm_watch: ::c_long = 156; pub const SYS_statfs: ::c_long = 157; pub const SYS_fstatfs: ::c_long = 158; pub const SYS_umount: ::c_long = 159; pub const SYS_sched_set_affinity: ::c_long = 160; pub const SYS_sched_get_affinity: ::c_long = 161; pub const SYS_getdomainname: ::c_long = 162; pub const SYS_setdomainname: ::c_long = 163; pub const SYS_quotactl: ::c_long = 165; pub const SYS_set_tid_address: ::c_long = 166; pub const SYS_mount: ::c_long = 167; pub const SYS_ustat: ::c_long = 168; pub const SYS_setxattr: ::c_long = 169; pub const SYS_lsetxattr: ::c_long = 170; pub const SYS_fsetxattr: ::c_long = 171; pub const SYS_getxattr: ::c_long = 172; pub const SYS_lgetxattr: ::c_long = 173; pub const SYS_getdents: ::c_long = 174; pub const SYS_setsid: ::c_long = 175; pub const SYS_fchdir: ::c_long = 176; pub const SYS_fgetxattr: ::c_long = 177; pub const SYS_listxattr: ::c_long = 178; pub const SYS_llistxattr: ::c_long = 179; pub const SYS_flistxattr: ::c_long = 180; pub const SYS_removexattr: ::c_long = 181; pub const SYS_lremovexattr: ::c_long = 182; pub const SYS_sigpending: ::c_long = 183; pub const SYS_query_module: ::c_long = 184; pub const SYS_setpgid: ::c_long = 185; pub const SYS_fremovexattr: ::c_long = 186; pub const SYS_tkill: ::c_long = 187; pub const SYS_exit_group: ::c_long = 188; pub const SYS_uname: ::c_long = 189; pub const SYS_init_module: ::c_long = 190; pub const SYS_personality: ::c_long = 191; pub const SYS_remap_file_pages: ::c_long = 192; pub const SYS_epoll_create: ::c_long = 193; pub const SYS_epoll_ctl: ::c_long = 194; pub const SYS_epoll_wait: ::c_long = 195; pub const SYS_ioprio_set: ::c_long = 196; pub const SYS_getppid: ::c_long = 197; pub const SYS_sigaction: ::c_long = 198; pub const SYS_sgetmask: ::c_long = 199; pub const SYS_ssetmask: ::c_long = 200; pub const SYS_sigsuspend: ::c_long = 201; pub const SYS_oldlstat: ::c_long = 202; pub const SYS_uselib: ::c_long = 203; pub const SYS_readdir: ::c_long = 204; pub const SYS_readahead: ::c_long = 205; pub const SYS_socketcall: ::c_long = 206; pub const SYS_syslog: ::c_long = 207; pub const SYS_lookup_dcookie: ::c_long = 208; pub const SYS_fadvise64: ::c_long = 209; pub const SYS_fadvise64_64: ::c_long = 210; pub const SYS_tgkill: ::c_long = 211; pub const SYS_waitpid: ::c_long = 212; pub const SYS_swapoff: ::c_long = 213; pub const SYS_sysinfo: ::c_long = 214; pub const SYS_ipc: ::c_long = 215; pub const SYS_sigreturn: ::c_long = 216; pub const SYS_clone: ::c_long = 217; pub const SYS_ioprio_get: ::c_long = 218; pub const SYS_adjtimex: ::c_long = 219; pub const SYS_sigprocmask: ::c_long = 220; pub const SYS_create_module: ::c_long = 221; pub const SYS_delete_module: ::c_long = 222; pub const SYS_get_kernel_syms: ::c_long = 223; pub const SYS_getpgid: ::c_long = 224; pub const SYS_bdflush: ::c_long = 225; pub const SYS_sysfs: ::c_long = 226; pub const SYS_afs_syscall: ::c_long = 227; pub const SYS_setfsuid: ::c_long = 228; pub const SYS_setfsgid: ::c_long = 229; pub const SYS__newselect: ::c_long = 230; pub const SYS_time: ::c_long = 231; pub const SYS_splice: ::c_long = 232; pub const SYS_stime: ::c_long = 233; pub const SYS_statfs64: ::c_long = 234; pub const SYS_fstatfs64: ::c_long = 235; pub const SYS__llseek: ::c_long = 236; pub const SYS_mlock: ::c_long = 237; pub const SYS_munlock: ::c_long = 238; pub const SYS_mlockall: ::c_long = 239; pub const SYS_munlockall: ::c_long = 240; pub const SYS_sched_setparam: ::c_long = 241; pub const SYS_sched_getparam: ::c_long = 242; pub const SYS_sched_setscheduler: ::c_long = 243; pub const SYS_sched_getscheduler: ::c_long = 244; pub const SYS_sched_yield: ::c_long = 245; pub const SYS_sched_get_priority_max: ::c_long = 246; pub const SYS_sched_get_priority_min: ::c_long = 247; pub const SYS_sched_rr_get_interval: ::c_long = 248; pub const SYS_nanosleep: ::c_long = 249; pub const SYS_mremap: ::c_long = 250; pub const SYS__sysctl: ::c_long = 251; pub const SYS_getsid: ::c_long = 252; pub const SYS_fdatasync: ::c_long = 253; pub const SYS_nfsservctl: ::c_long = 254; pub const SYS_sync_file_range: ::c_long = 255; pub const SYS_clock_settime: ::c_long = 256; pub const SYS_clock_gettime: ::c_long = 257; pub const SYS_clock_getres: ::c_long = 258; pub const SYS_clock_nanosleep: ::c_long = 259; pub const SYS_sched_getaffinity: ::c_long = 260; pub const SYS_sched_setaffinity: ::c_long = 261; pub const SYS_timer_settime: ::c_long = 262; pub const SYS_timer_gettime: ::c_long = 263; pub const SYS_timer_getoverrun: ::c_long = 264; pub const SYS_timer_delete: ::c_long = 265; pub const SYS_timer_create: ::c_long = 266; pub const SYS_io_setup: ::c_long = 268; pub const SYS_io_destroy: ::c_long = 269; pub const SYS_io_submit: ::c_long = 270; pub const SYS_io_cancel: ::c_long = 271; pub const SYS_io_getevents: ::c_long = 272; pub const SYS_mq_open: ::c_long = 273; pub const SYS_mq_unlink: ::c_long = 274; pub const SYS_mq_timedsend: ::c_long = 275; pub const SYS_mq_timedreceive: ::c_long = 276; pub const SYS_mq_notify: ::c_long = 277; pub const SYS_mq_getsetattr: ::c_long = 278; pub const SYS_waitid: ::c_long = 279; pub const SYS_tee: ::c_long = 280; pub const SYS_add_key: ::c_long = 281; pub const SYS_request_key: ::c_long = 282; pub const SYS_keyctl: ::c_long = 283; pub const SYS_openat: ::c_long = 284; pub const SYS_mkdirat: ::c_long = 285; pub const SYS_mknodat: ::c_long = 286; pub const SYS_fchownat: ::c_long = 287; pub const SYS_futimesat: ::c_long = 288; pub const SYS_fstatat64: ::c_long = 289; pub const SYS_unlinkat: ::c_long = 290; pub const SYS_renameat: ::c_long = 291; pub const SYS_linkat: ::c_long = 292; pub const SYS_symlinkat: ::c_long = 293; pub const SYS_readlinkat: ::c_long = 294; pub const SYS_fchmodat: ::c_long = 295; pub const SYS_faccessat: ::c_long = 296; pub const SYS_pselect6: ::c_long = 297; pub const SYS_ppoll: ::c_long = 298; pub const SYS_unshare: ::c_long = 299; pub const SYS_set_robust_list: ::c_long = 300; pub const SYS_get_robust_list: ::c_long = 301; pub const SYS_migrate_pages: ::c_long = 302; pub const SYS_mbind: ::c_long = 303; pub const SYS_get_mempolicy: ::c_long = 304; pub const SYS_set_mempolicy: ::c_long = 305; pub const SYS_kexec_load: ::c_long = 306; pub const SYS_move_pages: ::c_long = 307; pub const SYS_getcpu: ::c_long = 308; pub const SYS_epoll_pwait: ::c_long = 309; pub const SYS_utimensat: ::c_long = 310; pub const SYS_signalfd: ::c_long = 311; pub const SYS_timerfd_create: ::c_long = 312; pub const SYS_eventfd: ::c_long = 313; pub const SYS_fallocate: ::c_long = 314; pub const SYS_timerfd_settime: ::c_long = 315; pub const SYS_timerfd_gettime: ::c_long = 316; pub const SYS_signalfd4: ::c_long = 317; pub const SYS_eventfd2: ::c_long = 318; pub const SYS_epoll_create1: ::c_long = 319; pub const SYS_dup3: ::c_long = 320; pub const SYS_pipe2: ::c_long = 321; pub const SYS_inotify_init1: ::c_long = 322; pub const SYS_accept4: ::c_long = 323; pub const SYS_preadv: ::c_long = 324; pub const SYS_pwritev: ::c_long = 325; pub const SYS_rt_tgsigqueueinfo: ::c_long = 326; pub const SYS_perf_event_open: ::c_long = 327; pub const SYS_recvmmsg: ::c_long = 328; pub const SYS_fanotify_init: ::c_long = 329; pub const SYS_fanotify_mark: ::c_long = 330; pub const SYS_prlimit64: ::c_long = 331; pub const SYS_name_to_handle_at: ::c_long = 332; pub const SYS_open_by_handle_at: ::c_long = 333; pub const SYS_clock_adjtime: ::c_long = 334; pub const SYS_syncfs: ::c_long = 335; pub const SYS_sendmmsg: ::c_long = 336; pub const SYS_setns: ::c_long = 337; pub const SYS_process_vm_readv: ::c_long = 338; pub const SYS_process_vm_writev: ::c_long = 339; pub const SYS_kern_features: ::c_long = 340; pub const SYS_kcmp: ::c_long = 341; pub const SYS_finit_module: ::c_long = 342; pub const SYS_sched_setattr: ::c_long = 343; pub const SYS_sched_getattr: ::c_long = 344; pub const SYS_renameat2: ::c_long = 345; pub const SYS_seccomp: ::c_long = 346; pub const SYS_getrandom: ::c_long = 347; pub const SYS_memfd_create: ::c_long = 348; pub const SYS_bpf: ::c_long = 349; pub const SYS_execveat: ::c_long = 350; pub const SYS_membarrier: ::c_long = 351; pub const SYS_userfaultfd: ::c_long = 352; pub const SYS_bind: ::c_long = 353; pub const SYS_listen: ::c_long = 354; pub const SYS_setsockopt: ::c_long = 355; pub const SYS_mlock2: ::c_long = 356; pub const SYS_copy_file_range: ::c_long = 357; pub const SYS_preadv2: ::c_long = 358; pub const SYS_pwritev2: ::c_long = 359; pub const SYS_statx: ::c_long = 360; #[link(name = "util")] extern "C" { pub fn sysctl( name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/b32/x86/align.rs010064400007650000024000000002251355140103400212500ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f64; 6] } } libc-0.2.66/src/unix/linux_like/linux/gnu/b32/x86/mod.rs010064400007650000024000001166341357020644200207600ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; pub type greg_t = i32; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } 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, f_spare: [::__fsword_t; 5], } 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 _libc_fpreg { pub significand: [u16; 4], pub exponent: u16, } pub struct _libc_fpstate { pub cw: ::c_ulong, pub sw: ::c_ulong, pub tag: ::c_ulong, pub ipoff: ::c_ulong, pub cssel: ::c_ulong, pub dataoff: ::c_ulong, pub datasel: ::c_ulong, pub _st: [_libc_fpreg; 8], pub status: ::c_ulong, } pub struct user_fpregs_struct { pub cwd: ::c_long, pub swd: ::c_long, pub twd: ::c_long, pub fip: ::c_long, pub fcs: ::c_long, pub foo: ::c_long, pub fos: ::c_long, pub st_space: [::c_long; 20], } pub struct user_regs_struct { pub ebx: ::c_long, pub ecx: ::c_long, pub edx: ::c_long, pub esi: ::c_long, pub edi: ::c_long, pub ebp: ::c_long, pub eax: ::c_long, pub xds: ::c_long, pub xes: ::c_long, pub xfs: ::c_long, pub xgs: ::c_long, pub orig_eax: ::c_long, pub eip: ::c_long, pub xcs: ::c_long, pub eflags: ::c_long, pub esp: ::c_long, pub xss: ::c_long, } pub struct user { pub regs: user_regs_struct, pub u_fpvalid: ::c_int, pub i387: user_fpregs_struct, pub u_tsize: ::c_ulong, pub u_dsize: ::c_ulong, pub u_ssize: ::c_ulong, pub start_code: ::c_ulong, pub start_stack: ::c_ulong, pub signal: ::c_long, __reserved: ::c_int, pub u_ar0: *mut user_regs_struct, pub u_fpstate: *mut user_fpregs_struct, pub magic: ::c_ulong, pub u_comm: [c_char; 32], pub u_debugreg: [::c_int; 8], } pub struct mcontext_t { pub gregs: [greg_t; 19], pub fpregs: *mut _libc_fpstate, pub oldmask: ::c_ulong, pub cr2: ::c_ulong, } 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 stat64 { pub st_dev: ::dev_t, __pad1: ::c_uint, __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_uint, 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_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_ino: ::ino64_t, } pub struct statfs64 { pub f_type: ::__fsword_t, pub f_bsize: ::__fsword_t, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, 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: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, 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, __unused1: ::c_ulong, pub shm_dtime: ::time_t, __unused2: ::c_ulong, pub shm_ctime: ::time_t, __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 struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, __glibc_reserved1: ::c_ulong, pub msg_rtime: ::time_t, __glibc_reserved2: ::c_ulong, pub msg_ctime: ::time_t, __glibc_reserved3: ::c_ulong, __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 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, 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: [usize; 0], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } } s_no_extra_traits! { pub struct user_fpxregs_struct { pub cwd: ::c_ushort, pub swd: ::c_ushort, pub twd: ::c_ushort, pub fop: ::c_ushort, pub fip: ::c_long, pub fcs: ::c_long, pub foo: ::c_long, pub fos: ::c_long, pub mxcsr: ::c_long, __reserved: ::c_long, pub st_space: [::c_long; 32], pub xmm_space: [::c_long; 32], padding: [::c_long; 56], } 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, __private: [u8; 112], __ssp: [::c_ulong; 4], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for user_fpxregs_struct { fn eq(&self, other: &user_fpxregs_struct) -> bool { self.cwd == other.cwd && self.swd == other.swd && self.twd == other.twd && self.fop == other.fop && self.fip == other.fip && self.fcs == other.fcs && self.foo == other.foo && self.fos == other.fos && self.mxcsr == other.mxcsr // Ignore __reserved field && self.st_space == other.st_space && self.xmm_space == other.xmm_space // Ignore padding field } } impl Eq for user_fpxregs_struct {} impl ::fmt::Debug for user_fpxregs_struct { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("user_fpxregs_struct") .field("cwd", &self.cwd) .field("swd", &self.swd) .field("twd", &self.twd) .field("fop", &self.fop) .field("fip", &self.fip) .field("fcs", &self.fcs) .field("foo", &self.foo) .field("fos", &self.fos) .field("mxcsr", &self.mxcsr) // Ignore __reserved field .field("st_space", &self.st_space) .field("xmm_space", &self.xmm_space) // Ignore padding field .finish() } } impl ::hash::Hash for user_fpxregs_struct { fn hash(&self, state: &mut H) { self.cwd.hash(state); self.swd.hash(state); self.twd.hash(state); self.fop.hash(state); self.fip.hash(state); self.fcs.hash(state); self.foo.hash(state); self.fos.hash(state); self.mxcsr.hash(state); // Ignore __reserved field self.st_space.hash(state); self.xmm_space.hash(state); // Ignore padding field } } 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 // Ignore __private field } } 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_stack", &self.uc_stack) .field("uc_mcontext", &self.uc_mcontext) .field("uc_sigmask", &self.uc_sigmask) // Ignore __private field .finish() } } impl ::hash::Hash for ucontext_t { fn hash(&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); // Ignore __private field } } } } 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 = 0x4000; pub const O_DIRECTORY: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x20000; pub const O_LARGEFILE: ::c_int = 0o0100000; 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 SOL_SOCKET: ::c_int = 1; 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 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 SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_LINGER: ::c_int = 13; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; 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 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 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 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; 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 BOTHER: ::speed_t = 0o010000; 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 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; 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_time: ::c_long = 13; pub const SYS_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_break: ::c_long = 17; pub const SYS_oldstat: ::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_umount: ::c_long = 22; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_stime: ::c_long = 25; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_oldfstat: ::c_long = 28; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::c_long = 30; pub const SYS_stty: ::c_long = 31; pub const SYS_gtty: ::c_long = 32; pub const SYS_access: ::c_long = 33; pub const SYS_nice: ::c_long = 34; pub const SYS_ftime: ::c_long = 35; 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_prof: ::c_long = 44; pub const SYS_brk: ::c_long = 45; pub const SYS_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_signal: ::c_long = 48; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::c_long = 52; pub const SYS_lock: ::c_long = 53; pub const SYS_ioctl: ::c_long = 54; pub const SYS_fcntl: ::c_long = 55; pub const SYS_mpx: ::c_long = 56; pub const SYS_setpgid: ::c_long = 57; pub const SYS_ulimit: ::c_long = 58; pub const SYS_oldolduname: ::c_long = 59; 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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_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_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_select: ::c_long = 82; pub const SYS_symlink: ::c_long = 83; pub const SYS_oldlstat: ::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_readdir: ::c_long = 89; pub const SYS_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_fchown: ::c_long = 95; pub const SYS_getpriority: ::c_long = 96; pub const SYS_setpriority: ::c_long = 97; pub const SYS_profil: ::c_long = 98; pub const SYS_statfs: ::c_long = 99; pub const SYS_fstatfs: ::c_long = 100; pub const SYS_ioperm: ::c_long = 101; 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_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::c_long = 108; pub const SYS_olduname: ::c_long = 109; pub const SYS_iopl: ::c_long = 110; pub const SYS_vhangup: ::c_long = 111; pub const SYS_idle: ::c_long = 112; pub const SYS_vm86old: ::c_long = 113; 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_uname: ::c_long = 122; pub const SYS_modify_ldt: ::c_long = 123; pub const SYS_adjtimex: ::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_afs_syscall: ::c_long = 137; pub const SYS_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; pub const SYS__newselect: ::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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_vm86: ::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_setresgid: ::c_long = 170; pub const SYS_getresgid: ::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: ::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_chown: ::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_ugetrlimit: ::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_lchown32: ::c_long = 198; pub const SYS_getuid32: ::c_long = 199; pub const SYS_getgid32: ::c_long = 200; pub const SYS_geteuid32: ::c_long = 201; pub const SYS_getegid32: ::c_long = 202; pub const SYS_setreuid32: ::c_long = 203; pub const SYS_setregid32: ::c_long = 204; pub const SYS_getgroups32: ::c_long = 205; pub const SYS_setgroups32: ::c_long = 206; pub const SYS_fchown32: ::c_long = 207; pub const SYS_setresuid32: ::c_long = 208; pub const SYS_getresuid32: ::c_long = 209; pub const SYS_setresgid32: ::c_long = 210; pub const SYS_getresgid32: ::c_long = 211; pub const SYS_chown32: ::c_long = 212; pub const SYS_setuid32: ::c_long = 213; pub const SYS_setgid32: ::c_long = 214; pub const SYS_setfsuid32: ::c_long = 215; pub const SYS_setfsgid32: ::c_long = 216; pub const SYS_pivot_root: ::c_long = 217; pub const SYS_mincore: ::c_long = 218; pub const SYS_madvise: ::c_long = 219; pub const SYS_getdents64: ::c_long = 220; pub const SYS_fcntl64: ::c_long = 221; pub const SYS_gettid: ::c_long = 224; pub const SYS_readahead: ::c_long = 225; pub const SYS_setxattr: ::c_long = 226; pub const SYS_lsetxattr: ::c_long = 227; pub const SYS_fsetxattr: ::c_long = 228; pub const SYS_getxattr: ::c_long = 229; pub const SYS_lgetxattr: ::c_long = 230; pub const SYS_fgetxattr: ::c_long = 231; pub const SYS_listxattr: ::c_long = 232; pub const SYS_llistxattr: ::c_long = 233; pub const SYS_flistxattr: ::c_long = 234; pub const SYS_removexattr: ::c_long = 235; pub const SYS_lremovexattr: ::c_long = 236; pub const SYS_fremovexattr: ::c_long = 237; pub const SYS_tkill: ::c_long = 238; pub const SYS_sendfile64: ::c_long = 239; pub const SYS_futex: ::c_long = 240; pub const SYS_sched_setaffinity: ::c_long = 241; pub const SYS_sched_getaffinity: ::c_long = 242; pub const SYS_set_thread_area: ::c_long = 243; pub const SYS_get_thread_area: ::c_long = 244; pub const SYS_io_setup: ::c_long = 245; pub const SYS_io_destroy: ::c_long = 246; pub const SYS_io_getevents: ::c_long = 247; pub const SYS_io_submit: ::c_long = 248; pub const SYS_io_cancel: ::c_long = 249; pub const SYS_fadvise64: ::c_long = 250; pub const SYS_exit_group: ::c_long = 252; pub const SYS_lookup_dcookie: ::c_long = 253; pub const SYS_epoll_create: ::c_long = 254; pub const SYS_epoll_ctl: ::c_long = 255; pub const SYS_epoll_wait: ::c_long = 256; pub const SYS_remap_file_pages: ::c_long = 257; pub const SYS_set_tid_address: ::c_long = 258; pub const SYS_timer_create: ::c_long = 259; pub const SYS_timer_settime: ::c_long = 260; pub const SYS_timer_gettime: ::c_long = 261; pub const SYS_timer_getoverrun: ::c_long = 262; pub const SYS_timer_delete: ::c_long = 263; pub const SYS_clock_settime: ::c_long = 264; pub const SYS_clock_gettime: ::c_long = 265; pub const SYS_clock_getres: ::c_long = 266; pub const SYS_clock_nanosleep: ::c_long = 267; pub const SYS_statfs64: ::c_long = 268; pub const SYS_fstatfs64: ::c_long = 269; pub const SYS_tgkill: ::c_long = 270; pub const SYS_utimes: ::c_long = 271; pub const SYS_fadvise64_64: ::c_long = 272; pub const SYS_vserver: ::c_long = 273; pub const SYS_mbind: ::c_long = 274; pub const SYS_get_mempolicy: ::c_long = 275; pub const SYS_set_mempolicy: ::c_long = 276; pub const SYS_mq_open: ::c_long = 277; pub const SYS_mq_unlink: ::c_long = 278; pub const SYS_mq_timedsend: ::c_long = 279; pub const SYS_mq_timedreceive: ::c_long = 280; pub const SYS_mq_notify: ::c_long = 281; pub const SYS_mq_getsetattr: ::c_long = 282; pub const SYS_kexec_load: ::c_long = 283; pub const SYS_waitid: ::c_long = 284; pub const SYS_add_key: ::c_long = 286; pub const SYS_request_key: ::c_long = 287; pub const SYS_keyctl: ::c_long = 288; pub const SYS_ioprio_set: ::c_long = 289; pub const SYS_ioprio_get: ::c_long = 290; pub const SYS_inotify_init: ::c_long = 291; pub const SYS_inotify_add_watch: ::c_long = 292; pub const SYS_inotify_rm_watch: ::c_long = 293; pub const SYS_migrate_pages: ::c_long = 294; pub const SYS_openat: ::c_long = 295; pub const SYS_mkdirat: ::c_long = 296; pub const SYS_mknodat: ::c_long = 297; pub const SYS_fchownat: ::c_long = 298; pub const SYS_futimesat: ::c_long = 299; pub const SYS_fstatat64: ::c_long = 300; pub const SYS_unlinkat: ::c_long = 301; pub const SYS_renameat: ::c_long = 302; pub const SYS_linkat: ::c_long = 303; pub const SYS_symlinkat: ::c_long = 304; pub const SYS_readlinkat: ::c_long = 305; pub const SYS_fchmodat: ::c_long = 306; pub const SYS_faccessat: ::c_long = 307; pub const SYS_pselect6: ::c_long = 308; pub const SYS_ppoll: ::c_long = 309; pub const SYS_unshare: ::c_long = 310; pub const SYS_set_robust_list: ::c_long = 311; pub const SYS_get_robust_list: ::c_long = 312; pub const SYS_splice: ::c_long = 313; pub const SYS_sync_file_range: ::c_long = 314; pub const SYS_tee: ::c_long = 315; pub const SYS_vmsplice: ::c_long = 316; pub const SYS_move_pages: ::c_long = 317; pub const SYS_getcpu: ::c_long = 318; pub const SYS_epoll_pwait: ::c_long = 319; pub const SYS_utimensat: ::c_long = 320; pub const SYS_signalfd: ::c_long = 321; pub const SYS_timerfd_create: ::c_long = 322; pub const SYS_eventfd: ::c_long = 323; pub const SYS_fallocate: ::c_long = 324; pub const SYS_timerfd_settime: ::c_long = 325; pub const SYS_timerfd_gettime: ::c_long = 326; pub const SYS_signalfd4: ::c_long = 327; pub const SYS_eventfd2: ::c_long = 328; pub const SYS_epoll_create1: ::c_long = 329; pub const SYS_dup3: ::c_long = 330; pub const SYS_pipe2: ::c_long = 331; pub const SYS_inotify_init1: ::c_long = 332; pub const SYS_preadv: ::c_long = 333; pub const SYS_pwritev: ::c_long = 334; pub const SYS_rt_tgsigqueueinfo: ::c_long = 335; pub const SYS_perf_event_open: ::c_long = 336; pub const SYS_recvmmsg: ::c_long = 337; pub const SYS_fanotify_init: ::c_long = 338; pub const SYS_fanotify_mark: ::c_long = 339; pub const SYS_prlimit64: ::c_long = 340; pub const SYS_name_to_handle_at: ::c_long = 341; pub const SYS_open_by_handle_at: ::c_long = 342; pub const SYS_clock_adjtime: ::c_long = 343; pub const SYS_syncfs: ::c_long = 344; pub const SYS_sendmmsg: ::c_long = 345; pub const SYS_setns: ::c_long = 346; pub const SYS_process_vm_readv: ::c_long = 347; pub const SYS_process_vm_writev: ::c_long = 348; pub const SYS_kcmp: ::c_long = 349; pub const SYS_finit_module: ::c_long = 350; pub const SYS_sched_setattr: ::c_long = 351; pub const SYS_sched_getattr: ::c_long = 352; pub const SYS_renameat2: ::c_long = 353; pub const SYS_seccomp: ::c_long = 354; pub const SYS_getrandom: ::c_long = 355; pub const SYS_memfd_create: ::c_long = 356; pub const SYS_bpf: ::c_long = 357; pub const SYS_execveat: ::c_long = 358; pub const SYS_socket: ::c_long = 359; pub const SYS_socketpair: ::c_long = 360; pub const SYS_bind: ::c_long = 361; pub const SYS_connect: ::c_long = 362; pub const SYS_listen: ::c_long = 363; pub const SYS_accept4: ::c_long = 364; pub const SYS_getsockopt: ::c_long = 365; pub const SYS_setsockopt: ::c_long = 366; pub const SYS_getsockname: ::c_long = 367; pub const SYS_getpeername: ::c_long = 368; pub const SYS_sendto: ::c_long = 369; pub const SYS_sendmsg: ::c_long = 370; pub const SYS_recvfrom: ::c_long = 371; pub const SYS_recvmsg: ::c_long = 372; pub const SYS_shutdown: ::c_long = 373; pub const SYS_userfaultfd: ::c_long = 374; pub const SYS_membarrier: ::c_long = 375; pub const SYS_mlock2: ::c_long = 376; pub const SYS_copy_file_range: ::c_long = 377; pub const SYS_preadv2: ::c_long = 378; pub const SYS_pwritev2: ::c_long = 379; pub const SYS_pkey_mprotect: ::c_long = 380; pub const SYS_pkey_alloc: ::c_long = 381; pub const SYS_pkey_free: ::c_long = 382; pub const SYS_statx: ::c_long = 383; // offsets in user_regs_structs, from sys/reg.h pub const EBX: ::c_int = 0; pub const ECX: ::c_int = 1; pub const EDX: ::c_int = 2; pub const ESI: ::c_int = 3; pub const EDI: ::c_int = 4; pub const EBP: ::c_int = 5; pub const EAX: ::c_int = 6; pub const DS: ::c_int = 7; pub const ES: ::c_int = 8; pub const FS: ::c_int = 9; pub const GS: ::c_int = 10; pub const ORIG_EAX: ::c_int = 11; pub const EIP: ::c_int = 12; pub const CS: ::c_int = 13; pub const EFL: ::c_int = 14; pub const UESP: ::c_int = 15; pub const SS: ::c_int = 16; // offsets in mcontext_t.gregs from sys/ucontext.h pub const REG_GS: ::c_int = 0; pub const REG_FS: ::c_int = 1; pub const REG_ES: ::c_int = 2; pub const REG_DS: ::c_int = 3; pub const REG_EDI: ::c_int = 4; pub const REG_ESI: ::c_int = 5; pub const REG_EBP: ::c_int = 6; pub const REG_ESP: ::c_int = 7; pub const REG_EBX: ::c_int = 8; pub const REG_EDX: ::c_int = 9; pub const REG_ECX: ::c_int = 10; pub const REG_EAX: ::c_int = 11; pub const REG_TRAPNO: ::c_int = 12; pub const REG_ERR: ::c_int = 13; pub const REG_EIP: ::c_int = 14; pub const REG_CS: ::c_int = 15; pub const REG_EFL: ::c_int = 16; pub const REG_UESP: ::c_int = 17; pub const REG_SS: ::c_int = 18; extern "C" { pub fn getcontext(ucp: *mut ucontext_t) -> ::c_int; pub fn setcontext(ucp: *const ucontext_t) -> ::c_int; pub fn makecontext( ucp: *mut ucontext_t, func: extern "C" fn(), argc: ::c_int, ... ); pub fn swapcontext( uocp: *mut ucontext_t, ucp: *const ucontext_t, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/aarch64/align.rs010064400007650000024000000002251355140103400220600ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f32; 8] } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs010064400007650000024000000776261357020644200215770ustar0000000000000000//! AArch64-specific definitions for 64-bit linux-like values use pthread_mutex_t; pub type c_long = i64; pub type c_ulong = u64; pub type c_char = u8; pub type wchar_t = u32; pub type nlink_t = u32; pub type blksize_t = i32; pub type suseconds_t = i64; pub type __u64 = ::c_ulonglong; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, #[cfg(target_arch = "sparc64")] __reserved0: ::c_int, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } 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, f_spare: [::__fsword_t; 5], } 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 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, __pad1: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, __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 stat64 { 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, __pad1: ::dev_t, pub st_size: ::off64_t, pub st_blksize: ::blksize_t, __pad2: ::c_int, pub st_blocks: ::blkcnt64_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 statfs64 { pub f_type: ::__fsword_t, pub f_bsize: ::__fsword_t, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, 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 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, __f_spare: [::c_int; 6], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct pthread_attr_t { __size: [u64; 8] } 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_uint, pub __seq: ::c_ushort, __pad1: ::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, __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; 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, 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: [usize; 0], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } } pub const VEOF: usize = 4; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56; 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; pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8; pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7; pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6; 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_NOATIME: ::c_int = 0o1000000; pub const O_PATH: ::c_int = 0o10000000; pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY; pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MAP_GROWSDOWN: ::c_int = 0x0100; 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 POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const SOL_SOCKET: ::c_int = 1; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22; pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23; pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24; 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_PEERNAME: ::c_int = 28; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_PEERSEC: ::c_int = 31; pub const SO_PASSSEC: ::c_int = 34; pub const SO_TIMESTAMPNS: ::c_int = 35; pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS; pub const SO_MARK: ::c_int = 36; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; pub const SO_RXQ_OVFL: ::c_int = 40; pub const SO_WIFI_STATUS: ::c_int = 41; pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS; pub const SO_PEEK_OFF: ::c_int = 42; pub const SO_NOFCS: ::c_int = 43; pub const SO_LOCK_FILTER: ::c_int = 44; pub const SO_SELECT_ERR_QUEUE: ::c_int = 45; pub const SO_BUSY_POLL: ::c_int = 46; pub const SO_MAX_PACING_RATE: ::c_int = 47; pub const SO_BPF_EXTENSIONS: ::c_int = 48; pub const SO_INCOMING_CPU: ::c_int = 49; pub const SO_ATTACH_BPF: ::c_int = 50; pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SA_ONSTACK: ::c_int = 0x08000000; pub const SA_SIGINFO: ::c_int = 0x00000004; pub const SA_NOCLDWAIT: ::c_int = 0x00000002; 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 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 POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; pub const O_ASYNC: ::c_int = 0x2000; pub const O_NDELAY: ::c_int = 0x800; pub const PTRACE_DETACH: ::c_uint = 17; pub const EFD_NONBLOCK: ::c_int = 0x800; pub const F_GETLK: ::c_int = 5; pub const F_GETOWN: ::c_int = 9; pub const F_SETOWN: ::c_int = 8; pub const F_SETLK: ::c_int = 6; pub const F_SETLKW: ::c_int = 7; pub const F_RDLCK: ::c_int = 0; pub const F_WRLCK: ::c_int = 1; 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 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; pub const O_TRUNC: ::c_int = 512; pub const O_CLOEXEC: ::c_int = 0x80000; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 8; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 48; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 8; align_const! { pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; } pub const O_DIRECT: ::c_int = 0x10000; pub const O_DIRECTORY: ::c_int = 0x4000; pub const O_NOFOLLOW: ::c_int = 0x8000; pub const MAP_LOCKED: ::c_int = 0x02000; pub const MAP_NORESERVE: ::c_int = 0x04000; 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 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; pub const SIGSTKSZ: ::size_t = 16384; pub const MINSIGSTKSZ: ::size_t = 5120; 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 BOTHER: ::speed_t = 0o010000; 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 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; // Syscall table pub const SYS_io_setup: ::c_long = 0; pub const SYS_io_destroy: ::c_long = 1; pub const SYS_io_submit: ::c_long = 2; pub const SYS_io_cancel: ::c_long = 3; pub const SYS_io_getevents: ::c_long = 4; 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_getcwd: ::c_long = 17; pub const SYS_lookup_dcookie: ::c_long = 18; pub const SYS_eventfd2: ::c_long = 19; pub const SYS_epoll_create1: ::c_long = 20; 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; pub const SYS_ioctl: ::c_long = 29; pub const SYS_ioprio_set: ::c_long = 30; pub const SYS_ioprio_get: ::c_long = 31; pub const SYS_flock: ::c_long = 32; pub const SYS_mknodat: ::c_long = 33; pub const SYS_mkdirat: ::c_long = 34; pub const SYS_unlinkat: ::c_long = 35; pub const SYS_symlinkat: ::c_long = 36; pub const SYS_linkat: ::c_long = 37; pub const SYS_renameat: ::c_long = 38; pub const SYS_umount2: ::c_long = 39; pub const SYS_mount: ::c_long = 40; pub const SYS_pivot_root: ::c_long = 41; pub const SYS_nfsservctl: ::c_long = 42; pub const SYS_fallocate: ::c_long = 47; pub const SYS_faccessat: ::c_long = 48; pub const SYS_chdir: ::c_long = 49; pub const SYS_fchdir: ::c_long = 50; pub const SYS_chroot: ::c_long = 51; pub const SYS_fchmod: ::c_long = 52; pub const SYS_fchmodat: ::c_long = 53; pub const SYS_fchownat: ::c_long = 54; pub const SYS_fchown: ::c_long = 55; pub const SYS_openat: ::c_long = 56; pub const SYS_close: ::c_long = 57; pub const SYS_vhangup: ::c_long = 58; pub const SYS_pipe2: ::c_long = 59; pub const SYS_quotactl: ::c_long = 60; pub const SYS_getdents64: ::c_long = 61; pub const SYS_lseek: ::c_long = 62; pub const SYS_read: ::c_long = 63; pub const SYS_write: ::c_long = 64; pub const SYS_readv: ::c_long = 65; pub const SYS_writev: ::c_long = 66; pub const SYS_pread64: ::c_long = 67; pub const SYS_pwrite64: ::c_long = 68; pub const SYS_preadv: ::c_long = 69; pub const SYS_pwritev: ::c_long = 70; pub const SYS_pselect6: ::c_long = 72; pub const SYS_ppoll: ::c_long = 73; pub const SYS_signalfd4: ::c_long = 74; pub const SYS_vmsplice: ::c_long = 75; pub const SYS_splice: ::c_long = 76; pub const SYS_tee: ::c_long = 77; pub const SYS_readlinkat: ::c_long = 78; pub const SYS_newfstatat: ::c_long = 79; pub const SYS_fstat: ::c_long = 80; pub const SYS_sync: ::c_long = 81; pub const SYS_fsync: ::c_long = 82; pub const SYS_fdatasync: ::c_long = 83; pub const SYS_sync_file_range: ::c_long = 84; pub const SYS_timerfd_create: ::c_long = 85; pub const SYS_timerfd_settime: ::c_long = 86; pub const SYS_timerfd_gettime: ::c_long = 87; pub const SYS_utimensat: ::c_long = 88; pub const SYS_acct: ::c_long = 89; pub const SYS_capget: ::c_long = 90; pub const SYS_capset: ::c_long = 91; pub const SYS_personality: ::c_long = 92; pub const SYS_exit: ::c_long = 93; pub const SYS_exit_group: ::c_long = 94; pub const SYS_waitid: ::c_long = 95; pub const SYS_set_tid_address: ::c_long = 96; pub const SYS_unshare: ::c_long = 97; pub const SYS_futex: ::c_long = 98; pub const SYS_set_robust_list: ::c_long = 99; pub const SYS_get_robust_list: ::c_long = 100; pub const SYS_nanosleep: ::c_long = 101; pub const SYS_getitimer: ::c_long = 102; pub const SYS_setitimer: ::c_long = 103; pub const SYS_kexec_load: ::c_long = 104; pub const SYS_init_module: ::c_long = 105; pub const SYS_delete_module: ::c_long = 106; pub const SYS_timer_create: ::c_long = 107; pub const SYS_timer_gettime: ::c_long = 108; pub const SYS_timer_getoverrun: ::c_long = 109; pub const SYS_timer_settime: ::c_long = 110; 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_syslog: ::c_long = 116; pub const SYS_ptrace: ::c_long = 117; pub const SYS_sched_setparam: ::c_long = 118; pub const SYS_sched_setscheduler: ::c_long = 119; pub const SYS_sched_getscheduler: ::c_long = 120; pub const SYS_sched_getparam: ::c_long = 121; pub const SYS_sched_setaffinity: ::c_long = 122; pub const SYS_sched_getaffinity: ::c_long = 123; pub const SYS_sched_yield: ::c_long = 124; 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_restart_syscall: ::c_long = 128; pub const SYS_kill: ::c_long = 129; pub const SYS_tkill: ::c_long = 130; pub const SYS_tgkill: ::c_long = 131; pub const SYS_sigaltstack: ::c_long = 132; pub const SYS_rt_sigsuspend: ::c_long = 133; pub const SYS_rt_sigaction: ::c_long = 134; pub const SYS_rt_sigprocmask: ::c_long = 135; 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_sigreturn: ::c_long = 139; pub const SYS_setpriority: ::c_long = 140; pub const SYS_getpriority: ::c_long = 141; pub const SYS_reboot: ::c_long = 142; pub const SYS_setregid: ::c_long = 143; pub const SYS_setgid: ::c_long = 144; pub const SYS_setreuid: ::c_long = 145; pub const SYS_setuid: ::c_long = 146; 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_setfsuid: ::c_long = 151; pub const SYS_setfsgid: ::c_long = 152; pub const SYS_times: ::c_long = 153; pub const SYS_setpgid: ::c_long = 154; pub const SYS_getpgid: ::c_long = 155; pub const SYS_getsid: ::c_long = 156; pub const SYS_setsid: ::c_long = 157; pub const SYS_getgroups: ::c_long = 158; pub const SYS_setgroups: ::c_long = 159; pub const SYS_uname: ::c_long = 160; pub const SYS_sethostname: ::c_long = 161; pub const SYS_setdomainname: ::c_long = 162; pub const SYS_getrlimit: ::c_long = 163; pub const SYS_setrlimit: ::c_long = 164; pub const SYS_getrusage: ::c_long = 165; pub const SYS_umask: ::c_long = 166; pub const SYS_prctl: ::c_long = 167; pub const SYS_getcpu: ::c_long = 168; pub const SYS_gettimeofday: ::c_long = 169; pub const SYS_settimeofday: ::c_long = 170; pub const SYS_adjtimex: ::c_long = 171; pub const SYS_getpid: ::c_long = 172; pub const SYS_getppid: ::c_long = 173; pub const SYS_getuid: ::c_long = 174; pub const SYS_geteuid: ::c_long = 175; pub const SYS_getgid: ::c_long = 176; pub const SYS_getegid: ::c_long = 177; pub const SYS_gettid: ::c_long = 178; pub const SYS_sysinfo: ::c_long = 179; 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_msgget: ::c_long = 186; pub const SYS_msgctl: ::c_long = 187; pub const SYS_msgrcv: ::c_long = 188; pub const SYS_msgsnd: ::c_long = 189; pub const SYS_semget: ::c_long = 190; pub const SYS_semctl: ::c_long = 191; pub const SYS_semtimedop: ::c_long = 192; pub const SYS_semop: ::c_long = 193; pub const SYS_shmget: ::c_long = 194; pub const SYS_shmctl: ::c_long = 195; pub const SYS_shmat: ::c_long = 196; pub const SYS_shmdt: ::c_long = 197; pub const SYS_socket: ::c_long = 198; pub const SYS_socketpair: ::c_long = 199; pub const SYS_bind: ::c_long = 200; pub const SYS_listen: ::c_long = 201; pub const SYS_accept: ::c_long = 202; pub const SYS_connect: ::c_long = 203; pub const SYS_getsockname: ::c_long = 204; pub const SYS_getpeername: ::c_long = 205; pub const SYS_sendto: ::c_long = 206; pub const SYS_recvfrom: ::c_long = 207; pub const SYS_setsockopt: ::c_long = 208; pub const SYS_getsockopt: ::c_long = 209; pub const SYS_shutdown: ::c_long = 210; pub const SYS_sendmsg: ::c_long = 211; pub const SYS_recvmsg: ::c_long = 212; pub const SYS_readahead: ::c_long = 213; pub const SYS_brk: ::c_long = 214; pub const SYS_munmap: ::c_long = 215; pub const SYS_mremap: ::c_long = 216; 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_clone: ::c_long = 220; pub const SYS_execve: ::c_long = 221; pub const SYS_mmap: ::c_long = 222; pub const SYS_swapon: ::c_long = 224; pub const SYS_swapoff: ::c_long = 225; pub const SYS_mprotect: ::c_long = 226; pub const SYS_msync: ::c_long = 227; 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_mincore: ::c_long = 232; pub const SYS_madvise: ::c_long = 233; pub const SYS_remap_file_pages: ::c_long = 234; pub const SYS_mbind: ::c_long = 235; pub const SYS_get_mempolicy: ::c_long = 236; pub const SYS_set_mempolicy: ::c_long = 237; pub const SYS_migrate_pages: ::c_long = 238; pub const SYS_move_pages: ::c_long = 239; pub const SYS_rt_tgsigqueueinfo: ::c_long = 240; pub const SYS_perf_event_open: ::c_long = 241; pub const SYS_accept4: ::c_long = 242; pub const SYS_recvmmsg: ::c_long = 243; pub const SYS_wait4: ::c_long = 260; pub const SYS_prlimit64: ::c_long = 261; pub const SYS_fanotify_init: ::c_long = 262; pub const SYS_fanotify_mark: ::c_long = 263; 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_setns: ::c_long = 268; pub const SYS_sendmmsg: ::c_long = 269; 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; #[link(name = "util")] extern "C" { pub fn sysctl( name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/mips64/align.rs010064400007650000024000000002251355140103400217520ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f64; 4] } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs010064400007650000024000001120241357020644200214470ustar0000000000000000use pthread_mutex_t; pub type blksize_t = i64; pub type c_char = i8; pub type c_long = i64; pub type c_ulong = u64; pub type nlink_t = u64; pub type suseconds_t = i64; pub type wchar_t = i32; pub type __u64 = ::c_ulong; s! { pub struct stat { pub st_dev: ::c_ulong, st_pad1: [::c_long; 2], 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_ulong, st_pad2: [::c_ulong; 1], pub st_size: ::off_t, st_pad3: ::c_long, 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_blksize: ::blksize_t, st_pad4: ::c_long, pub st_blocks: ::blkcnt_t, st_pad5: [::c_long; 7], } pub struct statfs { pub f_type: ::c_long, pub f_bsize: ::c_long, pub f_frsize: ::c_long, pub f_blocks: ::fsblkcnt_t, pub f_bfree: ::fsblkcnt_t, pub f_files: ::fsblkcnt_t, pub f_ffree: ::fsblkcnt_t, pub f_bavail: ::fsblkcnt_t, pub f_fsid: ::fsid_t, pub f_namelen: ::c_long, f_spare: [::c_long; 6], } 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 stat64 { pub st_dev: ::c_ulong, st_pad1: [::c_long; 2], 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: ::c_ulong, st_pad2: [::c_long; 2], pub st_size: ::off64_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_blksize: ::blksize_t, st_pad3: ::c_long, pub st_blocks: ::blkcnt64_t, st_pad5: [::c_long; 7], } pub struct statfs64 { pub f_type: ::c_long, pub f_bsize: ::c_long, pub f_frsize: ::c_long, pub f_blocks: u64, pub f_bfree: u64, pub f_files: u64, pub f_ffree: u64, pub f_bavail: u64, pub f_fsid: ::fsid_t, pub f_namelen: ::c_long, pub f_flags: ::c_long, pub f_spare: [::c_long; 5], } 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, __f_spare: [::c_int; 6], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct pthread_attr_t { __size: [::c_ulong; 7] } pub struct sigaction { pub sa_flags: ::c_int, pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_restorer: ::Option, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, pub si_errno: ::c_int, _pad: ::c_int, _pad2: [::c_long; 14], } 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_uint, pub __seq: ::c_ushort, __pad1: ::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, __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; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56; align_const! { #[cfg(target_endian = "little")] pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "little")] pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "little")] pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; } pub const SYS_read: ::c_long = 5000 + 0; pub const SYS_write: ::c_long = 5000 + 1; pub const SYS_open: ::c_long = 5000 + 2; pub const SYS_close: ::c_long = 5000 + 3; pub const SYS_stat: ::c_long = 5000 + 4; pub const SYS_fstat: ::c_long = 5000 + 5; pub const SYS_lstat: ::c_long = 5000 + 6; pub const SYS_poll: ::c_long = 5000 + 7; pub const SYS_lseek: ::c_long = 5000 + 8; pub const SYS_mmap: ::c_long = 5000 + 9; pub const SYS_mprotect: ::c_long = 5000 + 10; pub const SYS_munmap: ::c_long = 5000 + 11; pub const SYS_brk: ::c_long = 5000 + 12; pub const SYS_rt_sigaction: ::c_long = 5000 + 13; pub const SYS_rt_sigprocmask: ::c_long = 5000 + 14; pub const SYS_ioctl: ::c_long = 5000 + 15; pub const SYS_pread64: ::c_long = 5000 + 16; pub const SYS_pwrite64: ::c_long = 5000 + 17; pub const SYS_readv: ::c_long = 5000 + 18; pub const SYS_writev: ::c_long = 5000 + 19; pub const SYS_access: ::c_long = 5000 + 20; pub const SYS_pipe: ::c_long = 5000 + 21; pub const SYS__newselect: ::c_long = 5000 + 22; pub const SYS_sched_yield: ::c_long = 5000 + 23; pub const SYS_mremap: ::c_long = 5000 + 24; pub const SYS_msync: ::c_long = 5000 + 25; pub const SYS_mincore: ::c_long = 5000 + 26; pub const SYS_madvise: ::c_long = 5000 + 27; pub const SYS_shmget: ::c_long = 5000 + 28; pub const SYS_shmat: ::c_long = 5000 + 29; pub const SYS_shmctl: ::c_long = 5000 + 30; pub const SYS_dup: ::c_long = 5000 + 31; pub const SYS_dup2: ::c_long = 5000 + 32; pub const SYS_pause: ::c_long = 5000 + 33; pub const SYS_nanosleep: ::c_long = 5000 + 34; pub const SYS_getitimer: ::c_long = 5000 + 35; pub const SYS_setitimer: ::c_long = 5000 + 36; pub const SYS_alarm: ::c_long = 5000 + 37; pub const SYS_getpid: ::c_long = 5000 + 38; pub const SYS_sendfile: ::c_long = 5000 + 39; pub const SYS_socket: ::c_long = 5000 + 40; pub const SYS_connect: ::c_long = 5000 + 41; pub const SYS_accept: ::c_long = 5000 + 42; pub const SYS_sendto: ::c_long = 5000 + 43; pub const SYS_recvfrom: ::c_long = 5000 + 44; pub const SYS_sendmsg: ::c_long = 5000 + 45; pub const SYS_recvmsg: ::c_long = 5000 + 46; pub const SYS_shutdown: ::c_long = 5000 + 47; pub const SYS_bind: ::c_long = 5000 + 48; pub const SYS_listen: ::c_long = 5000 + 49; pub const SYS_getsockname: ::c_long = 5000 + 50; pub const SYS_getpeername: ::c_long = 5000 + 51; pub const SYS_socketpair: ::c_long = 5000 + 52; pub const SYS_setsockopt: ::c_long = 5000 + 53; pub const SYS_getsockopt: ::c_long = 5000 + 54; pub const SYS_clone: ::c_long = 5000 + 55; pub const SYS_fork: ::c_long = 5000 + 56; pub const SYS_execve: ::c_long = 5000 + 57; pub const SYS_exit: ::c_long = 5000 + 58; pub const SYS_wait4: ::c_long = 5000 + 59; pub const SYS_kill: ::c_long = 5000 + 60; pub const SYS_uname: ::c_long = 5000 + 61; pub const SYS_semget: ::c_long = 5000 + 62; pub const SYS_semop: ::c_long = 5000 + 63; pub const SYS_semctl: ::c_long = 5000 + 64; pub const SYS_shmdt: ::c_long = 5000 + 65; pub const SYS_msgget: ::c_long = 5000 + 66; pub const SYS_msgsnd: ::c_long = 5000 + 67; pub const SYS_msgrcv: ::c_long = 5000 + 68; pub const SYS_msgctl: ::c_long = 5000 + 69; pub const SYS_fcntl: ::c_long = 5000 + 70; pub const SYS_flock: ::c_long = 5000 + 71; pub const SYS_fsync: ::c_long = 5000 + 72; pub const SYS_fdatasync: ::c_long = 5000 + 73; pub const SYS_truncate: ::c_long = 5000 + 74; pub const SYS_ftruncate: ::c_long = 5000 + 75; pub const SYS_getdents: ::c_long = 5000 + 76; pub const SYS_getcwd: ::c_long = 5000 + 77; pub const SYS_chdir: ::c_long = 5000 + 78; pub const SYS_fchdir: ::c_long = 5000 + 79; pub const SYS_rename: ::c_long = 5000 + 80; pub const SYS_mkdir: ::c_long = 5000 + 81; pub const SYS_rmdir: ::c_long = 5000 + 82; pub const SYS_creat: ::c_long = 5000 + 83; pub const SYS_link: ::c_long = 5000 + 84; pub const SYS_unlink: ::c_long = 5000 + 85; pub const SYS_symlink: ::c_long = 5000 + 86; pub const SYS_readlink: ::c_long = 5000 + 87; pub const SYS_chmod: ::c_long = 5000 + 88; pub const SYS_fchmod: ::c_long = 5000 + 89; pub const SYS_chown: ::c_long = 5000 + 90; pub const SYS_fchown: ::c_long = 5000 + 91; pub const SYS_lchown: ::c_long = 5000 + 92; pub const SYS_umask: ::c_long = 5000 + 93; pub const SYS_gettimeofday: ::c_long = 5000 + 94; pub const SYS_getrlimit: ::c_long = 5000 + 95; pub const SYS_getrusage: ::c_long = 5000 + 96; pub const SYS_sysinfo: ::c_long = 5000 + 97; pub const SYS_times: ::c_long = 5000 + 98; pub const SYS_ptrace: ::c_long = 5000 + 99; pub const SYS_getuid: ::c_long = 5000 + 100; pub const SYS_syslog: ::c_long = 5000 + 101; pub const SYS_getgid: ::c_long = 5000 + 102; pub const SYS_setuid: ::c_long = 5000 + 103; pub const SYS_setgid: ::c_long = 5000 + 104; pub const SYS_geteuid: ::c_long = 5000 + 105; pub const SYS_getegid: ::c_long = 5000 + 106; pub const SYS_setpgid: ::c_long = 5000 + 107; pub const SYS_getppid: ::c_long = 5000 + 108; pub const SYS_getpgrp: ::c_long = 5000 + 109; pub const SYS_setsid: ::c_long = 5000 + 110; pub const SYS_setreuid: ::c_long = 5000 + 111; pub const SYS_setregid: ::c_long = 5000 + 112; pub const SYS_getgroups: ::c_long = 5000 + 113; pub const SYS_setgroups: ::c_long = 5000 + 114; pub const SYS_setresuid: ::c_long = 5000 + 115; pub const SYS_getresuid: ::c_long = 5000 + 116; pub const SYS_setresgid: ::c_long = 5000 + 117; pub const SYS_getresgid: ::c_long = 5000 + 118; pub const SYS_getpgid: ::c_long = 5000 + 119; pub const SYS_setfsuid: ::c_long = 5000 + 120; pub const SYS_setfsgid: ::c_long = 5000 + 121; pub const SYS_getsid: ::c_long = 5000 + 122; pub const SYS_capget: ::c_long = 5000 + 123; pub const SYS_capset: ::c_long = 5000 + 124; pub const SYS_rt_sigpending: ::c_long = 5000 + 125; pub const SYS_rt_sigtimedwait: ::c_long = 5000 + 126; pub const SYS_rt_sigqueueinfo: ::c_long = 5000 + 127; pub const SYS_rt_sigsuspend: ::c_long = 5000 + 128; pub const SYS_sigaltstack: ::c_long = 5000 + 129; pub const SYS_utime: ::c_long = 5000 + 130; pub const SYS_mknod: ::c_long = 5000 + 131; pub const SYS_personality: ::c_long = 5000 + 132; pub const SYS_ustat: ::c_long = 5000 + 133; pub const SYS_statfs: ::c_long = 5000 + 134; pub const SYS_fstatfs: ::c_long = 5000 + 135; pub const SYS_sysfs: ::c_long = 5000 + 136; pub const SYS_getpriority: ::c_long = 5000 + 137; pub const SYS_setpriority: ::c_long = 5000 + 138; pub const SYS_sched_setparam: ::c_long = 5000 + 139; pub const SYS_sched_getparam: ::c_long = 5000 + 140; pub const SYS_sched_setscheduler: ::c_long = 5000 + 141; pub const SYS_sched_getscheduler: ::c_long = 5000 + 142; pub const SYS_sched_get_priority_max: ::c_long = 5000 + 143; pub const SYS_sched_get_priority_min: ::c_long = 5000 + 144; pub const SYS_sched_rr_get_interval: ::c_long = 5000 + 145; pub const SYS_mlock: ::c_long = 5000 + 146; pub const SYS_munlock: ::c_long = 5000 + 147; pub const SYS_mlockall: ::c_long = 5000 + 148; pub const SYS_munlockall: ::c_long = 5000 + 149; pub const SYS_vhangup: ::c_long = 5000 + 150; pub const SYS_pivot_root: ::c_long = 5000 + 151; pub const SYS__sysctl: ::c_long = 5000 + 152; pub const SYS_prctl: ::c_long = 5000 + 153; pub const SYS_adjtimex: ::c_long = 5000 + 154; pub const SYS_setrlimit: ::c_long = 5000 + 155; pub const SYS_chroot: ::c_long = 5000 + 156; pub const SYS_sync: ::c_long = 5000 + 157; pub const SYS_acct: ::c_long = 5000 + 158; pub const SYS_settimeofday: ::c_long = 5000 + 159; pub const SYS_mount: ::c_long = 5000 + 160; pub const SYS_umount2: ::c_long = 5000 + 161; pub const SYS_swapon: ::c_long = 5000 + 162; pub const SYS_swapoff: ::c_long = 5000 + 163; pub const SYS_reboot: ::c_long = 5000 + 164; pub const SYS_sethostname: ::c_long = 5000 + 165; pub const SYS_setdomainname: ::c_long = 5000 + 166; pub const SYS_create_module: ::c_long = 5000 + 167; pub const SYS_init_module: ::c_long = 5000 + 168; pub const SYS_delete_module: ::c_long = 5000 + 169; pub const SYS_get_kernel_syms: ::c_long = 5000 + 170; pub const SYS_query_module: ::c_long = 5000 + 171; pub const SYS_quotactl: ::c_long = 5000 + 172; pub const SYS_nfsservctl: ::c_long = 5000 + 173; pub const SYS_getpmsg: ::c_long = 5000 + 174; pub const SYS_putpmsg: ::c_long = 5000 + 175; pub const SYS_afs_syscall: ::c_long = 5000 + 176; pub const SYS_gettid: ::c_long = 5000 + 178; pub const SYS_readahead: ::c_long = 5000 + 179; pub const SYS_setxattr: ::c_long = 5000 + 180; pub const SYS_lsetxattr: ::c_long = 5000 + 181; pub const SYS_fsetxattr: ::c_long = 5000 + 182; pub const SYS_getxattr: ::c_long = 5000 + 183; pub const SYS_lgetxattr: ::c_long = 5000 + 184; pub const SYS_fgetxattr: ::c_long = 5000 + 185; pub const SYS_listxattr: ::c_long = 5000 + 186; pub const SYS_llistxattr: ::c_long = 5000 + 187; pub const SYS_flistxattr: ::c_long = 5000 + 188; pub const SYS_removexattr: ::c_long = 5000 + 189; pub const SYS_lremovexattr: ::c_long = 5000 + 190; pub const SYS_fremovexattr: ::c_long = 5000 + 191; pub const SYS_tkill: ::c_long = 5000 + 192; pub const SYS_futex: ::c_long = 5000 + 194; pub const SYS_sched_setaffinity: ::c_long = 5000 + 195; pub const SYS_sched_getaffinity: ::c_long = 5000 + 196; pub const SYS_cacheflush: ::c_long = 5000 + 197; pub const SYS_cachectl: ::c_long = 5000 + 198; pub const SYS_sysmips: ::c_long = 5000 + 199; pub const SYS_io_setup: ::c_long = 5000 + 200; pub const SYS_io_destroy: ::c_long = 5000 + 201; pub const SYS_io_getevents: ::c_long = 5000 + 202; pub const SYS_io_submit: ::c_long = 5000 + 203; pub const SYS_io_cancel: ::c_long = 5000 + 204; pub const SYS_exit_group: ::c_long = 5000 + 205; pub const SYS_lookup_dcookie: ::c_long = 5000 + 206; pub const SYS_epoll_create: ::c_long = 5000 + 207; pub const SYS_epoll_ctl: ::c_long = 5000 + 208; pub const SYS_epoll_wait: ::c_long = 5000 + 209; pub const SYS_remap_file_pages: ::c_long = 5000 + 210; pub const SYS_rt_sigreturn: ::c_long = 5000 + 211; pub const SYS_set_tid_address: ::c_long = 5000 + 212; pub const SYS_restart_syscall: ::c_long = 5000 + 213; pub const SYS_semtimedop: ::c_long = 5000 + 214; pub const SYS_fadvise64: ::c_long = 5000 + 215; pub const SYS_timer_create: ::c_long = 5000 + 216; pub const SYS_timer_settime: ::c_long = 5000 + 217; pub const SYS_timer_gettime: ::c_long = 5000 + 218; pub const SYS_timer_getoverrun: ::c_long = 5000 + 219; pub const SYS_timer_delete: ::c_long = 5000 + 220; pub const SYS_clock_settime: ::c_long = 5000 + 221; pub const SYS_clock_gettime: ::c_long = 5000 + 222; pub const SYS_clock_getres: ::c_long = 5000 + 223; pub const SYS_clock_nanosleep: ::c_long = 5000 + 224; pub const SYS_tgkill: ::c_long = 5000 + 225; pub const SYS_utimes: ::c_long = 5000 + 226; pub const SYS_mbind: ::c_long = 5000 + 227; pub const SYS_get_mempolicy: ::c_long = 5000 + 228; pub const SYS_set_mempolicy: ::c_long = 5000 + 229; pub const SYS_mq_open: ::c_long = 5000 + 230; pub const SYS_mq_unlink: ::c_long = 5000 + 231; pub const SYS_mq_timedsend: ::c_long = 5000 + 232; pub const SYS_mq_timedreceive: ::c_long = 5000 + 233; pub const SYS_mq_notify: ::c_long = 5000 + 234; pub const SYS_mq_getsetattr: ::c_long = 5000 + 235; pub const SYS_vserver: ::c_long = 5000 + 236; pub const SYS_waitid: ::c_long = 5000 + 237; /* pub const SYS_sys_setaltroot: ::c_long = 5000 + 238; */ pub const SYS_add_key: ::c_long = 5000 + 239; pub const SYS_request_key: ::c_long = 5000 + 240; pub const SYS_keyctl: ::c_long = 5000 + 241; pub const SYS_set_thread_area: ::c_long = 5000 + 242; pub const SYS_inotify_init: ::c_long = 5000 + 243; pub const SYS_inotify_add_watch: ::c_long = 5000 + 244; pub const SYS_inotify_rm_watch: ::c_long = 5000 + 245; pub const SYS_migrate_pages: ::c_long = 5000 + 246; pub const SYS_openat: ::c_long = 5000 + 247; pub const SYS_mkdirat: ::c_long = 5000 + 248; pub const SYS_mknodat: ::c_long = 5000 + 249; pub const SYS_fchownat: ::c_long = 5000 + 250; pub const SYS_futimesat: ::c_long = 5000 + 251; pub const SYS_newfstatat: ::c_long = 5000 + 252; pub const SYS_unlinkat: ::c_long = 5000 + 253; pub const SYS_renameat: ::c_long = 5000 + 254; pub const SYS_linkat: ::c_long = 5000 + 255; pub const SYS_symlinkat: ::c_long = 5000 + 256; pub const SYS_readlinkat: ::c_long = 5000 + 257; pub const SYS_fchmodat: ::c_long = 5000 + 258; pub const SYS_faccessat: ::c_long = 5000 + 259; pub const SYS_pselect6: ::c_long = 5000 + 260; pub const SYS_ppoll: ::c_long = 5000 + 261; pub const SYS_unshare: ::c_long = 5000 + 262; pub const SYS_splice: ::c_long = 5000 + 263; pub const SYS_sync_file_range: ::c_long = 5000 + 264; pub const SYS_tee: ::c_long = 5000 + 265; pub const SYS_vmsplice: ::c_long = 5000 + 266; pub const SYS_move_pages: ::c_long = 5000 + 267; pub const SYS_set_robust_list: ::c_long = 5000 + 268; pub const SYS_get_robust_list: ::c_long = 5000 + 269; pub const SYS_kexec_load: ::c_long = 5000 + 270; pub const SYS_getcpu: ::c_long = 5000 + 271; pub const SYS_epoll_pwait: ::c_long = 5000 + 272; pub const SYS_ioprio_set: ::c_long = 5000 + 273; pub const SYS_ioprio_get: ::c_long = 5000 + 274; pub const SYS_utimensat: ::c_long = 5000 + 275; pub const SYS_signalfd: ::c_long = 5000 + 276; pub const SYS_timerfd: ::c_long = 5000 + 277; pub const SYS_eventfd: ::c_long = 5000 + 278; pub const SYS_fallocate: ::c_long = 5000 + 279; pub const SYS_timerfd_create: ::c_long = 5000 + 280; pub const SYS_timerfd_gettime: ::c_long = 5000 + 281; pub const SYS_timerfd_settime: ::c_long = 5000 + 282; pub const SYS_signalfd4: ::c_long = 5000 + 283; pub const SYS_eventfd2: ::c_long = 5000 + 284; pub const SYS_epoll_create1: ::c_long = 5000 + 285; pub const SYS_dup3: ::c_long = 5000 + 286; pub const SYS_pipe2: ::c_long = 5000 + 287; pub const SYS_inotify_init1: ::c_long = 5000 + 288; pub const SYS_preadv: ::c_long = 5000 + 289; pub const SYS_pwritev: ::c_long = 5000 + 290; pub const SYS_rt_tgsigqueueinfo: ::c_long = 5000 + 291; pub const SYS_perf_event_open: ::c_long = 5000 + 292; pub const SYS_accept4: ::c_long = 5000 + 293; pub const SYS_recvmmsg: ::c_long = 5000 + 294; pub const SYS_fanotify_init: ::c_long = 5000 + 295; pub const SYS_fanotify_mark: ::c_long = 5000 + 296; pub const SYS_prlimit64: ::c_long = 5000 + 297; pub const SYS_name_to_handle_at: ::c_long = 5000 + 298; pub const SYS_open_by_handle_at: ::c_long = 5000 + 299; pub const SYS_clock_adjtime: ::c_long = 5000 + 300; pub const SYS_syncfs: ::c_long = 5000 + 301; pub const SYS_sendmmsg: ::c_long = 5000 + 302; pub const SYS_setns: ::c_long = 5000 + 303; pub const SYS_process_vm_readv: ::c_long = 5000 + 304; pub const SYS_process_vm_writev: ::c_long = 5000 + 305; pub const SYS_kcmp: ::c_long = 5000 + 306; pub const SYS_finit_module: ::c_long = 5000 + 307; pub const SYS_getdents64: ::c_long = 5000 + 308; pub const SYS_sched_setattr: ::c_long = 5000 + 309; pub const SYS_sched_getattr: ::c_long = 5000 + 310; pub const SYS_renameat2: ::c_long = 5000 + 311; pub const SYS_seccomp: ::c_long = 5000 + 312; pub const SYS_getrandom: ::c_long = 5000 + 313; pub const SYS_memfd_create: ::c_long = 5000 + 314; pub const SYS_bpf: ::c_long = 5000 + 315; pub const SYS_execveat: ::c_long = 5000 + 316; pub const SYS_userfaultfd: ::c_long = 5000 + 317; pub const SYS_membarrier: ::c_long = 5000 + 318; pub const SYS_mlock2: ::c_long = 5000 + 319; pub const SYS_copy_file_range: ::c_long = 5000 + 320; pub const SYS_preadv2: ::c_long = 5000 + 321; pub const SYS_pwritev2: ::c_long = 5000 + 322; pub const SYS_pkey_mprotect: ::c_long = 5000 + 323; pub const SYS_pkey_alloc: ::c_long = 5000 + 324; pub const SYS_pkey_free: ::c_long = 5000 + 325; pub const SYS_statx: ::c_long = 5000 + 326; pub const SFD_CLOEXEC: ::c_int = 0x080000; pub const NCCS: usize = 32; pub const O_TRUNC: ::c_int = 512; pub const O_NOATIME: ::c_int = 0o1000000; pub const O_CLOEXEC: ::c_int = 0x80000; pub const O_PATH: ::c_int = 0o10000000; pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const O_DIRECT: ::c_int = 0x8000; pub const O_DIRECTORY: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x20000; pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 5; pub const RLIMIT_AS: ::__rlimit_resource_t = 6; pub const RLIMIT_RSS: ::__rlimit_resource_t = 7; pub const RLIMIT_NPROC: ::__rlimit_resource_t = 8; pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 9; pub const O_APPEND: ::c_int = 8; pub const O_CREAT: ::c_int = 256; pub const O_EXCL: ::c_int = 1024; pub const O_NOCTTY: ::c_int = 2048; pub const O_NONBLOCK: ::c_int = 128; pub const O_SYNC: ::c_int = 0x4010; pub const O_RSYNC: ::c_int = 0x4010; pub const O_DSYNC: ::c_int = 0x10; pub const O_FSYNC: ::c_int = 0x4010; pub const O_ASYNC: ::c_int = 0x1000; pub const O_NDELAY: ::c_int = 0x80; pub const EDEADLK: ::c_int = 45; pub const ENAMETOOLONG: ::c_int = 78; pub const ENOLCK: ::c_int = 46; pub const ENOSYS: ::c_int = 89; pub const ENOTEMPTY: ::c_int = 93; pub const ELOOP: ::c_int = 90; pub const ENOMSG: ::c_int = 35; pub const EIDRM: ::c_int = 36; pub const ECHRNG: ::c_int = 37; pub const EL2NSYNC: ::c_int = 38; pub const EL3HLT: ::c_int = 39; pub const EL3RST: ::c_int = 40; pub const ELNRNG: ::c_int = 41; pub const EUNATCH: ::c_int = 42; pub const ENOCSI: ::c_int = 43; pub const EL2HLT: ::c_int = 44; pub const EBADE: ::c_int = 50; pub const EBADR: ::c_int = 51; 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; pub const EBADFD: ::c_int = 81; pub const EBADMSG: ::c_int = 77; pub const EREMCHG: ::c_int = 82; pub const ELIBACC: ::c_int = 83; pub const ELIBBAD: ::c_int = 84; pub const ELIBSCN: ::c_int = 85; pub const ELIBMAX: ::c_int = 86; pub const ELIBEXEC: ::c_int = 87; pub const EILSEQ: ::c_int = 88; pub const ERESTART: ::c_int = 91; pub const ESTRPIPE: ::c_int = 92; pub const EUSERS: ::c_int = 94; pub const ENOTSOCK: ::c_int = 95; pub const EDESTADDRREQ: ::c_int = 96; pub const EMSGSIZE: ::c_int = 97; pub const EPROTOTYPE: ::c_int = 98; 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 EPFNOSUPPORT: ::c_int = 123; pub const EAFNOSUPPORT: ::c_int = 124; pub const EADDRINUSE: ::c_int = 125; pub const EADDRNOTAVAIL: ::c_int = 126; pub const ENETDOWN: ::c_int = 127; pub const ENETUNREACH: ::c_int = 128; pub const ENETRESET: ::c_int = 129; pub const ECONNABORTED: ::c_int = 130; pub const ECONNRESET: ::c_int = 131; pub const ENOBUFS: ::c_int = 132; pub const EISCONN: ::c_int = 133; pub const ENOTCONN: ::c_int = 134; pub const ESHUTDOWN: ::c_int = 143; pub const ETOOMANYREFS: ::c_int = 144; pub const ETIMEDOUT: ::c_int = 145; pub const ECONNREFUSED: ::c_int = 146; pub const EHOSTDOWN: ::c_int = 147; pub const EHOSTUNREACH: ::c_int = 148; pub const EALREADY: ::c_int = 149; pub const EINPROGRESS: ::c_int = 150; pub const ESTALE: ::c_int = 151; pub const EUCLEAN: ::c_int = 135; pub const ENOTNAM: ::c_int = 137; pub const ENAVAIL: ::c_int = 138; pub const EISNAM: ::c_int = 139; pub const EREMOTEIO: ::c_int = 140; pub const EDQUOT: ::c_int = 1133; pub const ENOMEDIUM: ::c_int = 159; pub const EMEDIUMTYPE: ::c_int = 160; pub const ECANCELED: ::c_int = 158; pub const ENOKEY: ::c_int = 161; pub const EKEYEXPIRED: ::c_int = 162; pub const EKEYREVOKED: ::c_int = 163; pub const EKEYREJECTED: ::c_int = 164; pub const EOWNERDEAD: ::c_int = 165; pub const ENOTRECOVERABLE: ::c_int = 166; pub const ERFKILL: ::c_int = 167; pub const MAP_NORESERVE: ::c_int = 0x400; pub const MAP_ANON: ::c_int = 0x800; pub const MAP_ANONYMOUS: ::c_int = 0x800; pub const MAP_GROWSDOWN: ::c_int = 0x1000; pub const MAP_DENYWRITE: ::c_int = 0x2000; pub const MAP_EXECUTABLE: ::c_int = 0x4000; pub const MAP_LOCKED: ::c_int = 0x8000; pub const MAP_POPULATE: ::c_int = 0x10000; pub const MAP_NONBLOCK: ::c_int = 0x20000; pub const MAP_STACK: ::c_int = 0x40000; pub const MAP_HUGETLB: ::c_int = 0x080000; pub const SOCK_STREAM: ::c_int = 2; pub const SOCK_DGRAM: ::c_int = 1; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_STYLE: ::c_int = SO_TYPE; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; 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; pub const SO_ACCEPTCONN: ::c_int = 0x1009; pub const SO_PROTOCOL: ::c_int = 0x1028; pub const SO_DOMAIN: ::c_int = 0x1029; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_PASSCRED: ::c_int = 17; pub const SO_PEERCRED: ::c_int = 18; pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22; pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23; pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24; 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_PEERNAME: ::c_int = 28; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_PEERSEC: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 31; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PASSSEC: ::c_int = 34; pub const SO_TIMESTAMPNS: ::c_int = 35; pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS; pub const SO_MARK: ::c_int = 36; pub const SO_RXQ_OVFL: ::c_int = 40; pub const SO_WIFI_STATUS: ::c_int = 41; pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS; pub const SO_PEEK_OFF: ::c_int = 42; pub const SO_NOFCS: ::c_int = 43; pub const SO_LOCK_FILTER: ::c_int = 44; pub const SO_SELECT_ERR_QUEUE: ::c_int = 45; pub const SO_BUSY_POLL: ::c_int = 46; pub const SO_MAX_PACING_RATE: ::c_int = 47; pub const SO_BPF_EXTENSIONS: ::c_int = 48; pub const SO_INCOMING_CPU: ::c_int = 49; pub const SO_ATTACH_BPF: ::c_int = 50; pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER; 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; pub const SIGCHLD: ::c_int = 18; pub const SIGBUS: ::c_int = 10; pub const SIGTTIN: ::c_int = 26; pub const SIGTTOU: ::c_int = 27; pub const SIGXCPU: ::c_int = 30; pub const SIGXFSZ: ::c_int = 31; pub const SIGVTALRM: ::c_int = 28; pub const SIGPROF: ::c_int = 29; pub const SIGWINCH: ::c_int = 20; pub const SIGUSR1: ::c_int = 16; pub const SIGUSR2: ::c_int = 17; pub const SIGCONT: ::c_int = 25; pub const SIGSTOP: ::c_int = 23; 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; pub const SIG_UNBLOCK: ::c_int = 0x2; pub const POLLWRNORM: ::c_short = 0x004; pub const POLLWRBAND: ::c_short = 0x100; pub const VEOF: usize = 16; pub const VEOL: usize = 17; pub const VEOL2: usize = 6; pub const VMIN: usize = 4; pub const IEXTEN: ::tcflag_t = 0x00000100; pub const TOSTOP: ::tcflag_t = 0x00008000; pub const FLUSHO: ::tcflag_t = 0x00002000; pub const EXTPROC: ::tcflag_t = 0o200000; pub const TCSANOW: ::c_int = 0x540e; pub const TCSADRAIN: ::c_int = 0x540f; pub const TCSAFLUSH: ::c_int = 0x5410; pub const PTRACE_GETFPREGS: ::c_uint = 14; pub const PTRACE_SETFPREGS: ::c_uint = 15; pub const PTRACE_DETACH: ::c_uint = 17; 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 EFD_NONBLOCK: ::c_int = 0x80; pub const F_RDLCK: ::c_int = 0; pub const F_WRLCK: ::c_int = 1; pub const F_UNLCK: ::c_int = 2; 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_DEEPBIND: ::c_int = 0x10; pub const RTLD_GLOBAL: ::c_int = 0x4; pub const RTLD_NOLOAD: ::c_int = 0x8; pub const MCL_CURRENT: ::c_int = 0x0001; pub const MCL_FUTURE: ::c_int = 0x0002; 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 BOTHER: ::speed_t = 0o010000; 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 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; #[link(name = "util")] extern "C" { pub fn sysctl( name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/mod.rs010064400007650000024000000043531357020644200203320ustar0000000000000000//! 64-bit specific definitions for linux-like values pub type clock_t = i64; pub type time_t = i64; pub type ino_t = u64; pub type off_t = i64; pub type blkcnt_t = i64; pub type shmatt_t = u64; pub type msgqnum_t = u64; pub type msglen_t = u64; pub type fsblkcnt_t = u64; pub type fsfilcnt_t = u64; pub type rlim_t = u64; pub type __fsword_t = i64; s! { pub struct sigset_t { #[cfg(target_pointer_width = "32")] __val: [u32; 32], #[cfg(target_pointer_width = "64")] __val: [u64; 16], } pub struct sysinfo { pub uptime: i64, pub loads: [u64; 3], pub totalram: u64, pub freeram: u64, pub sharedram: u64, pub bufferram: u64, pub totalswap: u64, pub freeswap: u64, pub procs: ::c_ushort, pub pad: ::c_ushort, pub totalhigh: u64, pub freehigh: u64, pub mem_unit: ::c_uint, pub _f: [::c_char; 0], } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, pub msg_rtime: ::time_t, pub msg_ctime: ::time_t, __msg_cbytes: u64, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __glibc_reserved4: u64, __glibc_reserved5: u64, } } pub const RLIM_INFINITY: ::rlim_t = !0; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8; pub const O_LARGEFILE: ::c_int = 0; cfg_if! { if #[cfg(target_arch = "aarch64")] { mod aarch64; pub use self::aarch64::*; } else if #[cfg(any(target_arch = "powerpc64"))] { mod powerpc64; pub use self::powerpc64::*; } else if #[cfg(any(target_arch = "sparc64"))] { mod sparc64; pub use self::sparc64::*; } else if #[cfg(any(target_arch = "mips64"))] { mod mips64; pub use self::mips64::*; } else if #[cfg(any(target_arch = "s390x"))] { mod s390x; pub use self::s390x::*; } 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 } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs010064400007650000024000000002251355140103400224610ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [i64; 4] } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs010064400007650000024000001077511357020644200221710ustar0000000000000000//! PowerPC64-specific definitions for 64-bit linux-like values use pthread_mutex_t; pub type c_long = i64; pub type c_ulong = u64; pub type c_char = u8; pub type wchar_t = i32; pub type nlink_t = u64; pub type blksize_t = i64; pub type suseconds_t = i64; pub type __u64 = ::c_ulong; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, #[cfg(target_arch = "sparc64")] __reserved0: ::c_int, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } 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, f_spare: [::__fsword_t; 5], } 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 stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 3], } pub struct stat64 { pub st_dev: ::dev_t, pub st_ino: ::ino64_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off64_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt64_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, __reserved: [::c_long; 3], } pub struct statfs64 { pub f_type: ::__fsword_t, pub f_bsize: ::__fsword_t, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, 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 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, __f_spare: [::c_int; 6], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct pthread_attr_t { __size: [u64; 7] } 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: ::mode_t, pub __seq: u32, __pad1: u32, __unused1: u64, __unused2: ::c_ulong, } pub struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_atime: ::time_t, pub shm_dtime: ::time_t, pub shm_ctime: ::time_t, pub shm_segsz: ::size_t, pub shm_cpid: ::pid_t, pub shm_lpid: ::pid_t, pub shm_nattch: ::shmatt_t, __unused4: ::c_ulong, __unused5: ::c_ulong } 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: [usize; 0], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } } pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const RTLD_DEEPBIND: ::c_int = 0x8; pub const RTLD_GLOBAL: ::c_int = 0x100; 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; pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7; pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6; 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_NOATIME: ::c_int = 0o1000000; pub const O_PATH: ::c_int = 0o10000000; pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY; pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MAP_GROWSDOWN: ::c_int = 0x0100; 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 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 SOL_SOCKET: ::c_int = 1; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_PASSCRED: ::c_int = 20; pub const SO_PEERCRED: ::c_int = 21; pub const SO_RCVLOWAT: ::c_int = 16; pub const SO_SNDLOWAT: ::c_int = 17; pub const SO_RCVTIMEO: ::c_int = 18; pub const SO_SNDTIMEO: ::c_int = 19; pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22; pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23; pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24; 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_PEERNAME: ::c_int = 28; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_PEERSEC: ::c_int = 31; pub const SO_PASSSEC: ::c_int = 34; pub const SO_TIMESTAMPNS: ::c_int = 35; pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS; pub const SO_MARK: ::c_int = 36; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; pub const SO_RXQ_OVFL: ::c_int = 40; pub const SO_WIFI_STATUS: ::c_int = 41; pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS; pub const SO_PEEK_OFF: ::c_int = 42; pub const SO_NOFCS: ::c_int = 43; pub const SO_LOCK_FILTER: ::c_int = 44; pub const SO_SELECT_ERR_QUEUE: ::c_int = 45; pub const SO_BUSY_POLL: ::c_int = 46; pub const SO_MAX_PACING_RATE: ::c_int = 47; pub const SO_BPF_EXTENSIONS: ::c_int = 48; pub const SO_INCOMING_CPU: ::c_int = 49; pub const SO_ATTACH_BPF: ::c_int = 50; pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SA_ONSTACK: ::c_int = 0x08000000; pub const SA_SIGINFO: ::c_int = 0x00000004; pub const SA_NOCLDWAIT: ::c_int = 0x00000002; 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 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 POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; pub const O_ASYNC: ::c_int = 0x2000; pub const O_NDELAY: ::c_int = 0x800; pub const PTRACE_DETACH: ::c_uint = 17; pub const EFD_NONBLOCK: ::c_int = 0x800; pub const F_GETLK: ::c_int = 5; pub const F_GETOWN: ::c_int = 9; pub const F_SETOWN: ::c_int = 8; pub const F_SETLK: ::c_int = 6; pub const F_SETLKW: ::c_int = 7; pub const F_RDLCK: ::c_int = 0; pub const F_WRLCK: ::c_int = 1; pub const F_UNLCK: ::c_int = 2; pub const SFD_NONBLOCK: ::c_int = 0x0800; 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 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; pub const O_TRUNC: ::c_int = 512; pub const O_CLOEXEC: ::c_int = 0x80000; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; align_const! { #[cfg(target_endian = "little")] pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "little")] pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "little")] pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; } pub const O_DIRECTORY: ::c_int = 0x4000; pub const O_NOFOLLOW: ::c_int = 0x8000; pub const O_DIRECT: ::c_int = 0x20000; pub const MAP_LOCKED: ::c_int = 0x00080; pub const MAP_NORESERVE: ::c_int = 0x00040; pub const EDEADLOCK: ::c_int = 58; 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 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; pub const SIGSTKSZ: ::size_t = 0x4000; pub const MINSIGSTKSZ: ::size_t = 4096; pub const CBAUD: ::tcflag_t = 0xff; pub const TAB1: ::tcflag_t = 0x400; pub const TAB2: ::tcflag_t = 0x800; pub const TAB3: ::tcflag_t = 0xc00; pub const CR1: ::tcflag_t = 0x1000; pub const CR2: ::tcflag_t = 0x2000; pub const CR3: ::tcflag_t = 0x3000; pub const FF1: ::tcflag_t = 0x4000; pub const BS1: ::tcflag_t = 0x8000; pub const VT1: ::tcflag_t = 0x10000; pub const VWERASE: usize = 0xa; pub const VREPRINT: usize = 0xb; pub const VSUSP: usize = 0xc; pub const VSTART: usize = 0xd; pub const VSTOP: usize = 0xe; pub const VDISCARD: usize = 0x10; pub const VTIME: usize = 0x7; pub const IXON: ::tcflag_t = 0x200; pub const IXOFF: ::tcflag_t = 0x400; pub const ONLCR: ::tcflag_t = 0x2; pub const CSIZE: ::tcflag_t = 0x300; pub const CS6: ::tcflag_t = 0x100; pub const CS7: ::tcflag_t = 0x200; pub const CS8: ::tcflag_t = 0x300; pub const CSTOPB: ::tcflag_t = 0x400; pub const CREAD: ::tcflag_t = 0x800; pub const PARENB: ::tcflag_t = 0x1000; pub const PARODD: ::tcflag_t = 0x2000; pub const HUPCL: ::tcflag_t = 0x4000; pub const CLOCAL: ::tcflag_t = 0x8000; pub const ECHOKE: ::tcflag_t = 0x1; pub const ECHOE: ::tcflag_t = 0x2; pub const ECHOK: ::tcflag_t = 0x4; pub const ECHONL: ::tcflag_t = 0x10; pub const ECHOPRT: ::tcflag_t = 0x20; pub const ECHOCTL: ::tcflag_t = 0x40; pub const ISIG: ::tcflag_t = 0x80; pub const ICANON: ::tcflag_t = 0x100; pub const PENDIN: ::tcflag_t = 0x20000000; pub const NOFLSH: ::tcflag_t = 0x80000000; pub const VSWTC: usize = 9; pub const OLCUC: ::tcflag_t = 0o000004; pub const NLDLY: ::tcflag_t = 0o001400; pub const CRDLY: ::tcflag_t = 0o030000; pub const TABDLY: ::tcflag_t = 0o006000; pub const BSDLY: ::tcflag_t = 0o100000; pub const FFDLY: ::tcflag_t = 0o040000; pub const VTDLY: ::tcflag_t = 0o200000; pub const XTABS: ::tcflag_t = 0o006000; 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 CBAUDEX: ::speed_t = 0o000020; pub const B57600: ::speed_t = 0o0020; pub const B115200: ::speed_t = 0o0021; pub const B230400: ::speed_t = 0o0022; pub const B460800: ::speed_t = 0o0023; pub const B500000: ::speed_t = 0o0024; pub const B576000: ::speed_t = 0o0025; pub const B921600: ::speed_t = 0o0026; pub const B1000000: ::speed_t = 0o0027; pub const B1152000: ::speed_t = 0o0030; pub const B1500000: ::speed_t = 0o0031; pub const B2000000: ::speed_t = 0o0032; 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; pub const VMIN: usize = 5; 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; 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_time: ::c_long = 13; pub const SYS_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_break: ::c_long = 17; pub const SYS_oldstat: ::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_umount: ::c_long = 22; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_stime: ::c_long = 25; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_oldfstat: ::c_long = 28; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::c_long = 30; pub const SYS_stty: ::c_long = 31; pub const SYS_gtty: ::c_long = 32; pub const SYS_access: ::c_long = 33; pub const SYS_nice: ::c_long = 34; pub const SYS_ftime: ::c_long = 35; 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_prof: ::c_long = 44; pub const SYS_brk: ::c_long = 45; pub const SYS_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_signal: ::c_long = 48; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::c_long = 52; pub const SYS_lock: ::c_long = 53; pub const SYS_ioctl: ::c_long = 54; pub const SYS_fcntl: ::c_long = 55; pub const SYS_mpx: ::c_long = 56; pub const SYS_setpgid: ::c_long = 57; pub const SYS_ulimit: ::c_long = 58; pub const SYS_oldolduname: ::c_long = 59; 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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_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_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_select: ::c_long = 82; pub const SYS_symlink: ::c_long = 83; pub const SYS_oldlstat: ::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_readdir: ::c_long = 89; pub const SYS_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_fchown: ::c_long = 95; pub const SYS_getpriority: ::c_long = 96; pub const SYS_setpriority: ::c_long = 97; pub const SYS_profil: ::c_long = 98; pub const SYS_statfs: ::c_long = 99; pub const SYS_fstatfs: ::c_long = 100; pub const SYS_ioperm: ::c_long = 101; 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_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::c_long = 108; pub const SYS_olduname: ::c_long = 109; pub const SYS_iopl: ::c_long = 110; pub const SYS_vhangup: ::c_long = 111; pub const SYS_idle: ::c_long = 112; pub const SYS_vm86: ::c_long = 113; 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_uname: ::c_long = 122; pub const SYS_modify_ldt: ::c_long = 123; pub const SYS_adjtimex: ::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_afs_syscall: ::c_long = 137; /* Syscall for Andrew File System */ pub const SYS_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; pub const SYS__newselect: ::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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_query_module: ::c_long = 166; pub const SYS_poll: ::c_long = 167; pub const SYS_nfsservctl: ::c_long = 168; pub const SYS_setresgid: ::c_long = 169; pub const SYS_getresgid: ::c_long = 170; pub const SYS_prctl: ::c_long = 171; pub const SYS_rt_sigreturn: ::c_long = 172; pub const SYS_rt_sigaction: ::c_long = 173; pub const SYS_rt_sigprocmask: ::c_long = 174; pub const SYS_rt_sigpending: ::c_long = 175; pub const SYS_rt_sigtimedwait: ::c_long = 176; pub const SYS_rt_sigqueueinfo: ::c_long = 177; pub const SYS_rt_sigsuspend: ::c_long = 178; pub const SYS_pread64: ::c_long = 179; pub const SYS_pwrite64: ::c_long = 180; pub const SYS_chown: ::c_long = 181; pub const SYS_getcwd: ::c_long = 182; pub const SYS_capget: ::c_long = 183; pub const SYS_capset: ::c_long = 184; pub const SYS_sigaltstack: ::c_long = 185; pub const SYS_sendfile: ::c_long = 186; pub const SYS_getpmsg: ::c_long = 187; /* some people actually want streams */ pub const SYS_putpmsg: ::c_long = 188; /* some people actually want streams */ pub const SYS_vfork: ::c_long = 189; pub const SYS_ugetrlimit: ::c_long = 190; /* SuS compliant getrlimit */ pub const SYS_readahead: ::c_long = 191; pub const SYS_pciconfig_read: ::c_long = 198; pub const SYS_pciconfig_write: ::c_long = 199; pub const SYS_pciconfig_iobase: ::c_long = 200; pub const SYS_multiplexer: ::c_long = 201; pub const SYS_getdents64: ::c_long = 202; pub const SYS_pivot_root: ::c_long = 203; pub const SYS_madvise: ::c_long = 205; pub const SYS_mincore: ::c_long = 206; pub const SYS_gettid: ::c_long = 207; pub const SYS_tkill: ::c_long = 208; pub const SYS_setxattr: ::c_long = 209; pub const SYS_lsetxattr: ::c_long = 210; pub const SYS_fsetxattr: ::c_long = 211; pub const SYS_getxattr: ::c_long = 212; pub const SYS_lgetxattr: ::c_long = 213; pub const SYS_fgetxattr: ::c_long = 214; pub const SYS_listxattr: ::c_long = 215; pub const SYS_llistxattr: ::c_long = 216; pub const SYS_flistxattr: ::c_long = 217; pub const SYS_removexattr: ::c_long = 218; pub const SYS_lremovexattr: ::c_long = 219; pub const SYS_fremovexattr: ::c_long = 220; pub const SYS_futex: ::c_long = 221; pub const SYS_sched_setaffinity: ::c_long = 222; pub const SYS_sched_getaffinity: ::c_long = 223; pub const SYS_tuxcall: ::c_long = 225; pub const SYS_io_setup: ::c_long = 227; pub const SYS_io_destroy: ::c_long = 228; pub const SYS_io_getevents: ::c_long = 229; pub const SYS_io_submit: ::c_long = 230; pub const SYS_io_cancel: ::c_long = 231; pub const SYS_set_tid_address: ::c_long = 232; pub const SYS_exit_group: ::c_long = 234; pub const SYS_lookup_dcookie: ::c_long = 235; pub const SYS_epoll_create: ::c_long = 236; pub const SYS_epoll_ctl: ::c_long = 237; pub const SYS_epoll_wait: ::c_long = 238; pub const SYS_remap_file_pages: ::c_long = 239; pub const SYS_timer_create: ::c_long = 240; pub const SYS_timer_settime: ::c_long = 241; pub const SYS_timer_gettime: ::c_long = 242; pub const SYS_timer_getoverrun: ::c_long = 243; pub const SYS_timer_delete: ::c_long = 244; pub const SYS_clock_settime: ::c_long = 245; pub const SYS_clock_gettime: ::c_long = 246; pub const SYS_clock_getres: ::c_long = 247; pub const SYS_clock_nanosleep: ::c_long = 248; pub const SYS_swapcontext: ::c_long = 249; pub const SYS_tgkill: ::c_long = 250; pub const SYS_utimes: ::c_long = 251; pub const SYS_statfs64: ::c_long = 252; pub const SYS_fstatfs64: ::c_long = 253; pub const SYS_rtas: ::c_long = 255; pub const SYS_sys_debug_setcontext: ::c_long = 256; pub const SYS_migrate_pages: ::c_long = 258; pub const SYS_mbind: ::c_long = 259; pub const SYS_get_mempolicy: ::c_long = 260; pub const SYS_set_mempolicy: ::c_long = 261; pub const SYS_mq_open: ::c_long = 262; pub const SYS_mq_unlink: ::c_long = 263; pub const SYS_mq_timedsend: ::c_long = 264; pub const SYS_mq_timedreceive: ::c_long = 265; pub const SYS_mq_notify: ::c_long = 266; pub const SYS_mq_getsetattr: ::c_long = 267; pub const SYS_kexec_load: ::c_long = 268; pub const SYS_add_key: ::c_long = 269; pub const SYS_request_key: ::c_long = 270; pub const SYS_keyctl: ::c_long = 271; pub const SYS_waitid: ::c_long = 272; pub const SYS_ioprio_set: ::c_long = 273; pub const SYS_ioprio_get: ::c_long = 274; pub const SYS_inotify_init: ::c_long = 275; pub const SYS_inotify_add_watch: ::c_long = 276; pub const SYS_inotify_rm_watch: ::c_long = 277; pub const SYS_spu_run: ::c_long = 278; pub const SYS_spu_create: ::c_long = 279; pub const SYS_pselect6: ::c_long = 280; pub const SYS_ppoll: ::c_long = 281; pub const SYS_unshare: ::c_long = 282; pub const SYS_splice: ::c_long = 283; pub const SYS_tee: ::c_long = 284; pub const SYS_vmsplice: ::c_long = 285; pub const SYS_openat: ::c_long = 286; pub const SYS_mkdirat: ::c_long = 287; pub const SYS_mknodat: ::c_long = 288; pub const SYS_fchownat: ::c_long = 289; pub const SYS_futimesat: ::c_long = 290; pub const SYS_newfstatat: ::c_long = 291; pub const SYS_unlinkat: ::c_long = 292; pub const SYS_renameat: ::c_long = 293; pub const SYS_linkat: ::c_long = 294; pub const SYS_symlinkat: ::c_long = 295; pub const SYS_readlinkat: ::c_long = 296; pub const SYS_fchmodat: ::c_long = 297; pub const SYS_faccessat: ::c_long = 298; pub const SYS_get_robust_list: ::c_long = 299; pub const SYS_set_robust_list: ::c_long = 300; pub const SYS_move_pages: ::c_long = 301; pub const SYS_getcpu: ::c_long = 302; pub const SYS_epoll_pwait: ::c_long = 303; pub const SYS_utimensat: ::c_long = 304; pub const SYS_signalfd: ::c_long = 305; pub const SYS_timerfd_create: ::c_long = 306; pub const SYS_eventfd: ::c_long = 307; pub const SYS_sync_file_range2: ::c_long = 308; pub const SYS_fallocate: ::c_long = 309; pub const SYS_subpage_prot: ::c_long = 310; pub const SYS_timerfd_settime: ::c_long = 311; pub const SYS_timerfd_gettime: ::c_long = 312; pub const SYS_signalfd4: ::c_long = 313; pub const SYS_eventfd2: ::c_long = 314; pub const SYS_epoll_create1: ::c_long = 315; pub const SYS_dup3: ::c_long = 316; pub const SYS_pipe2: ::c_long = 317; pub const SYS_inotify_init1: ::c_long = 318; pub const SYS_perf_event_open: ::c_long = 319; pub const SYS_preadv: ::c_long = 320; pub const SYS_pwritev: ::c_long = 321; pub const SYS_rt_tgsigqueueinfo: ::c_long = 322; pub const SYS_fanotify_init: ::c_long = 323; pub const SYS_fanotify_mark: ::c_long = 324; pub const SYS_prlimit64: ::c_long = 325; pub const SYS_socket: ::c_long = 326; pub const SYS_bind: ::c_long = 327; pub const SYS_connect: ::c_long = 328; pub const SYS_listen: ::c_long = 329; pub const SYS_accept: ::c_long = 330; pub const SYS_getsockname: ::c_long = 331; pub const SYS_getpeername: ::c_long = 332; pub const SYS_socketpair: ::c_long = 333; pub const SYS_send: ::c_long = 334; pub const SYS_sendto: ::c_long = 335; pub const SYS_recv: ::c_long = 336; pub const SYS_recvfrom: ::c_long = 337; pub const SYS_shutdown: ::c_long = 338; pub const SYS_setsockopt: ::c_long = 339; pub const SYS_getsockopt: ::c_long = 340; pub const SYS_sendmsg: ::c_long = 341; pub const SYS_recvmsg: ::c_long = 342; pub const SYS_recvmmsg: ::c_long = 343; pub const SYS_accept4: ::c_long = 344; pub const SYS_name_to_handle_at: ::c_long = 345; pub const SYS_open_by_handle_at: ::c_long = 346; pub const SYS_clock_adjtime: ::c_long = 347; pub const SYS_syncfs: ::c_long = 348; pub const SYS_sendmmsg: ::c_long = 349; pub const SYS_setns: ::c_long = 350; pub const SYS_process_vm_readv: ::c_long = 351; pub const SYS_process_vm_writev: ::c_long = 352; pub const SYS_finit_module: ::c_long = 353; pub const SYS_kcmp: ::c_long = 354; pub const SYS_sched_setattr: ::c_long = 355; pub const SYS_sched_getattr: ::c_long = 356; pub const SYS_renameat2: ::c_long = 357; pub const SYS_seccomp: ::c_long = 358; pub const SYS_getrandom: ::c_long = 359; pub const SYS_memfd_create: ::c_long = 360; pub const SYS_bpf: ::c_long = 361; pub const SYS_execveat: ::c_long = 362; pub const SYS_switch_endian: ::c_long = 363; pub const SYS_userfaultfd: ::c_long = 364; pub const SYS_membarrier: ::c_long = 365; pub const SYS_mlock2: ::c_long = 378; pub const SYS_copy_file_range: ::c_long = 379; pub const SYS_preadv2: ::c_long = 380; pub const SYS_pwritev2: ::c_long = 381; pub const SYS_kexec_file_load: ::c_long = 382; pub const SYS_statx: ::c_long = 383; #[link(name = "util")] extern "C" { pub fn sysctl( name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs010064400007650000024000000732021357020644200216310ustar0000000000000000//! RISC-V-specific definitions for 64-bit linux-like values 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 = ::c_long; pub type dev_t = ::c_ulong; pub type uid_t = ::c_uint; pub type gid_t = ::c_uint; pub type ino_t = ::c_ulong; pub type ino64_t = ::c_ulong; pub type mode_t = ::c_uint; pub type nlink_t = ::c_uint; pub type off_t = ::c_long; pub type off64_t = ::c_long; pub type pid_t = ::c_int; pub type blksize_t = ::c_int; pub type blkcnt_t = ::c_long; pub type fsblkcnt_t = ::c_ulong; pub type fsblkcnt64_t = ::c_ulong; pub type fsfilcnt_t = ::c_ulong; pub type fsfilcnt64_t = ::c_ulong; pub type suseconds_t = i64; pub type __u64 = ::c_ulonglong; s! { pub struct pthread_attr_t { __size: [::c_ulong; 7], } pub struct timespec { pub tv_sec: time_t, pub tv_nsec: ::c_long, } 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, pub __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, pub __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, } pub struct sigset_t { pub __val: [::c_ulong; 16], } 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, pub __pad1: ::c_ushort, pub __seq: ::c_ushort, pub __pad2: ::c_ushort, pub __unused1: ::c_ulong, pub __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, pub __unused5: ::c_ulong, pub __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 const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const VEOF: usize = 4; 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 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 = 1052672; pub const O_NOATIME: ::c_int = 262144; pub const O_PATH: ::c_int = 2097152; pub const O_TMPFILE: ::c_int = 4259840; pub const MAP_GROWSDOWN: ::c_int = 256; 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 SOL_SOCKET: ::c_int = 1; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22; pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23; pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24; 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 = 26; pub const SO_PEERNAME: ::c_int = 28; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_PEERSEC: ::c_int = 31; pub const SO_PASSSEC: ::c_int = 34; pub const SO_TIMESTAMPNS: ::c_int = 35; pub const SCM_TIMESTAMPNS: ::c_int = 35; pub const SO_MARK: ::c_int = 36; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; pub const SO_RXQ_OVFL: ::c_int = 40; pub const SO_WIFI_STATUS: ::c_int = 41; pub const SCM_WIFI_STATUS: ::c_int = 41; pub const SO_PEEK_OFF: ::c_int = 42; pub const SO_NOFCS: ::c_int = 43; pub const SO_LOCK_FILTER: ::c_int = 44; pub const SO_SELECT_ERR_QUEUE: ::c_int = 45; pub const SO_BUSY_POLL: ::c_int = 46; pub const SO_MAX_PACING_RATE: ::c_int = 47; pub const SO_BPF_EXTENSIONS: ::c_int = 48; pub const SO_INCOMING_CPU: ::c_int = 49; pub const SO_ATTACH_BPF: ::c_int = 50; pub const SO_DETACH_BPF: ::c_int = 27; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SA_ONSTACK: ::c_int = 134217728; pub const SA_SIGINFO: ::c_int = 4; pub const SA_NOCLDWAIT: ::c_int = 2; 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 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; 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 = 0; pub const SIG_UNBLOCK: ::c_int = 1; pub const POLLWRNORM: ::c_short = 256; pub const POLLWRBAND: ::c_short = 512; pub const O_ASYNC: ::c_int = 8192; pub const O_NDELAY: ::c_int = 2048; pub const PTRACE_DETACH: ::c_uint = 17; pub const EFD_NONBLOCK: ::c_int = 2048; pub const F_GETLK: ::c_int = 5; pub const F_GETOWN: ::c_int = 9; pub const F_SETOWN: ::c_int = 8; pub const F_SETLK: ::c_int = 6; pub const F_SETLKW: ::c_int = 7; pub const F_RDLCK: ::c_int = 0; pub const F_WRLCK: ::c_int = 1; pub const F_UNLCK: ::c_int = 2; 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; pub const O_CLOEXEC: ::c_int = 524288; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 1073741824; pub const SA_RESETHAND: ::c_int = -2147483648; pub const SA_RESTART: ::c_int = 268435456; pub const SA_NOCLDSTOP: ::c_int = 1; pub const EPOLL_CLOEXEC: ::c_int = 524288; pub const EFD_CLOEXEC: ::c_int = 524288; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const O_DIRECT: ::c_int = 16384; pub const O_DIRECTORY: ::c_int = 65536; pub const O_NOFOLLOW: ::c_int = 131072; pub const MAP_HUGETLB: ::c_int = 262144; pub const MAP_LOCKED: ::c_int = 8192; pub const MAP_NORESERVE: ::c_int = 16384; pub const MAP_ANON: ::c_int = 32; pub const MAP_ANONYMOUS: ::c_int = 32; pub const MAP_DENYWRITE: ::c_int = 2048; pub const MAP_EXECUTABLE: ::c_int = 4096; pub const MAP_POPULATE: ::c_int = 32768; pub const MAP_NONBLOCK: ::c_int = 65536; pub const MAP_STACK: ::c_int = 131072; 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 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; pub const MINSIGSTKSZ: ::size_t = 2048; pub const CBAUD: ::tcflag_t = 4111; pub const TAB1: ::tcflag_t = 2048; pub const TAB2: ::tcflag_t = 4096; pub const TAB3: ::tcflag_t = 6144; pub const CR1: ::tcflag_t = 512; pub const CR2: ::tcflag_t = 1024; pub const CR3: ::tcflag_t = 1536; pub const FF1: ::tcflag_t = 32768; pub const BS1: ::tcflag_t = 8192; pub const VT1: ::tcflag_t = 16384; 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 = 1024; pub const IXOFF: ::tcflag_t = 4096; pub const ONLCR: ::tcflag_t = 4; pub const CSIZE: ::tcflag_t = 48; pub const CS6: ::tcflag_t = 16; pub const CS7: ::tcflag_t = 32; pub const CS8: ::tcflag_t = 48; pub const CSTOPB: ::tcflag_t = 64; pub const CREAD: ::tcflag_t = 128; pub const PARENB: ::tcflag_t = 256; pub const PARODD: ::tcflag_t = 512; pub const HUPCL: ::tcflag_t = 1024; pub const CLOCAL: ::tcflag_t = 2048; pub const ECHOKE: ::tcflag_t = 2048; pub const ECHOE: ::tcflag_t = 16; pub const ECHOK: ::tcflag_t = 32; pub const ECHONL: ::tcflag_t = 64; pub const ECHOPRT: ::tcflag_t = 1024; pub const ECHOCTL: ::tcflag_t = 512; pub const ISIG: ::tcflag_t = 1; pub const ICANON: ::tcflag_t = 2; pub const PENDIN: ::tcflag_t = 16384; pub const NOFLSH: ::tcflag_t = 128; pub const CIBAUD: ::tcflag_t = 269418496; pub const CBAUDEX: ::tcflag_t = 4096; pub const VSWTC: usize = 7; pub const OLCUC: ::tcflag_t = 2; pub const NLDLY: ::tcflag_t = 256; pub const CRDLY: ::tcflag_t = 1536; pub const TABDLY: ::tcflag_t = 6144; pub const BSDLY: ::tcflag_t = 8192; pub const FFDLY: ::tcflag_t = 32768; pub const VTDLY: ::tcflag_t = 16384; pub const XTABS: ::tcflag_t = 6144; pub const B0: ::speed_t = 0; pub const B50: ::speed_t = 1; pub const B75: ::speed_t = 2; pub const B110: ::speed_t = 3; pub const B134: ::speed_t = 4; pub const B150: ::speed_t = 5; pub const B200: ::speed_t = 6; pub const B300: ::speed_t = 7; pub const B600: ::speed_t = 8; pub const B1200: ::speed_t = 9; pub const B1800: ::speed_t = 10; pub const B2400: ::speed_t = 11; pub const B4800: ::speed_t = 12; pub const B9600: ::speed_t = 13; pub const B19200: ::speed_t = 14; pub const B38400: ::speed_t = 15; pub const EXTA: ::speed_t = 14; pub const EXTB: ::speed_t = 15; pub const B57600: ::speed_t = 4097; pub const B115200: ::speed_t = 4098; pub const B230400: ::speed_t = 4099; pub const B460800: ::speed_t = 4100; pub const B500000: ::speed_t = 4101; pub const B576000: ::speed_t = 4102; pub const B921600: ::speed_t = 4103; pub const B1000000: ::speed_t = 4104; pub const B1152000: ::speed_t = 4105; pub const B1500000: ::speed_t = 4106; pub const B2000000: ::speed_t = 4107; pub const B2500000: ::speed_t = 4108; pub const B3000000: ::speed_t = 4109; pub const B3500000: ::speed_t = 4110; pub const B4000000: ::speed_t = 4111; pub const VEOL: usize = 11; pub const VEOL2: usize = 16; pub const VMIN: usize = 6; 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 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; libc-0.2.66/src/unix/linux_like/linux/gnu/b64/s390x.rs010064400007650000024000001041571357020644200204440ustar0000000000000000//! s390x use pthread_mutex_t; pub type blksize_t = i64; pub type c_char = u8; pub type c_long = i64; pub type c_ulong = u64; pub type nlink_t = u64; pub type suseconds_t = i64; pub type wchar_t = i32; pub type greg_t = u64; pub type __u64 = u64; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, __glibc_reserved0: ::c_int, pub sa_flags: ::c_int, pub sa_restorer: ::Option, pub sa_mask: ::sigset_t, } pub struct statfs { pub f_type: ::c_uint, pub f_bsize: ::c_uint, 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_uint, pub f_frsize: ::c_uint, pub f_flags: ::c_uint, f_spare: [::c_uint; 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 siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, _pad: ::c_int, _pad2: [::c_long; 14], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, st_pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_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_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, __glibc_reserved: [::c_long; 3], } pub struct stat64 { pub st_dev: ::dev_t, pub st_ino: ::ino64_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, st_pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_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_blksize: ::blksize_t, pub st_blocks: ::blkcnt64_t, __glibc_reserved: [::c_long; 3], } pub struct pthread_attr_t { __size: [::c_ulong; 7] } 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: ::mode_t, pub __seq: ::c_ushort, __pad1: ::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, __unused4: ::c_ulong, __unused5: ::c_ulong } 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, __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, } pub struct fpregset_t { pub fpc: u32, __pad: u32, pub fprs: [fpreg_t; 16], } pub struct mcontext_t { pub psw: __psw_t, pub gregs: [u64; 16], pub aregs: [u32; 16], pub fpregs: fpregset_t, } 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 struct statfs64 { pub f_type: ::c_uint, pub f_bsize: ::c_uint, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_fsid: ::fsid_t, pub f_namelen: ::c_uint, pub f_frsize: ::c_uint, pub f_flags: ::c_uint, pub f_spare: [::c_uint; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } } s_no_extra_traits! { // FIXME: This is actually a union. pub struct fpreg_t { pub d: ::c_double, // f: ::c_float, } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for fpreg_t { fn eq(&self, other: &fpreg_t) -> bool { self.d == other.d } } impl Eq for fpreg_t {} impl ::fmt::Debug for fpreg_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("fpreg_t") .field("d", &self.d) .finish() } } impl ::hash::Hash for fpreg_t { fn hash(&self, state: &mut H) { let d: u64 = unsafe { ::mem::transmute(self.d) }; d.hash(state); } } } } pub const POSIX_FADV_DONTNEED: ::c_int = 6; pub const POSIX_FADV_NOREUSE: ::c_int = 7; 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 SFD_CLOEXEC: ::c_int = 0x080000; pub const NCCS: usize = 32; pub const O_TRUNC: ::c_int = 512; pub const O_NOATIME: ::c_int = 0o1000000; pub const O_CLOEXEC: ::c_int = 0x80000; pub const O_PATH: ::c_int = 0o10000000; pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56; align_const! { pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; } 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 EADDRINUSE: ::c_int = 98; pub const EADDRNOTAVAIL: ::c_int = 99; pub const ECONNABORTED: ::c_int = 103; pub const ECONNREFUSED: ::c_int = 111; pub const ECONNRESET: ::c_int = 104; 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; pub const O_NONBLOCK: ::c_int = 2048; pub const SA_NOCLDWAIT: ::c_int = 2; pub const SA_ONSTACK: ::c_int = 0x08000000; pub const SA_SIGINFO: ::c_int = 4; pub const SIGBUS: ::c_int = 7; pub const SIGSTKSZ: ::size_t = 0x2000; pub const MINSIGSTKSZ: ::size_t = 2048; pub const SIG_SETMASK: ::c_int = 2; pub const SOL_SOCKET: ::c_int = 1; pub const SO_BROADCAST: ::c_int = 6; pub const SO_ERROR: ::c_int = 4; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_BINDTODEVICE: ::c_int = 25; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_MARK: ::c_int = 36; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; 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 SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; 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 RLIMIT_NOFILE: ::__rlimit_resource_t = 7; pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6; pub const O_NOCTTY: ::c_int = 256; 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_DIRECT: ::c_int = 0x4000; pub const O_DIRECTORY: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x20000; pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MAP_GROWSDOWN: ::c_int = 0x0100; pub const MAP_LOCKED: ::c_int = 0x02000; pub const MAP_NORESERVE: ::c_int = 0x04000; 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 EDEADLOCK: ::c_int = 35; pub const ENAMETOOLONG: ::c_int = 36; pub const ENOLCK: ::c_int = 37; 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 ENETDOWN: ::c_int = 100; pub const ENETUNREACH: ::c_int = 101; pub const ENETRESET: ::c_int = 102; pub const ENOBUFS: ::c_int = 105; pub const EISCONN: ::c_int = 106; pub const ESHUTDOWN: ::c_int = 108; pub const ETOOMANYREFS: ::c_int = 109; 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 SO_TYPE: ::c_int = 3; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; 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 SIGCHLD: ::c_int = 17; 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_BLOCK: ::c_int = 0x000000; pub const SIG_UNBLOCK: ::c_int = 0x01; pub const O_ASYNC: ::c_int = 0x2000; pub const O_NDELAY: ::c_int = 0x800; 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 PTRACE_DETACH: ::c_uint = 17; pub const MCL_CURRENT: ::c_int = 0x0001; pub const MCL_FUTURE: ::c_int = 0x0002; pub const EFD_NONBLOCK: ::c_int = 0x800; pub const F_RDLCK: ::c_int = 0; pub const F_WRLCK: ::c_int = 1; pub const F_UNLCK: ::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 F_SETLK: ::c_int = 6; pub const F_SETLKW: ::c_int = 7; 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 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; pub const VSTOP: usize = 9; pub const VSUSP: usize = 10; pub const VREPRINT: usize = 12; pub const VDISCARD: usize = 13; pub const VWERASE: usize = 14; pub const OLCUC: ::tcflag_t = 0o000002; pub const ONLCR: ::tcflag_t = 0o000004; pub const NLDLY: ::tcflag_t = 0o000400; pub const CRDLY: ::tcflag_t = 0o003000; pub const CR1: ::tcflag_t = 0x00000200; pub const CR2: ::tcflag_t = 0x00000400; pub const CR3: ::tcflag_t = 0x00000600; pub const TABDLY: ::tcflag_t = 0o014000; pub const TAB1: ::tcflag_t = 0x00000800; pub const TAB2: ::tcflag_t = 0x00001000; pub const TAB3: ::tcflag_t = 0x00001800; pub const BSDLY: ::tcflag_t = 0o020000; pub const BS1: ::tcflag_t = 0x00002000; pub const FFDLY: ::tcflag_t = 0o100000; pub const FF1: ::tcflag_t = 0x00008000; pub const VTDLY: ::tcflag_t = 0o040000; pub const VT1: ::tcflag_t = 0x00004000; pub const XTABS: ::tcflag_t = 0o014000; pub const CBAUD: ::speed_t = 0o010017; 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 CSIZE: ::tcflag_t = 0o000060; pub const CS6: ::tcflag_t = 0o000020; pub const CS7: ::tcflag_t = 0o000040; pub const CS8: ::tcflag_t = 0o000060; pub const CSTOPB: ::tcflag_t = 0o000100; 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 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; 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 CIBAUD: ::tcflag_t = 0o02003600000; pub const ISIG: ::tcflag_t = 0o000001; pub const ICANON: ::tcflag_t = 0o000002; pub const XCASE: ::tcflag_t = 0o000004; pub const ECHOE: ::tcflag_t = 0o000020; pub const ECHOK: ::tcflag_t = 0o000040; pub const ECHONL: ::tcflag_t = 0o000100; pub const NOFLSH: ::tcflag_t = 0o000200; pub const ECHOCTL: ::tcflag_t = 0o001000; pub const ECHOPRT: ::tcflag_t = 0o002000; pub const ECHOKE: ::tcflag_t = 0o004000; pub const PENDIN: ::tcflag_t = 0o040000; pub const POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; pub const IXON: ::tcflag_t = 0o002000; pub const IXOFF: ::tcflag_t = 0o010000; 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_restart_syscall: ::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_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lseek: ::c_long = 19; pub const SYS_getpid: ::c_long = 20; pub const SYS_mount: ::c_long = 21; pub const SYS_umount: ::c_long = 22; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::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_signal: ::c_long = 48; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::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_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_getrusage: ::c_long = 77; pub const SYS_gettimeofday: ::c_long = 78; pub const SYS_settimeofday: ::c_long = 79; pub const SYS_symlink: ::c_long = 83; 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_readdir: ::c_long = 89; pub const SYS_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_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_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::c_long = 108; pub const SYS_lookup_dcookie: ::c_long = 110; pub const SYS_vhangup: ::c_long = 111; pub const SYS_idle: ::c_long = 112; 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_uname: ::c_long = 122; pub const SYS_adjtimex: ::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_afs_syscall: ::c_long = 137; /* Syscall for Andrew File System */ pub const SYS_getdents: ::c_long = 141; 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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; 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_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: ::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_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_pivot_root: ::c_long = 217; pub const SYS_mincore: ::c_long = 218; pub const SYS_madvise: ::c_long = 219; pub const SYS_getdents64: ::c_long = 220; pub const SYS_readahead: ::c_long = 222; pub const SYS_setxattr: ::c_long = 224; pub const SYS_lsetxattr: ::c_long = 225; pub const SYS_fsetxattr: ::c_long = 226; pub const SYS_getxattr: ::c_long = 227; pub const SYS_lgetxattr: ::c_long = 228; pub const SYS_fgetxattr: ::c_long = 229; pub const SYS_listxattr: ::c_long = 230; pub const SYS_llistxattr: ::c_long = 231; pub const SYS_flistxattr: ::c_long = 232; pub const SYS_removexattr: ::c_long = 233; pub const SYS_lremovexattr: ::c_long = 234; pub const SYS_fremovexattr: ::c_long = 235; pub const SYS_gettid: ::c_long = 236; pub const SYS_tkill: ::c_long = 237; pub const SYS_futex: ::c_long = 238; pub const SYS_sched_setaffinity: ::c_long = 239; pub const SYS_sched_getaffinity: ::c_long = 240; pub const SYS_tgkill: ::c_long = 241; pub const SYS_io_setup: ::c_long = 243; pub const SYS_io_destroy: ::c_long = 244; pub const SYS_io_getevents: ::c_long = 245; pub const SYS_io_submit: ::c_long = 246; pub const SYS_io_cancel: ::c_long = 247; pub const SYS_exit_group: ::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_set_tid_address: ::c_long = 252; pub const SYS_fadvise64: ::c_long = 253; pub const SYS_timer_create: ::c_long = 254; pub const SYS_timer_settime: ::c_long = 255; pub const SYS_timer_gettime: ::c_long = 256; pub const SYS_timer_getoverrun: ::c_long = 257; pub const SYS_timer_delete: ::c_long = 258; pub const SYS_clock_settime: ::c_long = 259; pub const SYS_clock_gettime: ::c_long = 260; pub const SYS_clock_getres: ::c_long = 261; pub const SYS_clock_nanosleep: ::c_long = 262; pub const SYS_statfs64: ::c_long = 265; pub const SYS_fstatfs64: ::c_long = 266; pub const SYS_remap_file_pages: ::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: ::c_long = 273; pub const SYS_mq_timedreceive: ::c_long = 274; pub const SYS_mq_notify: ::c_long = 275; pub const SYS_mq_getsetattr: ::c_long = 276; pub const SYS_kexec_load: ::c_long = 277; pub const SYS_add_key: ::c_long = 278; pub const SYS_request_key: ::c_long = 279; pub const SYS_keyctl: ::c_long = 280; pub const SYS_waitid: ::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: ::c_long = 292; 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: ::c_long = 301; pub const SYS_ppoll: ::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_getcpu: ::c_long = 311; pub const SYS_epoll_pwait: ::c_long = 312; pub const SYS_utimes: ::c_long = 313; pub const SYS_fallocate: ::c_long = 314; pub const SYS_utimensat: ::c_long = 315; pub const SYS_signalfd: ::c_long = 316; pub const SYS_timerfd: ::c_long = 317; pub const SYS_eventfd: ::c_long = 318; pub const SYS_timerfd_create: ::c_long = 319; pub const SYS_timerfd_settime: ::c_long = 320; pub const SYS_timerfd_gettime: ::c_long = 321; pub const SYS_signalfd4: ::c_long = 322; pub const SYS_eventfd2: ::c_long = 323; pub const SYS_inotify_init1: ::c_long = 324; pub const SYS_pipe2: ::c_long = 325; pub const SYS_dup3: ::c_long = 326; pub const SYS_epoll_create1: ::c_long = 327; pub const SYS_preadv: ::c_long = 328; pub const SYS_pwritev: ::c_long = 329; pub const SYS_rt_tgsigqueueinfo: ::c_long = 330; pub const SYS_perf_event_open: ::c_long = 331; pub const SYS_fanotify_init: ::c_long = 332; pub const SYS_fanotify_mark: ::c_long = 333; pub const SYS_prlimit64: ::c_long = 334; pub const SYS_name_to_handle_at: ::c_long = 335; pub const SYS_open_by_handle_at: ::c_long = 336; pub const SYS_clock_adjtime: ::c_long = 337; pub const SYS_syncfs: ::c_long = 338; pub const SYS_setns: ::c_long = 339; pub const SYS_process_vm_readv: ::c_long = 340; pub const SYS_process_vm_writev: ::c_long = 341; pub const SYS_s390_runtime_instr: ::c_long = 342; pub const SYS_kcmp: ::c_long = 343; pub const SYS_finit_module: ::c_long = 344; pub const SYS_sched_setattr: ::c_long = 345; pub const SYS_sched_getattr: ::c_long = 346; pub const SYS_renameat2: ::c_long = 347; pub const SYS_seccomp: ::c_long = 348; pub const SYS_getrandom: ::c_long = 349; pub const SYS_memfd_create: ::c_long = 350; pub const SYS_bpf: ::c_long = 351; pub const SYS_s390_pci_mmio_write: ::c_long = 352; pub const SYS_s390_pci_mmio_read: ::c_long = 353; pub const SYS_execveat: ::c_long = 354; pub const SYS_userfaultfd: ::c_long = 355; pub const SYS_membarrier: ::c_long = 356; pub const SYS_recvmmsg: ::c_long = 357; pub const SYS_sendmmsg: ::c_long = 358; pub const SYS_socket: ::c_long = 359; pub const SYS_socketpair: ::c_long = 360; pub const SYS_bind: ::c_long = 361; pub const SYS_connect: ::c_long = 362; pub const SYS_listen: ::c_long = 363; pub const SYS_accept4: ::c_long = 364; pub const SYS_getsockopt: ::c_long = 365; pub const SYS_setsockopt: ::c_long = 366; pub const SYS_getsockname: ::c_long = 367; pub const SYS_getpeername: ::c_long = 368; pub const SYS_sendto: ::c_long = 369; pub const SYS_sendmsg: ::c_long = 370; pub const SYS_recvfrom: ::c_long = 371; pub const SYS_recvmsg: ::c_long = 372; pub const SYS_shutdown: ::c_long = 373; pub const SYS_mlock2: ::c_long = 374; pub const SYS_copy_file_range: ::c_long = 375; pub const SYS_preadv2: ::c_long = 376; pub const SYS_pwritev2: ::c_long = 377; pub const SYS_lchown: ::c_long = 198; pub const SYS_setuid: ::c_long = 213; pub const SYS_getuid: ::c_long = 199; pub const SYS_setgid: ::c_long = 214; pub const SYS_getgid: ::c_long = 200; pub const SYS_geteuid: ::c_long = 201; pub const SYS_setreuid: ::c_long = 203; pub const SYS_setregid: ::c_long = 204; pub const SYS_getrlimit: ::c_long = 191; pub const SYS_getgroups: ::c_long = 205; pub const SYS_fchown: ::c_long = 207; pub const SYS_setresuid: ::c_long = 208; pub const SYS_setresgid: ::c_long = 210; pub const SYS_getresgid: ::c_long = 211; pub const SYS_select: ::c_long = 142; pub const SYS_getegid: ::c_long = 202; pub const SYS_setgroups: ::c_long = 206; pub const SYS_getresuid: ::c_long = 209; pub const SYS_chown: ::c_long = 212; pub const SYS_setfsuid: ::c_long = 215; pub const SYS_setfsgid: ::c_long = 216; pub const SYS_newfstatat: ::c_long = 293; pub const SYS_statx: ::c_long = 379; #[link(name = "util")] extern "C" { pub fn sysctl( name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; pub fn getcontext(ucp: *mut ::ucontext_t) -> ::c_int; pub fn setcontext(ucp: *const ::ucontext_t) -> ::c_int; pub fn makecontext( ucp: *mut ::ucontext_t, func: extern "C" fn(), argc: ::c_int, ... ); pub fn swapcontext( uocp: *mut ::ucontext_t, ucp: *const ::ucontext_t, ) -> ::c_int; } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/sparc64/align.rs010064400007650000024000000002251355140103400221120ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [i64; 4] } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs010064400007650000024000001024131357020644200216100ustar0000000000000000//! SPARC64-specific definitions for 64-bit linux-like values use pthread_mutex_t; pub type c_long = i64; pub type c_ulong = u64; pub type c_char = i8; pub type wchar_t = i32; pub type nlink_t = u32; pub type blksize_t = i64; pub type suseconds_t = i32; pub type __u64 = ::c_ulonglong; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, #[cfg(target_arch = "sparc64")] __reserved0: ::c_int, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } 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, f_spare: [::__fsword_t; 5], } 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: [usize; 0], } 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, __reserved: ::c_short, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct stat { pub st_dev: ::dev_t, __pad0: u64, 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, __pad1: u64, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 2], } pub struct stat64 { pub st_dev: ::dev_t, __pad0: u64, 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, __pad2: ::c_int, 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_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __reserved: [::c_long; 2], } pub struct statfs64 { pub f_type: ::__fsword_t, pub f_bsize: ::__fsword_t, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, 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 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, __f_spare: [::c_int; 6], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct pthread_attr_t { __size: [u64; 7] } 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: ::mode_t, __pad0: u16, pub __seq: ::c_ushort, __unused1: ::c_ulonglong, __unused2: ::c_ulonglong, } pub struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_atime: ::time_t, pub shm_dtime: ::time_t, pub shm_ctime: ::time_t, pub shm_segsz: ::size_t, pub shm_cpid: ::pid_t, pub shm_lpid: ::pid_t, pub shm_nattch: ::shmatt_t, __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; pub const POSIX_FADV_NOREUSE: ::c_int = 5; 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 __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; pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 6; pub const RLIMIT_NPROC: ::__rlimit_resource_t = 7; pub const O_APPEND: ::c_int = 0x8; pub const O_CREAT: ::c_int = 0x200; pub const O_EXCL: ::c_int = 0x800; pub const O_NOCTTY: ::c_int = 0x8000; pub const O_NONBLOCK: ::c_int = 0x4000; pub const O_SYNC: ::c_int = 0x802000; pub const O_RSYNC: ::c_int = 0x802000; pub const O_DSYNC: ::c_int = 0x2000; pub const O_FSYNC: ::c_int = 0x802000; pub const O_NOATIME: ::c_int = 0x200000; pub const O_PATH: ::c_int = 0x1000000; pub const O_TMPFILE: ::c_int = 0x2000000 | O_DIRECTORY; pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MAP_GROWSDOWN: ::c_int = 0x0200; 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 EDEADLK: ::c_int = 78; pub const ENAMETOOLONG: ::c_int = 63; pub const ENOLCK: ::c_int = 79; pub const ENOSYS: ::c_int = 90; pub const ENOTEMPTY: ::c_int = 66; pub const ELOOP: ::c_int = 62; pub const ENOMSG: ::c_int = 75; pub const EIDRM: ::c_int = 77; pub const ECHRNG: ::c_int = 94; pub const EL2NSYNC: ::c_int = 95; pub const EL3HLT: ::c_int = 96; pub const EL3RST: ::c_int = 97; pub const ELNRNG: ::c_int = 98; pub const EUNATCH: ::c_int = 99; pub const ENOCSI: ::c_int = 100; pub const EL2HLT: ::c_int = 101; pub const EBADE: ::c_int = 102; pub const EBADR: ::c_int = 103; pub const EXFULL: ::c_int = 104; pub const ENOANO: ::c_int = 105; pub const EBADRQC: ::c_int = 106; pub const EBADSLT: ::c_int = 107; pub const EMULTIHOP: ::c_int = 87; pub const EOVERFLOW: ::c_int = 92; pub const ENOTUNIQ: ::c_int = 115; pub const EBADFD: ::c_int = 93; pub const EBADMSG: ::c_int = 76; pub const EREMCHG: ::c_int = 89; pub const ELIBACC: ::c_int = 114; pub const ELIBBAD: ::c_int = 112; pub const ELIBSCN: ::c_int = 124; pub const ELIBMAX: ::c_int = 123; pub const ELIBEXEC: ::c_int = 110; pub const EILSEQ: ::c_int = 122; pub const ERESTART: ::c_int = 116; pub const ESTRPIPE: ::c_int = 91; pub const EUSERS: ::c_int = 68; pub const ENOTSOCK: ::c_int = 38; pub const EDESTADDRREQ: ::c_int = 39; pub const EMSGSIZE: ::c_int = 40; pub const EPROTOTYPE: ::c_int = 41; pub const ENOPROTOOPT: ::c_int = 42; pub const EPROTONOSUPPORT: ::c_int = 43; pub const ESOCKTNOSUPPORT: ::c_int = 44; pub const EOPNOTSUPP: ::c_int = 45; pub const EPFNOSUPPORT: ::c_int = 46; pub const EAFNOSUPPORT: ::c_int = 47; pub const EADDRINUSE: ::c_int = 48; pub const EADDRNOTAVAIL: ::c_int = 49; pub const ENETDOWN: ::c_int = 50; pub const ENETUNREACH: ::c_int = 51; pub const ENETRESET: ::c_int = 52; pub const ECONNABORTED: ::c_int = 53; pub const ECONNRESET: ::c_int = 54; pub const ENOBUFS: ::c_int = 55; pub const EISCONN: ::c_int = 56; pub const ENOTCONN: ::c_int = 57; 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 EHOSTDOWN: ::c_int = 64; pub const EHOSTUNREACH: ::c_int = 65; pub const EALREADY: ::c_int = 37; pub const EINPROGRESS: ::c_int = 36; pub const ESTALE: ::c_int = 70; pub const EDQUOT: ::c_int = 69; pub const ENOMEDIUM: ::c_int = 125; pub const EMEDIUMTYPE: ::c_int = 126; pub const ECANCELED: ::c_int = 127; pub const ENOKEY: ::c_int = 128; pub const EKEYEXPIRED: ::c_int = 129; pub const EKEYREVOKED: ::c_int = 130; pub const EKEYREJECTED: ::c_int = 131; pub const EOWNERDEAD: ::c_int = 132; pub const ENOTRECOVERABLE: ::c_int = 133; pub const EHWPOISON: ::c_int = 135; pub const ERFKILL: ::c_int = 134; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_PASSCRED: ::c_int = 2; pub const SO_REUSEADDR: ::c_int = 4; pub const SO_BINDTODEVICE: ::c_int = 0x000d; pub const SO_TIMESTAMP: ::c_int = 0x001d; pub const SO_MARK: ::c_int = 0x0022; pub const SO_RXQ_OVFL: ::c_int = 0x0024; pub const SO_PEEK_OFF: ::c_int = 0x0026; pub const SO_BUSY_POLL: ::c_int = 0x0030; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_DONTROUTE: ::c_int = 16; pub const SO_BROADCAST: ::c_int = 32; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; pub const SO_SNDBUFFORCE: ::c_int = 0x100a; pub const SO_RCVBUFFORCE: ::c_int = 0x100b; pub const SO_DOMAIN: ::c_int = 0x1029; pub const SO_KEEPALIVE: ::c_int = 8; pub const SO_OOBINLINE: ::c_int = 0x100; pub const SO_LINGER: ::c_int = 128; pub const SO_REUSEPORT: ::c_int = 0x200; pub const SO_ACCEPTCONN: ::c_int = 0x8000; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SA_ONSTACK: ::c_int = 1; pub const SA_SIGINFO: ::c_int = 0x200; pub const SA_NOCLDWAIT: ::c_int = 0x100; 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 SIGCHLD: ::c_int = 20; pub const SIGBUS: ::c_int = 10; pub const SIGUSR1: ::c_int = 30; pub const SIGUSR2: ::c_int = 31; pub const SIGCONT: ::c_int = 19; pub const SIGSTOP: ::c_int = 17; pub const SIGTSTP: ::c_int = 18; pub const SIGURG: ::c_int = 16; pub const SIGIO: ::c_int = 23; pub const SIGSYS: ::c_int = 12; pub const SIGPOLL: ::c_int = 23; pub const SIGPWR: ::c_int = 29; pub const SIG_SETMASK: ::c_int = 4; pub const SIG_BLOCK: ::c_int = 1; pub const SIG_UNBLOCK: ::c_int = 2; pub const POLLWRNORM: ::c_short = 4; 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 = 11; pub const EFD_NONBLOCK: ::c_int = 0x4000; pub const F_GETLK: ::c_int = 7; pub const F_GETOWN: ::c_int = 5; pub const F_SETOWN: ::c_int = 6; pub const F_SETLK: ::c_int = 8; pub const F_SETLKW: ::c_int = 9; pub const F_RDLCK: ::c_int = 1; pub const F_WRLCK: ::c_int = 2; pub const F_UNLCK: ::c_int = 3; pub const SFD_NONBLOCK: ::c_int = 0x4000; 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 SFD_CLOEXEC: ::c_int = 0x400000; pub const NCCS: usize = 17; pub const O_TRUNC: ::c_int = 0x400; pub const O_CLOEXEC: ::c_int = 0x400000; pub const EBFONT: ::c_int = 109; pub const ENOSTR: ::c_int = 72; pub const ENODATA: ::c_int = 111; pub const ETIME: ::c_int = 73; pub const ENOSR: ::c_int = 74; pub const ENONET: ::c_int = 80; pub const ENOPKG: ::c_int = 113; pub const EREMOTE: ::c_int = 71; pub const ENOLINK: ::c_int = 82; pub const EADV: ::c_int = 83; pub const ESRMNT: ::c_int = 84; pub const ECOMM: ::c_int = 85; pub const EPROTO: ::c_int = 86; pub const EDOTDOT: ::c_int = 88; pub const SA_NODEFER: ::c_int = 0x20; pub const SA_RESETHAND: ::c_int = 0x4; pub const SA_RESTART: ::c_int = 0x2; pub const SA_NOCLDSTOP: ::c_int = 0x00000008; pub const EPOLL_CLOEXEC: ::c_int = 0x400000; pub const EFD_CLOEXEC: ::c_int = 0x400000; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; align_const! { pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; } pub const O_DIRECTORY: ::c_int = 0o200000; pub const O_NOFOLLOW: ::c_int = 0o400000; pub const O_DIRECT: ::c_int = 0x100000; pub const MAP_LOCKED: ::c_int = 0x0100; pub const MAP_NORESERVE: ::c_int = 0x00040; pub const EDEADLOCK: ::c_int = 108; 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 SO_PEERCRED: ::c_int = 0x40; pub const SO_RCVLOWAT: ::c_int = 0x800; pub const SO_SNDLOWAT: ::c_int = 0x1000; pub const SO_RCVTIMEO: ::c_int = 0x2000; pub const SO_SNDTIMEO: ::c_int = 0x4000; 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; pub const SIGSTKSZ: ::size_t = 16384; pub const MINSIGSTKSZ: ::size_t = 4096; pub const CBAUD: ::tcflag_t = 0x0000100f; pub const TAB1: ::tcflag_t = 0x800; pub const TAB2: ::tcflag_t = 0x1000; pub const TAB3: ::tcflag_t = 0x1800; pub const CR1: ::tcflag_t = 0x200; pub const CR2: ::tcflag_t = 0x400; pub const CR3: ::tcflag_t = 0x600; pub const FF1: ::tcflag_t = 0x8000; pub const BS1: ::tcflag_t = 0x2000; pub const VT1: ::tcflag_t = 0x4000; pub const VWERASE: usize = 0xe; pub const VREPRINT: usize = 0xc; pub const VSUSP: usize = 0xa; pub const VSTART: usize = 0x8; pub const VSTOP: usize = 0x9; pub const VDISCARD: usize = 0xd; pub const VTIME: usize = 0x5; pub const IXON: ::tcflag_t = 0x400; pub const IXOFF: ::tcflag_t = 0x1000; pub const ONLCR: ::tcflag_t = 0x4; pub const CSIZE: ::tcflag_t = 0x30; pub const CS6: ::tcflag_t = 0x10; pub const CS7: ::tcflag_t = 0x20; pub const CS8: ::tcflag_t = 0x30; pub const CSTOPB: ::tcflag_t = 0x40; pub const CREAD: ::tcflag_t = 0x80; pub const PARENB: ::tcflag_t = 0x100; pub const PARODD: ::tcflag_t = 0x200; pub const HUPCL: ::tcflag_t = 0x400; pub const CLOCAL: ::tcflag_t = 0x800; pub const ECHOKE: ::tcflag_t = 0x800; pub const ECHOE: ::tcflag_t = 0x10; pub const ECHOK: ::tcflag_t = 0x20; pub const ECHONL: ::tcflag_t = 0x40; pub const ECHOPRT: ::tcflag_t = 0x400; pub const ECHOCTL: ::tcflag_t = 0x200; pub const ISIG: ::tcflag_t = 0x1; pub const ICANON: ::tcflag_t = 0x2; pub const PENDIN: ::tcflag_t = 0x4000; pub const NOFLSH: ::tcflag_t = 0x80; pub const CIBAUD: ::tcflag_t = 0o02003600000; pub const CBAUDEX: ::tcflag_t = 0x00001000; 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 BOTHER: ::speed_t = 0x1000; pub const B57600: ::speed_t = 0x1001; pub const B115200: ::speed_t = 0x1002; pub const B230400: ::speed_t = 0x1003; pub const B460800: ::speed_t = 0x1004; pub const B76800: ::speed_t = 0x1005; pub const B153600: ::speed_t = 0x1006; pub const B307200: ::speed_t = 0x1007; pub const B614400: ::speed_t = 0x1008; pub const B921600: ::speed_t = 0x1009; pub const B500000: ::speed_t = 0x100a; pub const B576000: ::speed_t = 0x100b; pub const B1000000: ::speed_t = 0x100c; pub const B1152000: ::speed_t = 0x100d; pub const B1500000: ::speed_t = 0x100e; pub const B2000000: ::speed_t = 0x100f; pub const VEOL: usize = 5; pub const VEOL2: usize = 6; pub const VMIN: usize = 4; 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; 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_wait4: ::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_execv: ::c_long = 11; pub const SYS_chdir: ::c_long = 12; pub const SYS_chown: ::c_long = 13; pub const SYS_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_brk: ::c_long = 17; pub const SYS_perfctr: ::c_long = 18; pub const SYS_lseek: ::c_long = 19; pub const SYS_getpid: ::c_long = 20; pub const SYS_capget: ::c_long = 21; pub const SYS_capset: ::c_long = 22; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_vmsplice: ::c_long = 25; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_sigaltstack: ::c_long = 28; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::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_stat: ::c_long = 38; pub const SYS_sendfile: ::c_long = 39; pub const SYS_lstat: ::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_umount2: ::c_long = 45; pub const SYS_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_signal: ::c_long = 48; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_memory_ordering: ::c_long = 52; pub const SYS_ioctl: ::c_long = 54; pub const SYS_reboot: ::c_long = 55; pub const SYS_symlink: ::c_long = 57; pub const SYS_readlink: ::c_long = 58; pub const SYS_execve: ::c_long = 59; pub const SYS_umask: ::c_long = 60; pub const SYS_chroot: ::c_long = 61; pub const SYS_fstat: ::c_long = 62; pub const SYS_fstat64: ::c_long = 63; pub const SYS_getpagesize: ::c_long = 64; pub const SYS_msync: ::c_long = 65; pub const SYS_vfork: ::c_long = 66; pub const SYS_pread64: ::c_long = 67; pub const SYS_pwrite64: ::c_long = 68; pub const SYS_mmap: ::c_long = 71; pub const SYS_munmap: ::c_long = 73; pub const SYS_mprotect: ::c_long = 74; pub const SYS_madvise: ::c_long = 75; pub const SYS_vhangup: ::c_long = 76; pub const SYS_mincore: ::c_long = 78; pub const SYS_getgroups: ::c_long = 79; pub const SYS_setgroups: ::c_long = 80; pub const SYS_getpgrp: ::c_long = 81; pub const SYS_setitimer: ::c_long = 83; pub const SYS_swapon: ::c_long = 85; pub const SYS_getitimer: ::c_long = 86; pub const SYS_sethostname: ::c_long = 88; pub const SYS_dup2: ::c_long = 90; pub const SYS_fcntl: ::c_long = 92; pub const SYS_select: ::c_long = 93; pub const SYS_fsync: ::c_long = 95; pub const SYS_setpriority: ::c_long = 96; pub const SYS_socket: ::c_long = 97; pub const SYS_connect: ::c_long = 98; pub const SYS_accept: ::c_long = 99; pub const SYS_getpriority: ::c_long = 100; pub const SYS_rt_sigreturn: ::c_long = 101; pub const SYS_rt_sigaction: ::c_long = 102; pub const SYS_rt_sigprocmask: ::c_long = 103; pub const SYS_rt_sigpending: ::c_long = 104; pub const SYS_rt_sigtimedwait: ::c_long = 105; pub const SYS_rt_sigqueueinfo: ::c_long = 106; pub const SYS_rt_sigsuspend: ::c_long = 107; pub const SYS_setresuid: ::c_long = 108; pub const SYS_getresuid: ::c_long = 109; pub const SYS_setresgid: ::c_long = 110; pub const SYS_getresgid: ::c_long = 111; pub const SYS_recvmsg: ::c_long = 113; pub const SYS_sendmsg: ::c_long = 114; pub const SYS_gettimeofday: ::c_long = 116; pub const SYS_getrusage: ::c_long = 117; pub const SYS_getsockopt: ::c_long = 118; pub const SYS_getcwd: ::c_long = 119; pub const SYS_readv: ::c_long = 120; pub const SYS_writev: ::c_long = 121; pub const SYS_settimeofday: ::c_long = 122; pub const SYS_fchown: ::c_long = 123; pub const SYS_fchmod: ::c_long = 124; pub const SYS_recvfrom: ::c_long = 125; pub const SYS_setreuid: ::c_long = 126; pub const SYS_setregid: ::c_long = 127; pub const SYS_rename: ::c_long = 128; pub const SYS_truncate: ::c_long = 129; pub const SYS_ftruncate: ::c_long = 130; pub const SYS_flock: ::c_long = 131; pub const SYS_lstat64: ::c_long = 132; pub const SYS_sendto: ::c_long = 133; pub const SYS_shutdown: ::c_long = 134; pub const SYS_socketpair: ::c_long = 135; pub const SYS_mkdir: ::c_long = 136; pub const SYS_rmdir: ::c_long = 137; pub const SYS_utimes: ::c_long = 138; pub const SYS_stat64: ::c_long = 139; pub const SYS_sendfile64: ::c_long = 140; pub const SYS_getpeername: ::c_long = 141; pub const SYS_futex: ::c_long = 142; pub const SYS_gettid: ::c_long = 143; pub const SYS_getrlimit: ::c_long = 144; pub const SYS_setrlimit: ::c_long = 145; pub const SYS_pivot_root: ::c_long = 146; pub const SYS_prctl: ::c_long = 147; pub const SYS_pciconfig_read: ::c_long = 148; pub const SYS_pciconfig_write: ::c_long = 149; pub const SYS_getsockname: ::c_long = 150; pub const SYS_inotify_init: ::c_long = 151; pub const SYS_inotify_add_watch: ::c_long = 152; pub const SYS_poll: ::c_long = 153; pub const SYS_getdents64: ::c_long = 154; pub const SYS_inotify_rm_watch: ::c_long = 156; pub const SYS_statfs: ::c_long = 157; pub const SYS_fstatfs: ::c_long = 158; pub const SYS_umount: ::c_long = 159; pub const SYS_sched_set_affinity: ::c_long = 160; pub const SYS_sched_get_affinity: ::c_long = 161; pub const SYS_getdomainname: ::c_long = 162; pub const SYS_setdomainname: ::c_long = 163; pub const SYS_utrap_install: ::c_long = 164; pub const SYS_quotactl: ::c_long = 165; pub const SYS_set_tid_address: ::c_long = 166; pub const SYS_mount: ::c_long = 167; pub const SYS_ustat: ::c_long = 168; pub const SYS_setxattr: ::c_long = 169; pub const SYS_lsetxattr: ::c_long = 170; pub const SYS_fsetxattr: ::c_long = 171; pub const SYS_getxattr: ::c_long = 172; pub const SYS_lgetxattr: ::c_long = 173; pub const SYS_getdents: ::c_long = 174; pub const SYS_setsid: ::c_long = 175; pub const SYS_fchdir: ::c_long = 176; pub const SYS_fgetxattr: ::c_long = 177; pub const SYS_listxattr: ::c_long = 178; pub const SYS_llistxattr: ::c_long = 179; pub const SYS_flistxattr: ::c_long = 180; pub const SYS_removexattr: ::c_long = 181; pub const SYS_lremovexattr: ::c_long = 182; pub const SYS_sigpending: ::c_long = 183; pub const SYS_query_module: ::c_long = 184; pub const SYS_setpgid: ::c_long = 185; pub const SYS_fremovexattr: ::c_long = 186; pub const SYS_tkill: ::c_long = 187; pub const SYS_exit_group: ::c_long = 188; pub const SYS_uname: ::c_long = 189; pub const SYS_init_module: ::c_long = 190; pub const SYS_personality: ::c_long = 191; pub const SYS_remap_file_pages: ::c_long = 192; pub const SYS_epoll_create: ::c_long = 193; pub const SYS_epoll_ctl: ::c_long = 194; pub const SYS_epoll_wait: ::c_long = 195; pub const SYS_ioprio_set: ::c_long = 196; pub const SYS_getppid: ::c_long = 197; pub const SYS_sigaction: ::c_long = 198; pub const SYS_sgetmask: ::c_long = 199; pub const SYS_ssetmask: ::c_long = 200; pub const SYS_sigsuspend: ::c_long = 201; pub const SYS_oldlstat: ::c_long = 202; pub const SYS_uselib: ::c_long = 203; pub const SYS_readdir: ::c_long = 204; pub const SYS_readahead: ::c_long = 205; pub const SYS_socketcall: ::c_long = 206; pub const SYS_syslog: ::c_long = 207; pub const SYS_lookup_dcookie: ::c_long = 208; pub const SYS_fadvise64: ::c_long = 209; pub const SYS_fadvise64_64: ::c_long = 210; pub const SYS_tgkill: ::c_long = 211; pub const SYS_waitpid: ::c_long = 212; pub const SYS_swapoff: ::c_long = 213; pub const SYS_sysinfo: ::c_long = 214; pub const SYS_ipc: ::c_long = 215; pub const SYS_sigreturn: ::c_long = 216; pub const SYS_clone: ::c_long = 217; pub const SYS_ioprio_get: ::c_long = 218; pub const SYS_adjtimex: ::c_long = 219; pub const SYS_sigprocmask: ::c_long = 220; pub const SYS_create_module: ::c_long = 221; pub const SYS_delete_module: ::c_long = 222; pub const SYS_get_kernel_syms: ::c_long = 223; pub const SYS_getpgid: ::c_long = 224; pub const SYS_bdflush: ::c_long = 225; pub const SYS_sysfs: ::c_long = 226; pub const SYS_afs_syscall: ::c_long = 227; pub const SYS_setfsuid: ::c_long = 228; pub const SYS_setfsgid: ::c_long = 229; pub const SYS__newselect: ::c_long = 230; pub const SYS_splice: ::c_long = 232; pub const SYS_stime: ::c_long = 233; pub const SYS_statfs64: ::c_long = 234; pub const SYS_fstatfs64: ::c_long = 235; pub const SYS__llseek: ::c_long = 236; pub const SYS_mlock: ::c_long = 237; pub const SYS_munlock: ::c_long = 238; pub const SYS_mlockall: ::c_long = 239; pub const SYS_munlockall: ::c_long = 240; pub const SYS_sched_setparam: ::c_long = 241; pub const SYS_sched_getparam: ::c_long = 242; pub const SYS_sched_setscheduler: ::c_long = 243; pub const SYS_sched_getscheduler: ::c_long = 244; pub const SYS_sched_yield: ::c_long = 245; pub const SYS_sched_get_priority_max: ::c_long = 246; pub const SYS_sched_get_priority_min: ::c_long = 247; pub const SYS_sched_rr_get_interval: ::c_long = 248; pub const SYS_nanosleep: ::c_long = 249; pub const SYS_mremap: ::c_long = 250; pub const SYS__sysctl: ::c_long = 251; pub const SYS_getsid: ::c_long = 252; pub const SYS_fdatasync: ::c_long = 253; pub const SYS_nfsservctl: ::c_long = 254; pub const SYS_sync_file_range: ::c_long = 255; pub const SYS_clock_settime: ::c_long = 256; pub const SYS_clock_gettime: ::c_long = 257; pub const SYS_clock_getres: ::c_long = 258; pub const SYS_clock_nanosleep: ::c_long = 259; pub const SYS_sched_getaffinity: ::c_long = 260; pub const SYS_sched_setaffinity: ::c_long = 261; pub const SYS_timer_settime: ::c_long = 262; pub const SYS_timer_gettime: ::c_long = 263; pub const SYS_timer_getoverrun: ::c_long = 264; pub const SYS_timer_delete: ::c_long = 265; pub const SYS_timer_create: ::c_long = 266; pub const SYS_io_setup: ::c_long = 268; pub const SYS_io_destroy: ::c_long = 269; pub const SYS_io_submit: ::c_long = 270; pub const SYS_io_cancel: ::c_long = 271; pub const SYS_io_getevents: ::c_long = 272; pub const SYS_mq_open: ::c_long = 273; pub const SYS_mq_unlink: ::c_long = 274; pub const SYS_mq_timedsend: ::c_long = 275; pub const SYS_mq_timedreceive: ::c_long = 276; pub const SYS_mq_notify: ::c_long = 277; pub const SYS_mq_getsetattr: ::c_long = 278; pub const SYS_waitid: ::c_long = 279; pub const SYS_tee: ::c_long = 280; pub const SYS_add_key: ::c_long = 281; pub const SYS_request_key: ::c_long = 282; pub const SYS_keyctl: ::c_long = 283; pub const SYS_openat: ::c_long = 284; pub const SYS_mkdirat: ::c_long = 285; pub const SYS_mknodat: ::c_long = 286; pub const SYS_fchownat: ::c_long = 287; pub const SYS_futimesat: ::c_long = 288; pub const SYS_fstatat64: ::c_long = 289; pub const SYS_unlinkat: ::c_long = 290; pub const SYS_renameat: ::c_long = 291; pub const SYS_linkat: ::c_long = 292; pub const SYS_symlinkat: ::c_long = 293; pub const SYS_readlinkat: ::c_long = 294; pub const SYS_fchmodat: ::c_long = 295; pub const SYS_faccessat: ::c_long = 296; pub const SYS_pselect6: ::c_long = 297; pub const SYS_ppoll: ::c_long = 298; pub const SYS_unshare: ::c_long = 299; pub const SYS_set_robust_list: ::c_long = 300; pub const SYS_get_robust_list: ::c_long = 301; pub const SYS_migrate_pages: ::c_long = 302; pub const SYS_mbind: ::c_long = 303; pub const SYS_get_mempolicy: ::c_long = 304; pub const SYS_set_mempolicy: ::c_long = 305; pub const SYS_kexec_load: ::c_long = 306; pub const SYS_move_pages: ::c_long = 307; pub const SYS_getcpu: ::c_long = 308; pub const SYS_epoll_pwait: ::c_long = 309; pub const SYS_utimensat: ::c_long = 310; pub const SYS_signalfd: ::c_long = 311; pub const SYS_timerfd_create: ::c_long = 312; pub const SYS_eventfd: ::c_long = 313; pub const SYS_fallocate: ::c_long = 314; pub const SYS_timerfd_settime: ::c_long = 315; pub const SYS_timerfd_gettime: ::c_long = 316; pub const SYS_signalfd4: ::c_long = 317; pub const SYS_eventfd2: ::c_long = 318; pub const SYS_epoll_create1: ::c_long = 319; pub const SYS_dup3: ::c_long = 320; pub const SYS_pipe2: ::c_long = 321; pub const SYS_inotify_init1: ::c_long = 322; pub const SYS_accept4: ::c_long = 323; pub const SYS_preadv: ::c_long = 324; pub const SYS_pwritev: ::c_long = 325; pub const SYS_rt_tgsigqueueinfo: ::c_long = 326; pub const SYS_perf_event_open: ::c_long = 327; pub const SYS_recvmmsg: ::c_long = 328; pub const SYS_fanotify_init: ::c_long = 329; pub const SYS_fanotify_mark: ::c_long = 330; pub const SYS_prlimit64: ::c_long = 331; pub const SYS_name_to_handle_at: ::c_long = 332; pub const SYS_open_by_handle_at: ::c_long = 333; pub const SYS_clock_adjtime: ::c_long = 334; pub const SYS_syncfs: ::c_long = 335; pub const SYS_sendmmsg: ::c_long = 336; pub const SYS_setns: ::c_long = 337; pub const SYS_process_vm_readv: ::c_long = 338; pub const SYS_process_vm_writev: ::c_long = 339; pub const SYS_kern_features: ::c_long = 340; pub const SYS_kcmp: ::c_long = 341; pub const SYS_finit_module: ::c_long = 342; pub const SYS_sched_setattr: ::c_long = 343; pub const SYS_sched_getattr: ::c_long = 344; pub const SYS_renameat2: ::c_long = 345; pub const SYS_seccomp: ::c_long = 346; pub const SYS_getrandom: ::c_long = 347; pub const SYS_memfd_create: ::c_long = 348; pub const SYS_bpf: ::c_long = 349; pub const SYS_execveat: ::c_long = 350; pub const SYS_membarrier: ::c_long = 351; pub const SYS_userfaultfd: ::c_long = 352; pub const SYS_bind: ::c_long = 353; pub const SYS_listen: ::c_long = 354; pub const SYS_setsockopt: ::c_long = 355; pub const SYS_mlock2: ::c_long = 356; pub const SYS_copy_file_range: ::c_long = 357; pub const SYS_preadv2: ::c_long = 358; pub const SYS_pwritev2: ::c_long = 359; pub const SYS_statx: ::c_long = 360; #[link(name = "util")] extern "C" { pub fn sysctl( name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/x86_64/align.rs010064400007650000024000000002251355140103400215660ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f64; 4] } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs010064400007650000024000000712571357020644200212770ustar0000000000000000//! x86_64-specific definitions for 64-bit linux-like values pub type c_char = i8; pub type wchar_t = i32; pub type nlink_t = u64; pub type blksize_t = i64; pub type greg_t = i64; pub type suseconds_t = i64; pub type __u64 = ::c_ulonglong; s! { pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, #[cfg(target_arch = "sparc64")] __reserved0: ::c_int, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } 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, f_spare: [::__fsword_t; 5], } 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 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 stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: i64, pub st_mtime: ::time_t, pub st_mtime_nsec: i64, pub st_ctime: ::time_t, pub st_ctime_nsec: i64, __unused: [i64; 3], } pub struct stat64 { pub st_dev: ::dev_t, pub st_ino: ::ino64_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt64_t, pub st_atime: ::time_t, pub st_atime_nsec: i64, pub st_mtime: ::time_t, pub st_mtime_nsec: i64, pub st_ctime: ::time_t, pub st_ctime_nsec: i64, __reserved: [i64; 3], } pub struct statfs64 { pub f_type: ::__fsword_t, pub f_bsize: ::__fsword_t, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, 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: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct pthread_attr_t { #[cfg(target_pointer_width = "32")] __size: [u32; 8], #[cfg(target_pointer_width = "64")] __size: [u64; 7] } pub struct _libc_fpxreg { pub significand: [u16; 4], pub exponent: u16, __private: [u16; 3], } pub struct _libc_xmmreg { pub element: [u32; 4], } pub struct _libc_fpstate { pub cwd: u16, pub swd: u16, pub ftw: u16, pub fop: u16, pub rip: u64, pub rdp: u64, pub mxcsr: u32, pub mxcr_mask: u32, pub _st: [_libc_fpxreg; 8], pub _xmm: [_libc_xmmreg; 16], __private: [u64; 12], } pub struct user_regs_struct { pub r15: ::c_ulonglong, pub r14: ::c_ulonglong, pub r13: ::c_ulonglong, pub r12: ::c_ulonglong, pub rbp: ::c_ulonglong, pub rbx: ::c_ulonglong, pub r11: ::c_ulonglong, pub r10: ::c_ulonglong, pub r9: ::c_ulonglong, pub r8: ::c_ulonglong, pub rax: ::c_ulonglong, pub rcx: ::c_ulonglong, pub rdx: ::c_ulonglong, pub rsi: ::c_ulonglong, pub rdi: ::c_ulonglong, pub orig_rax: ::c_ulonglong, pub rip: ::c_ulonglong, pub cs: ::c_ulonglong, pub eflags: ::c_ulonglong, pub rsp: ::c_ulonglong, pub ss: ::c_ulonglong, pub fs_base: ::c_ulonglong, pub gs_base: ::c_ulonglong, pub ds: ::c_ulonglong, pub es: ::c_ulonglong, pub fs: ::c_ulonglong, pub gs: ::c_ulonglong, } pub struct user { pub regs: user_regs_struct, pub u_fpvalid: ::c_int, pub i387: user_fpregs_struct, pub u_tsize: ::c_ulonglong, pub u_dsize: ::c_ulonglong, pub u_ssize: ::c_ulonglong, pub start_code: ::c_ulonglong, pub start_stack: ::c_ulonglong, pub signal: ::c_longlong, __reserved: ::c_int, #[cfg(target_pointer_width = "32")] __pad1: u32, pub u_ar0: *mut user_regs_struct, #[cfg(target_pointer_width = "32")] __pad2: u32, pub u_fpstate: *mut user_fpregs_struct, pub magic: ::c_ulonglong, pub u_comm: [::c_char; 32], pub u_debugreg: [::c_ulonglong; 8], } pub struct mcontext_t { pub gregs: [greg_t; 23], pub fpregs: *mut _libc_fpstate, __private: [u64; 8], } 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: u64, __unused2: u64 } 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, __unused4: u64, __unused5: u64 } 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, } } s_no_extra_traits! { pub struct user_fpregs_struct { pub cwd: ::c_ushort, pub swd: ::c_ushort, pub ftw: ::c_ushort, pub fop: ::c_ushort, pub rip: ::c_ulonglong, pub rdp: ::c_ulonglong, pub mxcsr: ::c_uint, pub mxcr_mask: ::c_uint, pub st_space: [::c_uint; 32], pub xmm_space: [::c_uint; 64], padding: [::c_uint; 24], } 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, __private: [u8; 512], // FIXME: the shadow stack field requires glibc >= 2.28. // Re-add once we drop compatibility with glibc versions older than // 2.28. // // __ssp: [::c_ulonglong; 4], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for user_fpregs_struct { fn eq(&self, other: &user_fpregs_struct) -> bool { self.cwd == other.cwd && self.swd == other.swd && self.ftw == other.ftw && self.fop == other.fop && self.rip == other.rip && self.rdp == other.rdp && self.mxcsr == other.mxcsr && self.mxcr_mask == other.mxcr_mask && self.st_space == other.st_space && self .xmm_space .iter() .zip(other.xmm_space.iter()) .all(|(a,b)| a == b) // Ignore padding field } } impl Eq for user_fpregs_struct {} impl ::fmt::Debug for user_fpregs_struct { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("user_fpregs_struct") .field("cwd", &self.cwd) .field("ftw", &self.ftw) .field("fop", &self.fop) .field("rip", &self.rip) .field("rdp", &self.rdp) .field("mxcsr", &self.mxcsr) .field("mxcr_mask", &self.mxcr_mask) .field("st_space", &self.st_space) // FIXME: .field("xmm_space", &self.xmm_space) // Ignore padding field .finish() } } impl ::hash::Hash for user_fpregs_struct { fn hash(&self, state: &mut H) { self.cwd.hash(state); self.ftw.hash(state); self.fop.hash(state); self.rip.hash(state); self.rdp.hash(state); self.mxcsr.hash(state); self.mxcr_mask.hash(state); self.st_space.hash(state); self.xmm_space.hash(state); // Ignore padding field } } 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 // Ignore __private field } } 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_stack", &self.uc_stack) .field("uc_mcontext", &self.uc_mcontext) .field("uc_sigmask", &self.uc_sigmask) // Ignore __private field .finish() } } impl ::hash::Hash for ucontext_t { fn hash(&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); // Ignore __private field } } } } pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; 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; pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8; pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7; pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6; 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_NOATIME: ::c_int = 0o1000000; pub const O_PATH: ::c_int = 0o10000000; pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY; pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MAP_GROWSDOWN: ::c_int = 0x0100; 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 SOL_SOCKET: ::c_int = 1; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22; pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23; pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24; 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_PEERNAME: ::c_int = 28; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_PEERSEC: ::c_int = 31; pub const SO_PASSSEC: ::c_int = 34; pub const SO_TIMESTAMPNS: ::c_int = 35; pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS; pub const SO_MARK: ::c_int = 36; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; pub const SO_RXQ_OVFL: ::c_int = 40; pub const SO_WIFI_STATUS: ::c_int = 41; pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS; pub const SO_PEEK_OFF: ::c_int = 42; pub const SO_NOFCS: ::c_int = 43; pub const SO_LOCK_FILTER: ::c_int = 44; pub const SO_SELECT_ERR_QUEUE: ::c_int = 45; pub const SO_BUSY_POLL: ::c_int = 46; pub const SO_MAX_PACING_RATE: ::c_int = 47; pub const SO_BPF_EXTENSIONS: ::c_int = 48; pub const SO_INCOMING_CPU: ::c_int = 49; pub const SO_ATTACH_BPF: ::c_int = 50; pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SA_ONSTACK: ::c_int = 0x08000000; pub const SA_SIGINFO: ::c_int = 0x00000004; pub const SA_NOCLDWAIT: ::c_int = 0x00000002; 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 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 POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; pub const O_ASYNC: ::c_int = 0x2000; pub const O_NDELAY: ::c_int = 0x800; pub const PTRACE_DETACH: ::c_uint = 17; pub const EFD_NONBLOCK: ::c_int = 0x800; pub const F_GETLK: ::c_int = 5; pub const F_GETOWN: ::c_int = 9; pub const F_SETOWN: ::c_int = 8; pub const F_SETLK: ::c_int = 6; pub const F_SETLKW: ::c_int = 7; pub const F_RDLCK: ::c_int = 0; pub const F_WRLCK: ::c_int = 1; pub const F_UNLCK: ::c_int = 2; pub const SFD_NONBLOCK: ::c_int = 0x0800; 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; pub const O_TRUNC: ::c_int = 512; pub const O_CLOEXEC: ::c_int = 0x80000; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const O_DIRECT: ::c_int = 0x4000; pub const O_DIRECTORY: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x20000; pub const MAP_HUGETLB: ::c_int = 0x040000; 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 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 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; pub const PTRACE_SETFPXREGS: ::c_uint = 19; pub const PTRACE_GETREGS: ::c_uint = 12; pub const PTRACE_SETREGS: ::c_uint = 13; pub const PTRACE_PEEKSIGINFO_SHARED: ::c_uint = 1; pub const MCL_CURRENT: ::c_int = 0x0001; pub const MCL_FUTURE: ::c_int = 0x0002; 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 BOTHER: ::speed_t = 0o010000; 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 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; // offsets in user_regs_structs, from sys/reg.h pub const R15: ::c_int = 0; pub const R14: ::c_int = 1; pub const R13: ::c_int = 2; pub const R12: ::c_int = 3; pub const RBP: ::c_int = 4; pub const RBX: ::c_int = 5; pub const R11: ::c_int = 6; pub const R10: ::c_int = 7; pub const R9: ::c_int = 8; pub const R8: ::c_int = 9; pub const RAX: ::c_int = 10; pub const RCX: ::c_int = 11; pub const RDX: ::c_int = 12; pub const RSI: ::c_int = 13; pub const RDI: ::c_int = 14; pub const ORIG_RAX: ::c_int = 15; pub const RIP: ::c_int = 16; pub const CS: ::c_int = 17; pub const EFLAGS: ::c_int = 18; pub const RSP: ::c_int = 19; pub const SS: ::c_int = 20; pub const FS_BASE: ::c_int = 21; pub const GS_BASE: ::c_int = 22; pub const DS: ::c_int = 23; pub const ES: ::c_int = 24; pub const FS: ::c_int = 25; pub const GS: ::c_int = 26; // offsets in mcontext_t.gregs from sys/ucontext.h pub const REG_R8: ::c_int = 0; pub const REG_R9: ::c_int = 1; pub const REG_R10: ::c_int = 2; pub const REG_R11: ::c_int = 3; pub const REG_R12: ::c_int = 4; pub const REG_R13: ::c_int = 5; pub const REG_R14: ::c_int = 6; pub const REG_R15: ::c_int = 7; pub const REG_RDI: ::c_int = 8; pub const REG_RSI: ::c_int = 9; pub const REG_RBP: ::c_int = 10; pub const REG_RBX: ::c_int = 11; pub const REG_RDX: ::c_int = 12; pub const REG_RAX: ::c_int = 13; pub const REG_RCX: ::c_int = 14; pub const REG_RSP: ::c_int = 15; pub const REG_RIP: ::c_int = 16; pub const REG_EFL: ::c_int = 17; pub const REG_CSGSFS: ::c_int = 18; pub const REG_ERR: ::c_int = 19; pub const REG_TRAPNO: ::c_int = 20; pub const REG_OLDMASK: ::c_int = 21; pub const REG_CR2: ::c_int = 22; extern "C" { pub fn getcontext(ucp: *mut ucontext_t) -> ::c_int; pub fn setcontext(ucp: *const ucontext_t) -> ::c_int; pub fn makecontext( ucp: *mut ucontext_t, func: extern "C" fn(), argc: ::c_int, ... ); pub fn swapcontext( uocp: *mut ucontext_t, ucp: *const ucontext_t, ) -> ::c_int; pub fn iopl(level: ::c_int) -> ::c_int; pub fn ioperm( from: ::c_ulong, num: ::c_ulong, turn_on: ::c_int, ) -> ::c_int; } cfg_if! { if #[cfg(target_pointer_width = "32")] { mod x32; pub use self::x32::*; } else { mod not_x32; pub use self::not_x32::*; } } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs010064400007650000024000000377441353775267200220350ustar0000000000000000use pthread_mutex_t; pub type c_long = i64; pub type c_ulong = u64; s! { 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, __f_spare: [::c_int; 6], } } pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56; align_const! { #[cfg(target_endian = "little")] pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "little")] pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "little")] pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; #[cfg(target_endian = "big")] pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; } // Syscall table pub const SYS_read: ::c_long = 0; pub const SYS_write: ::c_long = 1; pub const SYS_open: ::c_long = 2; pub const SYS_close: ::c_long = 3; pub const SYS_stat: ::c_long = 4; pub const SYS_fstat: ::c_long = 5; pub const SYS_lstat: ::c_long = 6; pub const SYS_poll: ::c_long = 7; pub const SYS_lseek: ::c_long = 8; pub const SYS_mmap: ::c_long = 9; pub const SYS_mprotect: ::c_long = 10; pub const SYS_munmap: ::c_long = 11; pub const SYS_brk: ::c_long = 12; pub const SYS_rt_sigaction: ::c_long = 13; pub const SYS_rt_sigprocmask: ::c_long = 14; pub const SYS_rt_sigreturn: ::c_long = 15; pub const SYS_ioctl: ::c_long = 16; pub const SYS_pread64: ::c_long = 17; pub const SYS_pwrite64: ::c_long = 18; pub const SYS_readv: ::c_long = 19; pub const SYS_writev: ::c_long = 20; pub const SYS_access: ::c_long = 21; pub const SYS_pipe: ::c_long = 22; pub const SYS_select: ::c_long = 23; pub const SYS_sched_yield: ::c_long = 24; pub const SYS_mremap: ::c_long = 25; pub const SYS_msync: ::c_long = 26; pub const SYS_mincore: ::c_long = 27; pub const SYS_madvise: ::c_long = 28; pub const SYS_shmget: ::c_long = 29; pub const SYS_shmat: ::c_long = 30; pub const SYS_shmctl: ::c_long = 31; pub const SYS_dup: ::c_long = 32; pub const SYS_dup2: ::c_long = 33; pub const SYS_pause: ::c_long = 34; pub const SYS_nanosleep: ::c_long = 35; pub const SYS_getitimer: ::c_long = 36; pub const SYS_alarm: ::c_long = 37; pub const SYS_setitimer: ::c_long = 38; pub const SYS_getpid: ::c_long = 39; pub const SYS_sendfile: ::c_long = 40; pub const SYS_socket: ::c_long = 41; pub const SYS_connect: ::c_long = 42; pub const SYS_accept: ::c_long = 43; pub const SYS_sendto: ::c_long = 44; pub const SYS_recvfrom: ::c_long = 45; pub const SYS_sendmsg: ::c_long = 46; pub const SYS_recvmsg: ::c_long = 47; pub const SYS_shutdown: ::c_long = 48; pub const SYS_bind: ::c_long = 49; pub const SYS_listen: ::c_long = 50; pub const SYS_getsockname: ::c_long = 51; pub const SYS_getpeername: ::c_long = 52; pub const SYS_socketpair: ::c_long = 53; pub const SYS_setsockopt: ::c_long = 54; pub const SYS_getsockopt: ::c_long = 55; pub const SYS_clone: ::c_long = 56; pub const SYS_fork: ::c_long = 57; pub const SYS_vfork: ::c_long = 58; pub const SYS_execve: ::c_long = 59; pub const SYS_exit: ::c_long = 60; pub const SYS_wait4: ::c_long = 61; pub const SYS_kill: ::c_long = 62; pub const SYS_uname: ::c_long = 63; pub const SYS_semget: ::c_long = 64; pub const SYS_semop: ::c_long = 65; pub const SYS_semctl: ::c_long = 66; pub const SYS_shmdt: ::c_long = 67; pub const SYS_msgget: ::c_long = 68; pub const SYS_msgsnd: ::c_long = 69; pub const SYS_msgrcv: ::c_long = 70; pub const SYS_msgctl: ::c_long = 71; pub const SYS_fcntl: ::c_long = 72; pub const SYS_flock: ::c_long = 73; pub const SYS_fsync: ::c_long = 74; pub const SYS_fdatasync: ::c_long = 75; pub const SYS_truncate: ::c_long = 76; pub const SYS_ftruncate: ::c_long = 77; pub const SYS_getdents: ::c_long = 78; pub const SYS_getcwd: ::c_long = 79; pub const SYS_chdir: ::c_long = 80; pub const SYS_fchdir: ::c_long = 81; pub const SYS_rename: ::c_long = 82; pub const SYS_mkdir: ::c_long = 83; pub const SYS_rmdir: ::c_long = 84; pub const SYS_creat: ::c_long = 85; pub const SYS_link: ::c_long = 86; pub const SYS_unlink: ::c_long = 87; pub const SYS_symlink: ::c_long = 88; pub const SYS_readlink: ::c_long = 89; pub const SYS_chmod: ::c_long = 90; pub const SYS_fchmod: ::c_long = 91; pub const SYS_chown: ::c_long = 92; pub const SYS_fchown: ::c_long = 93; pub const SYS_lchown: ::c_long = 94; pub const SYS_umask: ::c_long = 95; pub const SYS_gettimeofday: ::c_long = 96; pub const SYS_getrlimit: ::c_long = 97; pub const SYS_getrusage: ::c_long = 98; pub const SYS_sysinfo: ::c_long = 99; pub const SYS_times: ::c_long = 100; pub const SYS_ptrace: ::c_long = 101; pub const SYS_getuid: ::c_long = 102; pub const SYS_syslog: ::c_long = 103; pub const SYS_getgid: ::c_long = 104; pub const SYS_setuid: ::c_long = 105; pub const SYS_setgid: ::c_long = 106; pub const SYS_geteuid: ::c_long = 107; pub const SYS_getegid: ::c_long = 108; pub const SYS_setpgid: ::c_long = 109; pub const SYS_getppid: ::c_long = 110; pub const SYS_getpgrp: ::c_long = 111; pub const SYS_setsid: ::c_long = 112; pub const SYS_setreuid: ::c_long = 113; pub const SYS_setregid: ::c_long = 114; pub const SYS_getgroups: ::c_long = 115; pub const SYS_setgroups: ::c_long = 116; pub const SYS_setresuid: ::c_long = 117; pub const SYS_getresuid: ::c_long = 118; pub const SYS_setresgid: ::c_long = 119; pub const SYS_getresgid: ::c_long = 120; pub const SYS_getpgid: ::c_long = 121; pub const SYS_setfsuid: ::c_long = 122; pub const SYS_setfsgid: ::c_long = 123; pub const SYS_getsid: ::c_long = 124; pub const SYS_capget: ::c_long = 125; pub const SYS_capset: ::c_long = 126; pub const SYS_rt_sigpending: ::c_long = 127; pub const SYS_rt_sigtimedwait: ::c_long = 128; pub const SYS_rt_sigqueueinfo: ::c_long = 129; pub const SYS_rt_sigsuspend: ::c_long = 130; pub const SYS_sigaltstack: ::c_long = 131; pub const SYS_utime: ::c_long = 132; pub const SYS_mknod: ::c_long = 133; pub const SYS_uselib: ::c_long = 134; pub const SYS_personality: ::c_long = 135; pub const SYS_ustat: ::c_long = 136; pub const SYS_statfs: ::c_long = 137; pub const SYS_fstatfs: ::c_long = 138; pub const SYS_sysfs: ::c_long = 139; pub const SYS_getpriority: ::c_long = 140; pub const SYS_setpriority: ::c_long = 141; pub const SYS_sched_setparam: ::c_long = 142; pub const SYS_sched_getparam: ::c_long = 143; pub const SYS_sched_setscheduler: ::c_long = 144; pub const SYS_sched_getscheduler: ::c_long = 145; pub const SYS_sched_get_priority_max: ::c_long = 146; pub const SYS_sched_get_priority_min: ::c_long = 147; pub const SYS_sched_rr_get_interval: ::c_long = 148; pub const SYS_mlock: ::c_long = 149; pub const SYS_munlock: ::c_long = 150; pub const SYS_mlockall: ::c_long = 151; pub const SYS_munlockall: ::c_long = 152; pub const SYS_vhangup: ::c_long = 153; pub const SYS_modify_ldt: ::c_long = 154; pub const SYS_pivot_root: ::c_long = 155; pub const SYS__sysctl: ::c_long = 156; pub const SYS_prctl: ::c_long = 157; pub const SYS_arch_prctl: ::c_long = 158; pub const SYS_adjtimex: ::c_long = 159; pub const SYS_setrlimit: ::c_long = 160; pub const SYS_chroot: ::c_long = 161; pub const SYS_sync: ::c_long = 162; pub const SYS_acct: ::c_long = 163; pub const SYS_settimeofday: ::c_long = 164; pub const SYS_mount: ::c_long = 165; pub const SYS_umount2: ::c_long = 166; pub const SYS_swapon: ::c_long = 167; pub const SYS_swapoff: ::c_long = 168; pub const SYS_reboot: ::c_long = 169; pub const SYS_sethostname: ::c_long = 170; pub const SYS_setdomainname: ::c_long = 171; pub const SYS_iopl: ::c_long = 172; pub const SYS_ioperm: ::c_long = 173; pub const SYS_create_module: ::c_long = 174; pub const SYS_init_module: ::c_long = 175; pub const SYS_delete_module: ::c_long = 176; pub const SYS_get_kernel_syms: ::c_long = 177; pub const SYS_query_module: ::c_long = 178; pub const SYS_quotactl: ::c_long = 179; pub const SYS_nfsservctl: ::c_long = 180; pub const SYS_getpmsg: ::c_long = 181; pub const SYS_putpmsg: ::c_long = 182; pub const SYS_afs_syscall: ::c_long = 183; pub const SYS_tuxcall: ::c_long = 184; pub const SYS_security: ::c_long = 185; pub const SYS_gettid: ::c_long = 186; pub const SYS_readahead: ::c_long = 187; pub const SYS_setxattr: ::c_long = 188; pub const SYS_lsetxattr: ::c_long = 189; pub const SYS_fsetxattr: ::c_long = 190; pub const SYS_getxattr: ::c_long = 191; pub const SYS_lgetxattr: ::c_long = 192; pub const SYS_fgetxattr: ::c_long = 193; pub const SYS_listxattr: ::c_long = 194; pub const SYS_llistxattr: ::c_long = 195; pub const SYS_flistxattr: ::c_long = 196; pub const SYS_removexattr: ::c_long = 197; pub const SYS_lremovexattr: ::c_long = 198; pub const SYS_fremovexattr: ::c_long = 199; pub const SYS_tkill: ::c_long = 200; pub const SYS_time: ::c_long = 201; pub const SYS_futex: ::c_long = 202; pub const SYS_sched_setaffinity: ::c_long = 203; pub const SYS_sched_getaffinity: ::c_long = 204; pub const SYS_set_thread_area: ::c_long = 205; pub const SYS_io_setup: ::c_long = 206; pub const SYS_io_destroy: ::c_long = 207; pub const SYS_io_getevents: ::c_long = 208; pub const SYS_io_submit: ::c_long = 209; pub const SYS_io_cancel: ::c_long = 210; pub const SYS_get_thread_area: ::c_long = 211; pub const SYS_lookup_dcookie: ::c_long = 212; pub const SYS_epoll_create: ::c_long = 213; pub const SYS_epoll_ctl_old: ::c_long = 214; pub const SYS_epoll_wait_old: ::c_long = 215; pub const SYS_remap_file_pages: ::c_long = 216; pub const SYS_getdents64: ::c_long = 217; pub const SYS_set_tid_address: ::c_long = 218; pub const SYS_restart_syscall: ::c_long = 219; pub const SYS_semtimedop: ::c_long = 220; pub const SYS_fadvise64: ::c_long = 221; pub const SYS_timer_create: ::c_long = 222; pub const SYS_timer_settime: ::c_long = 223; pub const SYS_timer_gettime: ::c_long = 224; pub const SYS_timer_getoverrun: ::c_long = 225; pub const SYS_timer_delete: ::c_long = 226; pub const SYS_clock_settime: ::c_long = 227; pub const SYS_clock_gettime: ::c_long = 228; pub const SYS_clock_getres: ::c_long = 229; pub const SYS_clock_nanosleep: ::c_long = 230; pub const SYS_exit_group: ::c_long = 231; pub const SYS_epoll_wait: ::c_long = 232; pub const SYS_epoll_ctl: ::c_long = 233; pub const SYS_tgkill: ::c_long = 234; pub const SYS_utimes: ::c_long = 235; pub const SYS_vserver: ::c_long = 236; pub const SYS_mbind: ::c_long = 237; pub const SYS_set_mempolicy: ::c_long = 238; pub const SYS_get_mempolicy: ::c_long = 239; pub const SYS_mq_open: ::c_long = 240; pub const SYS_mq_unlink: ::c_long = 241; pub const SYS_mq_timedsend: ::c_long = 242; pub const SYS_mq_timedreceive: ::c_long = 243; pub const SYS_mq_notify: ::c_long = 244; pub const SYS_mq_getsetattr: ::c_long = 245; pub const SYS_kexec_load: ::c_long = 246; pub const SYS_waitid: ::c_long = 247; pub const SYS_add_key: ::c_long = 248; pub const SYS_request_key: ::c_long = 249; pub const SYS_keyctl: ::c_long = 250; pub const SYS_ioprio_set: ::c_long = 251; pub const SYS_ioprio_get: ::c_long = 252; pub const SYS_inotify_init: ::c_long = 253; pub const SYS_inotify_add_watch: ::c_long = 254; pub const SYS_inotify_rm_watch: ::c_long = 255; pub const SYS_migrate_pages: ::c_long = 256; pub const SYS_openat: ::c_long = 257; pub const SYS_mkdirat: ::c_long = 258; pub const SYS_mknodat: ::c_long = 259; pub const SYS_fchownat: ::c_long = 260; pub const SYS_futimesat: ::c_long = 261; pub const SYS_newfstatat: ::c_long = 262; pub const SYS_unlinkat: ::c_long = 263; pub const SYS_renameat: ::c_long = 264; pub const SYS_linkat: ::c_long = 265; pub const SYS_symlinkat: ::c_long = 266; pub const SYS_readlinkat: ::c_long = 267; pub const SYS_fchmodat: ::c_long = 268; pub const SYS_faccessat: ::c_long = 269; pub const SYS_pselect6: ::c_long = 270; pub const SYS_ppoll: ::c_long = 271; pub const SYS_unshare: ::c_long = 272; pub const SYS_set_robust_list: ::c_long = 273; pub const SYS_get_robust_list: ::c_long = 274; pub const SYS_splice: ::c_long = 275; pub const SYS_tee: ::c_long = 276; pub const SYS_sync_file_range: ::c_long = 277; pub const SYS_vmsplice: ::c_long = 278; pub const SYS_move_pages: ::c_long = 279; pub const SYS_utimensat: ::c_long = 280; pub const SYS_epoll_pwait: ::c_long = 281; pub const SYS_signalfd: ::c_long = 282; pub const SYS_timerfd_create: ::c_long = 283; pub const SYS_eventfd: ::c_long = 284; pub const SYS_fallocate: ::c_long = 285; pub const SYS_timerfd_settime: ::c_long = 286; pub const SYS_timerfd_gettime: ::c_long = 287; pub const SYS_accept4: ::c_long = 288; pub const SYS_signalfd4: ::c_long = 289; pub const SYS_eventfd2: ::c_long = 290; pub const SYS_epoll_create1: ::c_long = 291; pub const SYS_dup3: ::c_long = 292; pub const SYS_pipe2: ::c_long = 293; pub const SYS_inotify_init1: ::c_long = 294; pub const SYS_preadv: ::c_long = 295; pub const SYS_pwritev: ::c_long = 296; pub const SYS_rt_tgsigqueueinfo: ::c_long = 297; pub const SYS_perf_event_open: ::c_long = 298; pub const SYS_recvmmsg: ::c_long = 299; pub const SYS_fanotify_init: ::c_long = 300; pub const SYS_fanotify_mark: ::c_long = 301; pub const SYS_prlimit64: ::c_long = 302; pub const SYS_name_to_handle_at: ::c_long = 303; pub const SYS_open_by_handle_at: ::c_long = 304; pub const SYS_clock_adjtime: ::c_long = 305; pub const SYS_syncfs: ::c_long = 306; pub const SYS_sendmmsg: ::c_long = 307; pub const SYS_setns: ::c_long = 308; pub const SYS_getcpu: ::c_long = 309; pub const SYS_process_vm_readv: ::c_long = 310; pub const SYS_process_vm_writev: ::c_long = 311; pub const SYS_kcmp: ::c_long = 312; pub const SYS_finit_module: ::c_long = 313; pub const SYS_sched_setattr: ::c_long = 314; pub const SYS_sched_getattr: ::c_long = 315; pub const SYS_renameat2: ::c_long = 316; pub const SYS_seccomp: ::c_long = 317; pub const SYS_getrandom: ::c_long = 318; pub const SYS_memfd_create: ::c_long = 319; pub const SYS_kexec_file_load: ::c_long = 320; pub const SYS_bpf: ::c_long = 321; pub const SYS_execveat: ::c_long = 322; pub const SYS_userfaultfd: ::c_long = 323; pub const SYS_membarrier: ::c_long = 324; pub const SYS_mlock2: ::c_long = 325; pub const SYS_copy_file_range: ::c_long = 326; pub const SYS_preadv2: ::c_long = 327; pub const SYS_pwritev2: ::c_long = 328; pub const SYS_pkey_mprotect: ::c_long = 329; pub const SYS_pkey_alloc: ::c_long = 330; pub const SYS_pkey_free: ::c_long = 331; pub const SYS_statx: ::c_long = 332; #[link(name = "util")] extern "C" { pub fn sysctl( name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; } libc-0.2.66/src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs010064400007650000024000000507341353453276600211440ustar0000000000000000use pthread_mutex_t; pub type c_long = i32; pub type c_ulong = u32; s! { 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, __f_spare: [::c_int; 6], } } pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 32; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 44; align_const! { pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t = pthread_mutex_t { size: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], }; } // Syscall table pub const __X32_SYSCALL_BIT: ::c_long = 0x40000000; pub const SYS_read: ::c_long = __X32_SYSCALL_BIT + 0; pub const SYS_write: ::c_long = __X32_SYSCALL_BIT + 1; pub const SYS_open: ::c_long = __X32_SYSCALL_BIT + 2; pub const SYS_close: ::c_long = __X32_SYSCALL_BIT + 3; pub const SYS_stat: ::c_long = __X32_SYSCALL_BIT + 4; pub const SYS_fstat: ::c_long = __X32_SYSCALL_BIT + 5; pub const SYS_lstat: ::c_long = __X32_SYSCALL_BIT + 6; pub const SYS_poll: ::c_long = __X32_SYSCALL_BIT + 7; pub const SYS_lseek: ::c_long = __X32_SYSCALL_BIT + 8; pub const SYS_mmap: ::c_long = __X32_SYSCALL_BIT + 9; pub const SYS_mprotect: ::c_long = __X32_SYSCALL_BIT + 10; pub const SYS_munmap: ::c_long = __X32_SYSCALL_BIT + 11; pub const SYS_brk: ::c_long = __X32_SYSCALL_BIT + 12; pub const SYS_rt_sigprocmask: ::c_long = __X32_SYSCALL_BIT + 14; pub const SYS_pread64: ::c_long = __X32_SYSCALL_BIT + 17; pub const SYS_pwrite64: ::c_long = __X32_SYSCALL_BIT + 18; pub const SYS_access: ::c_long = __X32_SYSCALL_BIT + 21; pub const SYS_pipe: ::c_long = __X32_SYSCALL_BIT + 22; pub const SYS_select: ::c_long = __X32_SYSCALL_BIT + 23; pub const SYS_sched_yield: ::c_long = __X32_SYSCALL_BIT + 24; pub const SYS_mremap: ::c_long = __X32_SYSCALL_BIT + 25; pub const SYS_msync: ::c_long = __X32_SYSCALL_BIT + 26; pub const SYS_mincore: ::c_long = __X32_SYSCALL_BIT + 27; pub const SYS_madvise: ::c_long = __X32_SYSCALL_BIT + 28; pub const SYS_shmget: ::c_long = __X32_SYSCALL_BIT + 29; pub const SYS_shmat: ::c_long = __X32_SYSCALL_BIT + 30; pub const SYS_shmctl: ::c_long = __X32_SYSCALL_BIT + 31; pub const SYS_dup: ::c_long = __X32_SYSCALL_BIT + 32; pub const SYS_dup2: ::c_long = __X32_SYSCALL_BIT + 33; pub const SYS_pause: ::c_long = __X32_SYSCALL_BIT + 34; pub const SYS_nanosleep: ::c_long = __X32_SYSCALL_BIT + 35; pub const SYS_getitimer: ::c_long = __X32_SYSCALL_BIT + 36; pub const SYS_alarm: ::c_long = __X32_SYSCALL_BIT + 37; pub const SYS_setitimer: ::c_long = __X32_SYSCALL_BIT + 38; pub const SYS_getpid: ::c_long = __X32_SYSCALL_BIT + 39; pub const SYS_sendfile: ::c_long = __X32_SYSCALL_BIT + 40; pub const SYS_socket: ::c_long = __X32_SYSCALL_BIT + 41; pub const SYS_connect: ::c_long = __X32_SYSCALL_BIT + 42; pub const SYS_accept: ::c_long = __X32_SYSCALL_BIT + 43; pub const SYS_sendto: ::c_long = __X32_SYSCALL_BIT + 44; pub const SYS_shutdown: ::c_long = __X32_SYSCALL_BIT + 48; pub const SYS_bind: ::c_long = __X32_SYSCALL_BIT + 49; pub const SYS_listen: ::c_long = __X32_SYSCALL_BIT + 50; pub const SYS_getsockname: ::c_long = __X32_SYSCALL_BIT + 51; pub const SYS_getpeername: ::c_long = __X32_SYSCALL_BIT + 52; pub const SYS_socketpair: ::c_long = __X32_SYSCALL_BIT + 53; pub const SYS_clone: ::c_long = __X32_SYSCALL_BIT + 56; pub const SYS_fork: ::c_long = __X32_SYSCALL_BIT + 57; pub const SYS_vfork: ::c_long = __X32_SYSCALL_BIT + 58; pub const SYS_exit: ::c_long = __X32_SYSCALL_BIT + 60; pub const SYS_wait4: ::c_long = __X32_SYSCALL_BIT + 61; pub const SYS_kill: ::c_long = __X32_SYSCALL_BIT + 62; pub const SYS_uname: ::c_long = __X32_SYSCALL_BIT + 63; pub const SYS_semget: ::c_long = __X32_SYSCALL_BIT + 64; pub const SYS_semop: ::c_long = __X32_SYSCALL_BIT + 65; pub const SYS_semctl: ::c_long = __X32_SYSCALL_BIT + 66; pub const SYS_shmdt: ::c_long = __X32_SYSCALL_BIT + 67; pub const SYS_msgget: ::c_long = __X32_SYSCALL_BIT + 68; pub const SYS_msgsnd: ::c_long = __X32_SYSCALL_BIT + 69; pub const SYS_msgrcv: ::c_long = __X32_SYSCALL_BIT + 70; pub const SYS_msgctl: ::c_long = __X32_SYSCALL_BIT + 71; pub const SYS_fcntl: ::c_long = __X32_SYSCALL_BIT + 72; pub const SYS_flock: ::c_long = __X32_SYSCALL_BIT + 73; pub const SYS_fsync: ::c_long = __X32_SYSCALL_BIT + 74; pub const SYS_fdatasync: ::c_long = __X32_SYSCALL_BIT + 75; pub const SYS_truncate: ::c_long = __X32_SYSCALL_BIT + 76; pub const SYS_ftruncate: ::c_long = __X32_SYSCALL_BIT + 77; pub const SYS_getdents: ::c_long = __X32_SYSCALL_BIT + 78; pub const SYS_getcwd: ::c_long = __X32_SYSCALL_BIT + 79; pub const SYS_chdir: ::c_long = __X32_SYSCALL_BIT + 80; pub const SYS_fchdir: ::c_long = __X32_SYSCALL_BIT + 81; pub const SYS_rename: ::c_long = __X32_SYSCALL_BIT + 82; pub const SYS_mkdir: ::c_long = __X32_SYSCALL_BIT + 83; pub const SYS_rmdir: ::c_long = __X32_SYSCALL_BIT + 84; pub const SYS_creat: ::c_long = __X32_SYSCALL_BIT + 85; pub const SYS_link: ::c_long = __X32_SYSCALL_BIT + 86; pub const SYS_unlink: ::c_long = __X32_SYSCALL_BIT + 87; pub const SYS_symlink: ::c_long = __X32_SYSCALL_BIT + 88; pub const SYS_readlink: ::c_long = __X32_SYSCALL_BIT + 89; pub const SYS_chmod: ::c_long = __X32_SYSCALL_BIT + 90; pub const SYS_fchmod: ::c_long = __X32_SYSCALL_BIT + 91; pub const SYS_chown: ::c_long = __X32_SYSCALL_BIT + 92; pub const SYS_fchown: ::c_long = __X32_SYSCALL_BIT + 93; pub const SYS_lchown: ::c_long = __X32_SYSCALL_BIT + 94; pub const SYS_umask: ::c_long = __X32_SYSCALL_BIT + 95; pub const SYS_gettimeofday: ::c_long = __X32_SYSCALL_BIT + 96; pub const SYS_getrlimit: ::c_long = __X32_SYSCALL_BIT + 97; pub const SYS_getrusage: ::c_long = __X32_SYSCALL_BIT + 98; pub const SYS_sysinfo: ::c_long = __X32_SYSCALL_BIT + 99; pub const SYS_times: ::c_long = __X32_SYSCALL_BIT + 100; pub const SYS_getuid: ::c_long = __X32_SYSCALL_BIT + 102; pub const SYS_syslog: ::c_long = __X32_SYSCALL_BIT + 103; pub const SYS_getgid: ::c_long = __X32_SYSCALL_BIT + 104; pub const SYS_setuid: ::c_long = __X32_SYSCALL_BIT + 105; pub const SYS_setgid: ::c_long = __X32_SYSCALL_BIT + 106; pub const SYS_geteuid: ::c_long = __X32_SYSCALL_BIT + 107; pub const SYS_getegid: ::c_long = __X32_SYSCALL_BIT + 108; pub const SYS_setpgid: ::c_long = __X32_SYSCALL_BIT + 109; pub const SYS_getppid: ::c_long = __X32_SYSCALL_BIT + 110; pub const SYS_getpgrp: ::c_long = __X32_SYSCALL_BIT + 111; pub const SYS_setsid: ::c_long = __X32_SYSCALL_BIT + 112; pub const SYS_setreuid: ::c_long = __X32_SYSCALL_BIT + 113; pub const SYS_setregid: ::c_long = __X32_SYSCALL_BIT + 114; pub const SYS_getgroups: ::c_long = __X32_SYSCALL_BIT + 115; pub const SYS_setgroups: ::c_long = __X32_SYSCALL_BIT + 116; pub const SYS_setresuid: ::c_long = __X32_SYSCALL_BIT + 117; pub const SYS_getresuid: ::c_long = __X32_SYSCALL_BIT + 118; pub const SYS_setresgid: ::c_long = __X32_SYSCALL_BIT + 119; pub const SYS_getresgid: ::c_long = __X32_SYSCALL_BIT + 120; pub const SYS_getpgid: ::c_long = __X32_SYSCALL_BIT + 121; pub const SYS_setfsuid: ::c_long = __X32_SYSCALL_BIT + 122; pub const SYS_setfsgid: ::c_long = __X32_SYSCALL_BIT + 123; pub const SYS_getsid: ::c_long = __X32_SYSCALL_BIT + 124; pub const SYS_capget: ::c_long = __X32_SYSCALL_BIT + 125; pub const SYS_capset: ::c_long = __X32_SYSCALL_BIT + 126; pub const SYS_rt_sigsuspend: ::c_long = __X32_SYSCALL_BIT + 130; pub const SYS_utime: ::c_long = __X32_SYSCALL_BIT + 132; pub const SYS_mknod: ::c_long = __X32_SYSCALL_BIT + 133; pub const SYS_personality: ::c_long = __X32_SYSCALL_BIT + 135; pub const SYS_ustat: ::c_long = __X32_SYSCALL_BIT + 136; pub const SYS_statfs: ::c_long = __X32_SYSCALL_BIT + 137; pub const SYS_fstatfs: ::c_long = __X32_SYSCALL_BIT + 138; pub const SYS_sysfs: ::c_long = __X32_SYSCALL_BIT + 139; pub const SYS_getpriority: ::c_long = __X32_SYSCALL_BIT + 140; pub const SYS_setpriority: ::c_long = __X32_SYSCALL_BIT + 141; pub const SYS_sched_setparam: ::c_long = __X32_SYSCALL_BIT + 142; pub const SYS_sched_getparam: ::c_long = __X32_SYSCALL_BIT + 143; pub const SYS_sched_setscheduler: ::c_long = __X32_SYSCALL_BIT + 144; pub const SYS_sched_getscheduler: ::c_long = __X32_SYSCALL_BIT + 145; pub const SYS_sched_get_priority_max: ::c_long = __X32_SYSCALL_BIT + 146; pub const SYS_sched_get_priority_min: ::c_long = __X32_SYSCALL_BIT + 147; pub const SYS_sched_rr_get_interval: ::c_long = __X32_SYSCALL_BIT + 148; pub const SYS_mlock: ::c_long = __X32_SYSCALL_BIT + 149; pub const SYS_munlock: ::c_long = __X32_SYSCALL_BIT + 150; pub const SYS_mlockall: ::c_long = __X32_SYSCALL_BIT + 151; pub const SYS_munlockall: ::c_long = __X32_SYSCALL_BIT + 152; pub const SYS_vhangup: ::c_long = __X32_SYSCALL_BIT + 153; pub const SYS_modify_ldt: ::c_long = __X32_SYSCALL_BIT + 154; pub const SYS_pivot_root: ::c_long = __X32_SYSCALL_BIT + 155; pub const SYS_prctl: ::c_long = __X32_SYSCALL_BIT + 157; pub const SYS_arch_prctl: ::c_long = __X32_SYSCALL_BIT + 158; pub const SYS_adjtimex: ::c_long = __X32_SYSCALL_BIT + 159; pub const SYS_setrlimit: ::c_long = __X32_SYSCALL_BIT + 160; pub const SYS_chroot: ::c_long = __X32_SYSCALL_BIT + 161; pub const SYS_sync: ::c_long = __X32_SYSCALL_BIT + 162; pub const SYS_acct: ::c_long = __X32_SYSCALL_BIT + 163; pub const SYS_settimeofday: ::c_long = __X32_SYSCALL_BIT + 164; pub const SYS_mount: ::c_long = __X32_SYSCALL_BIT + 165; pub const SYS_umount2: ::c_long = __X32_SYSCALL_BIT + 166; pub const SYS_swapon: ::c_long = __X32_SYSCALL_BIT + 167; pub const SYS_swapoff: ::c_long = __X32_SYSCALL_BIT + 168; pub const SYS_reboot: ::c_long = __X32_SYSCALL_BIT + 169; pub const SYS_sethostname: ::c_long = __X32_SYSCALL_BIT + 170; pub const SYS_setdomainname: ::c_long = __X32_SYSCALL_BIT + 171; pub const SYS_iopl: ::c_long = __X32_SYSCALL_BIT + 172; pub const SYS_ioperm: ::c_long = __X32_SYSCALL_BIT + 173; pub const SYS_init_module: ::c_long = __X32_SYSCALL_BIT + 175; pub const SYS_delete_module: ::c_long = __X32_SYSCALL_BIT + 176; pub const SYS_quotactl: ::c_long = __X32_SYSCALL_BIT + 179; pub const SYS_getpmsg: ::c_long = __X32_SYSCALL_BIT + 181; pub const SYS_putpmsg: ::c_long = __X32_SYSCALL_BIT + 182; pub const SYS_afs_syscall: ::c_long = __X32_SYSCALL_BIT + 183; pub const SYS_tuxcall: ::c_long = __X32_SYSCALL_BIT + 184; pub const SYS_security: ::c_long = __X32_SYSCALL_BIT + 185; pub const SYS_gettid: ::c_long = __X32_SYSCALL_BIT + 186; pub const SYS_readahead: ::c_long = __X32_SYSCALL_BIT + 187; pub const SYS_setxattr: ::c_long = __X32_SYSCALL_BIT + 188; pub const SYS_lsetxattr: ::c_long = __X32_SYSCALL_BIT + 189; pub const SYS_fsetxattr: ::c_long = __X32_SYSCALL_BIT + 190; pub const SYS_getxattr: ::c_long = __X32_SYSCALL_BIT + 191; pub const SYS_lgetxattr: ::c_long = __X32_SYSCALL_BIT + 192; pub const SYS_fgetxattr: ::c_long = __X32_SYSCALL_BIT + 193; pub const SYS_listxattr: ::c_long = __X32_SYSCALL_BIT + 194; pub const SYS_llistxattr: ::c_long = __X32_SYSCALL_BIT + 195; pub const SYS_flistxattr: ::c_long = __X32_SYSCALL_BIT + 196; pub const SYS_removexattr: ::c_long = __X32_SYSCALL_BIT + 197; pub const SYS_lremovexattr: ::c_long = __X32_SYSCALL_BIT + 198; pub const SYS_fremovexattr: ::c_long = __X32_SYSCALL_BIT + 199; pub const SYS_tkill: ::c_long = __X32_SYSCALL_BIT + 200; pub const SYS_time: ::c_long = __X32_SYSCALL_BIT + 201; pub const SYS_futex: ::c_long = __X32_SYSCALL_BIT + 202; pub const SYS_sched_setaffinity: ::c_long = __X32_SYSCALL_BIT + 203; pub const SYS_sched_getaffinity: ::c_long = __X32_SYSCALL_BIT + 204; pub const SYS_io_destroy: ::c_long = __X32_SYSCALL_BIT + 207; pub const SYS_io_getevents: ::c_long = __X32_SYSCALL_BIT + 208; pub const SYS_io_cancel: ::c_long = __X32_SYSCALL_BIT + 210; pub const SYS_lookup_dcookie: ::c_long = __X32_SYSCALL_BIT + 212; pub const SYS_epoll_create: ::c_long = __X32_SYSCALL_BIT + 213; pub const SYS_remap_file_pages: ::c_long = __X32_SYSCALL_BIT + 216; pub const SYS_getdents64: ::c_long = __X32_SYSCALL_BIT + 217; pub const SYS_set_tid_address: ::c_long = __X32_SYSCALL_BIT + 218; pub const SYS_restart_syscall: ::c_long = __X32_SYSCALL_BIT + 219; pub const SYS_semtimedop: ::c_long = __X32_SYSCALL_BIT + 220; pub const SYS_fadvise64: ::c_long = __X32_SYSCALL_BIT + 221; pub const SYS_timer_settime: ::c_long = __X32_SYSCALL_BIT + 223; pub const SYS_timer_gettime: ::c_long = __X32_SYSCALL_BIT + 224; pub const SYS_timer_getoverrun: ::c_long = __X32_SYSCALL_BIT + 225; pub const SYS_timer_delete: ::c_long = __X32_SYSCALL_BIT + 226; pub const SYS_clock_settime: ::c_long = __X32_SYSCALL_BIT + 227; pub const SYS_clock_gettime: ::c_long = __X32_SYSCALL_BIT + 228; pub const SYS_clock_getres: ::c_long = __X32_SYSCALL_BIT + 229; pub const SYS_clock_nanosleep: ::c_long = __X32_SYSCALL_BIT + 230; pub const SYS_exit_group: ::c_long = __X32_SYSCALL_BIT + 231; pub const SYS_epoll_wait: ::c_long = __X32_SYSCALL_BIT + 232; pub const SYS_epoll_ctl: ::c_long = __X32_SYSCALL_BIT + 233; pub const SYS_tgkill: ::c_long = __X32_SYSCALL_BIT + 234; pub const SYS_utimes: ::c_long = __X32_SYSCALL_BIT + 235; pub const SYS_mbind: ::c_long = __X32_SYSCALL_BIT + 237; pub const SYS_set_mempolicy: ::c_long = __X32_SYSCALL_BIT + 238; pub const SYS_get_mempolicy: ::c_long = __X32_SYSCALL_BIT + 239; pub const SYS_mq_open: ::c_long = __X32_SYSCALL_BIT + 240; pub const SYS_mq_unlink: ::c_long = __X32_SYSCALL_BIT + 241; pub const SYS_mq_timedsend: ::c_long = __X32_SYSCALL_BIT + 242; pub const SYS_mq_timedreceive: ::c_long = __X32_SYSCALL_BIT + 243; pub const SYS_mq_getsetattr: ::c_long = __X32_SYSCALL_BIT + 245; pub const SYS_add_key: ::c_long = __X32_SYSCALL_BIT + 248; pub const SYS_request_key: ::c_long = __X32_SYSCALL_BIT + 249; pub const SYS_keyctl: ::c_long = __X32_SYSCALL_BIT + 250; pub const SYS_ioprio_set: ::c_long = __X32_SYSCALL_BIT + 251; pub const SYS_ioprio_get: ::c_long = __X32_SYSCALL_BIT + 252; pub const SYS_inotify_init: ::c_long = __X32_SYSCALL_BIT + 253; pub const SYS_inotify_add_watch: ::c_long = __X32_SYSCALL_BIT + 254; pub const SYS_inotify_rm_watch: ::c_long = __X32_SYSCALL_BIT + 255; pub const SYS_migrate_pages: ::c_long = __X32_SYSCALL_BIT + 256; pub const SYS_openat: ::c_long = __X32_SYSCALL_BIT + 257; pub const SYS_mkdirat: ::c_long = __X32_SYSCALL_BIT + 258; pub const SYS_mknodat: ::c_long = __X32_SYSCALL_BIT + 259; pub const SYS_fchownat: ::c_long = __X32_SYSCALL_BIT + 260; pub const SYS_futimesat: ::c_long = __X32_SYSCALL_BIT + 261; pub const SYS_newfstatat: ::c_long = __X32_SYSCALL_BIT + 262; pub const SYS_unlinkat: ::c_long = __X32_SYSCALL_BIT + 263; pub const SYS_renameat: ::c_long = __X32_SYSCALL_BIT + 264; pub const SYS_linkat: ::c_long = __X32_SYSCALL_BIT + 265; pub const SYS_symlinkat: ::c_long = __X32_SYSCALL_BIT + 266; pub const SYS_readlinkat: ::c_long = __X32_SYSCALL_BIT + 267; pub const SYS_fchmodat: ::c_long = __X32_SYSCALL_BIT + 268; pub const SYS_faccessat: ::c_long = __X32_SYSCALL_BIT + 269; pub const SYS_pselect6: ::c_long = __X32_SYSCALL_BIT + 270; pub const SYS_ppoll: ::c_long = __X32_SYSCALL_BIT + 271; pub const SYS_unshare: ::c_long = __X32_SYSCALL_BIT + 272; pub const SYS_splice: ::c_long = __X32_SYSCALL_BIT + 275; pub const SYS_tee: ::c_long = __X32_SYSCALL_BIT + 276; pub const SYS_sync_file_range: ::c_long = __X32_SYSCALL_BIT + 277; pub const SYS_utimensat: ::c_long = __X32_SYSCALL_BIT + 280; pub const SYS_epoll_pwait: ::c_long = __X32_SYSCALL_BIT + 281; pub const SYS_signalfd: ::c_long = __X32_SYSCALL_BIT + 282; pub const SYS_timerfd_create: ::c_long = __X32_SYSCALL_BIT + 283; pub const SYS_eventfd: ::c_long = __X32_SYSCALL_BIT + 284; pub const SYS_fallocate: ::c_long = __X32_SYSCALL_BIT + 285; pub const SYS_timerfd_settime: ::c_long = __X32_SYSCALL_BIT + 286; pub const SYS_timerfd_gettime: ::c_long = __X32_SYSCALL_BIT + 287; pub const SYS_accept4: ::c_long = __X32_SYSCALL_BIT + 288; pub const SYS_signalfd4: ::c_long = __X32_SYSCALL_BIT + 289; pub const SYS_eventfd2: ::c_long = __X32_SYSCALL_BIT + 290; pub const SYS_epoll_create1: ::c_long = __X32_SYSCALL_BIT + 291; pub const SYS_dup3: ::c_long = __X32_SYSCALL_BIT + 292; pub const SYS_pipe2: ::c_long = __X32_SYSCALL_BIT + 293; pub const SYS_inotify_init1: ::c_long = __X32_SYSCALL_BIT + 294; pub const SYS_perf_event_open: ::c_long = __X32_SYSCALL_BIT + 298; pub const SYS_fanotify_init: ::c_long = __X32_SYSCALL_BIT + 300; pub const SYS_fanotify_mark: ::c_long = __X32_SYSCALL_BIT + 301; pub const SYS_prlimit64: ::c_long = __X32_SYSCALL_BIT + 302; pub const SYS_name_to_handle_at: ::c_long = __X32_SYSCALL_BIT + 303; pub const SYS_open_by_handle_at: ::c_long = __X32_SYSCALL_BIT + 304; pub const SYS_clock_adjtime: ::c_long = __X32_SYSCALL_BIT + 305; pub const SYS_syncfs: ::c_long = __X32_SYSCALL_BIT + 306; pub const SYS_setns: ::c_long = __X32_SYSCALL_BIT + 308; pub const SYS_getcpu: ::c_long = __X32_SYSCALL_BIT + 309; pub const SYS_kcmp: ::c_long = __X32_SYSCALL_BIT + 312; pub const SYS_finit_module: ::c_long = __X32_SYSCALL_BIT + 313; pub const SYS_sched_setattr: ::c_long = __X32_SYSCALL_BIT + 314; pub const SYS_sched_getattr: ::c_long = __X32_SYSCALL_BIT + 315; pub const SYS_renameat2: ::c_long = __X32_SYSCALL_BIT + 316; pub const SYS_seccomp: ::c_long = __X32_SYSCALL_BIT + 317; pub const SYS_getrandom: ::c_long = __X32_SYSCALL_BIT + 318; pub const SYS_memfd_create: ::c_long = __X32_SYSCALL_BIT + 319; pub const SYS_kexec_file_load: ::c_long = __X32_SYSCALL_BIT + 320; pub const SYS_bpf: ::c_long = __X32_SYSCALL_BIT + 321; pub const SYS_userfaultfd: ::c_long = __X32_SYSCALL_BIT + 323; pub const SYS_membarrier: ::c_long = __X32_SYSCALL_BIT + 324; pub const SYS_mlock2: ::c_long = __X32_SYSCALL_BIT + 325; pub const SYS_copy_file_range: ::c_long = __X32_SYSCALL_BIT + 326; pub const SYS_pkey_mprotect: ::c_long = __X32_SYSCALL_BIT + 329; pub const SYS_pkey_alloc: ::c_long = __X32_SYSCALL_BIT + 330; pub const SYS_pkey_free: ::c_long = __X32_SYSCALL_BIT + 331; pub const SYS_statx: ::c_long = __X32_SYSCALL_BIT + 332; pub const SYS_rt_sigaction: ::c_long = __X32_SYSCALL_BIT + 512; pub const SYS_rt_sigreturn: ::c_long = __X32_SYSCALL_BIT + 513; pub const SYS_ioctl: ::c_long = __X32_SYSCALL_BIT + 514; pub const SYS_readv: ::c_long = __X32_SYSCALL_BIT + 515; pub const SYS_writev: ::c_long = __X32_SYSCALL_BIT + 516; pub const SYS_recvfrom: ::c_long = __X32_SYSCALL_BIT + 517; pub const SYS_sendmsg: ::c_long = __X32_SYSCALL_BIT + 518; pub const SYS_recvmsg: ::c_long = __X32_SYSCALL_BIT + 519; pub const SYS_execve: ::c_long = __X32_SYSCALL_BIT + 520; pub const SYS_ptrace: ::c_long = __X32_SYSCALL_BIT + 521; pub const SYS_rt_sigpending: ::c_long = __X32_SYSCALL_BIT + 522; pub const SYS_rt_sigtimedwait: ::c_long = __X32_SYSCALL_BIT + 523; pub const SYS_rt_sigqueueinfo: ::c_long = __X32_SYSCALL_BIT + 524; pub const SYS_sigaltstack: ::c_long = __X32_SYSCALL_BIT + 525; pub const SYS_timer_create: ::c_long = __X32_SYSCALL_BIT + 526; pub const SYS_mq_notify: ::c_long = __X32_SYSCALL_BIT + 527; pub const SYS_kexec_load: ::c_long = __X32_SYSCALL_BIT + 528; pub const SYS_waitid: ::c_long = __X32_SYSCALL_BIT + 529; pub const SYS_set_robust_list: ::c_long = __X32_SYSCALL_BIT + 530; pub const SYS_get_robust_list: ::c_long = __X32_SYSCALL_BIT + 531; pub const SYS_vmsplice: ::c_long = __X32_SYSCALL_BIT + 532; pub const SYS_move_pages: ::c_long = __X32_SYSCALL_BIT + 533; pub const SYS_preadv: ::c_long = __X32_SYSCALL_BIT + 534; pub const SYS_pwritev: ::c_long = __X32_SYSCALL_BIT + 535; pub const SYS_rt_tgsigqueueinfo: ::c_long = __X32_SYSCALL_BIT + 536; pub const SYS_recvmmsg: ::c_long = __X32_SYSCALL_BIT + 537; pub const SYS_sendmmsg: ::c_long = __X32_SYSCALL_BIT + 538; pub const SYS_process_vm_readv: ::c_long = __X32_SYSCALL_BIT + 539; pub const SYS_process_vm_writev: ::c_long = __X32_SYSCALL_BIT + 540; pub const SYS_setsockopt: ::c_long = __X32_SYSCALL_BIT + 541; pub const SYS_getsockopt: ::c_long = __X32_SYSCALL_BIT + 542; pub const SYS_io_setup: ::c_long = __X32_SYSCALL_BIT + 543; pub const SYS_io_submit: ::c_long = __X32_SYSCALL_BIT + 544; pub const SYS_execveat: ::c_long = __X32_SYSCALL_BIT + 545; pub const SYS_preadv2: ::c_long = __X32_SYSCALL_BIT + 546; pub const SYS_pwritev2: ::c_long = __X32_SYSCALL_BIT + 547; libc-0.2.66/src/unix/linux_like/linux/gnu/mod.rs010064400007650000024000001056601357020644200177420ustar0000000000000000pub type pthread_t = c_ulong; pub type __priority_which_t = ::c_uint; pub type __rlimit_resource_t = ::c_uint; s! { pub struct statx { pub stx_mask: u32, pub stx_blksize: u32, pub stx_attributes: u64, pub stx_nlink: u32, pub stx_uid: u32, pub stx_gid: u32, pub stx_mode: u16, pub __statx_pad1: [u16; 1], pub stx_ino: u64, pub stx_size: u64, pub stx_blocks: u64, pub stx_attributes_mask: u64, pub stx_atime: ::statx_timestamp, pub stx_btime: ::statx_timestamp, pub stx_ctime: ::statx_timestamp, pub stx_mtime: ::statx_timestamp, pub stx_rdev_major: u32, pub stx_rdev_minor: u32, pub stx_dev_major: u32, pub stx_dev_minor: u32, pub __statx_pad2: [u64; 14], } pub struct statx_timestamp { pub tv_sec: i64, pub tv_nsec: u32, pub __statx_timestamp_pad1: [i32; 1], } pub struct aiocb { pub aio_fildes: ::c_int, pub aio_lio_opcode: ::c_int, pub aio_reqprio: ::c_int, pub aio_buf: *mut ::c_void, pub aio_nbytes: ::size_t, pub aio_sigevent: ::sigevent, __next_prio: *mut aiocb, __abs_prio: ::c_int, __policy: ::c_int, __error_code: ::c_int, __return_value: ::ssize_t, pub aio_offset: off_t, #[cfg(all(not(target_arch = "x86_64"), target_pointer_width = "32"))] __unused1: [::c_char; 4], __glibc_reserved: [::c_char; 32] } pub struct __exit_status { pub e_termination: ::c_short, pub e_exit: ::c_short, } pub struct __timeval { pub tv_sec: i32, pub tv_usec: i32, } pub struct glob64_t { pub gl_pathc: ::size_t, pub gl_pathv: *mut *mut ::c_char, pub gl_offs: ::size_t, pub gl_flags: ::c_int, __unused1: *mut ::c_void, __unused2: *mut ::c_void, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::size_t, pub msg_control: *mut ::c_void, pub msg_controllen: ::size_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::size_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct termios { 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; ::NCCS], #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_arch = "mips", target_arch = "mips64")))] pub c_ispeed: ::speed_t, #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_arch = "mips", target_arch = "mips64")))] pub c_ospeed: ::speed_t, } pub struct mallinfo { pub arena: ::c_int, pub ordblks: ::c_int, pub smblks: ::c_int, pub hblks: ::c_int, pub hblkhd: ::c_int, pub usmblks: ::c_int, pub fsmblks: ::c_int, pub uordblks: ::c_int, pub fordblks: ::c_int, pub keepcost: ::c_int, } 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 { pub group: u32, } pub struct nl_mmap_req { pub nm_block_size: ::c_uint, pub nm_block_nr: ::c_uint, pub nm_frame_size: ::c_uint, pub nm_frame_nr: ::c_uint, } pub struct nl_mmap_hdr { pub nm_status: ::c_uint, pub nm_len: ::c_uint, pub nm_group: u32, pub nm_pid: u32, pub nm_uid: u32, 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, 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, } } impl siginfo_t { pub unsafe fn si_addr(&self) -> *mut ::c_void { #[repr(C)] struct siginfo_sigfault { _si_signo: ::c_int, _si_errno: ::c_int, _si_code: ::c_int, si_addr: *mut ::c_void, } (*(self as *const siginfo_t as *const siginfo_sigfault)).si_addr } pub unsafe fn si_value(&self) -> ::sigval { #[repr(C)] struct siginfo_timer { _si_signo: ::c_int, _si_errno: ::c_int, _si_code: ::c_int, _si_tid: ::c_int, _si_overrun: ::c_int, si_sigval: ::sigval, } (*(self as *const siginfo_t as *const siginfo_timer)).si_sigval } } s_no_extra_traits! { pub struct utmpx { pub ut_type: ::c_short, pub ut_pid: ::pid_t, pub ut_line: [::c_char; __UT_LINESIZE], pub ut_id: [::c_char; 4], pub ut_user: [::c_char; __UT_NAMESIZE], pub ut_host: [::c_char; __UT_HOSTSIZE], pub ut_exit: __exit_status, #[cfg(any(target_arch = "aarch64", target_arch = "s390x", all(target_pointer_width = "32", not(target_arch = "x86_64"))))] pub ut_session: ::c_long, #[cfg(any(target_arch = "aarch64", target_arch = "s390x", all(target_pointer_width = "32", not(target_arch = "x86_64"))))] pub ut_tv: ::timeval, #[cfg(not(any(target_arch = "aarch64", target_arch = "s390x", all(target_pointer_width = "32", not(target_arch = "x86_64")))))] pub ut_session: i32, #[cfg(not(any(target_arch = "aarch64", target_arch = "s390x", all(target_pointer_width = "32", not(target_arch = "x86_64")))))] pub ut_tv: __timeval, pub ut_addr_v6: [i32; 4], __glibc_reserved: [::c_char; 20], } } 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_pid == other.ut_pid && self.ut_line == other.ut_line && self.ut_id == other.ut_id && self.ut_user == other.ut_user && self .ut_host .iter() .zip(other.ut_host.iter()) .all(|(a,b)| a == b) && self.ut_exit == other.ut_exit && self.ut_session == other.ut_session && self.ut_tv == other.ut_tv && self.ut_addr_v6 == other.ut_addr_v6 && self.__glibc_reserved == other.__glibc_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_pid", &self.ut_pid) .field("ut_line", &self.ut_line) .field("ut_id", &self.ut_id) .field("ut_user", &self.ut_user) // FIXME: .field("ut_host", &self.ut_host) .field("ut_exit", &self.ut_exit) .field("ut_session", &self.ut_session) .field("ut_tv", &self.ut_tv) .field("ut_addr_v6", &self.ut_addr_v6) .field("__glibc_reserved", &self.__glibc_reserved) .finish() } } impl ::hash::Hash for utmpx { fn hash(&self, state: &mut H) { self.ut_type.hash(state); self.ut_pid.hash(state); self.ut_line.hash(state); self.ut_id.hash(state); self.ut_user.hash(state); self.ut_host.hash(state); self.ut_exit.hash(state); self.ut_session.hash(state); self.ut_tv.hash(state); self.ut_addr_v6.hash(state); self.__glibc_reserved.hash(state); } } } } pub const RLIMIT_CPU: ::__rlimit_resource_t = 0; pub const RLIMIT_FSIZE: ::__rlimit_resource_t = 1; pub const RLIMIT_DATA: ::__rlimit_resource_t = 2; pub const RLIMIT_STACK: ::__rlimit_resource_t = 3; pub const RLIMIT_CORE: ::__rlimit_resource_t = 4; pub const RLIMIT_LOCKS: ::__rlimit_resource_t = 10; pub const RLIMIT_SIGPENDING: ::__rlimit_resource_t = 11; pub const RLIMIT_MSGQUEUE: ::__rlimit_resource_t = 12; 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 MS_RMT_MASK: ::c_ulong = 0x02800051; pub const __UT_LINESIZE: usize = 32; pub const __UT_NAMESIZE: usize = 32; pub const __UT_HOSTSIZE: usize = 256; pub const EMPTY: ::c_short = 0; pub const RUN_LVL: ::c_short = 1; pub const BOOT_TIME: ::c_short = 2; pub const NEW_TIME: ::c_short = 3; pub const OLD_TIME: ::c_short = 4; pub const INIT_PROCESS: ::c_short = 5; pub const LOGIN_PROCESS: ::c_short = 6; pub const USER_PROCESS: ::c_short = 7; pub const DEAD_PROCESS: ::c_short = 8; pub const ACCOUNTING: ::c_short = 9; pub const SOCK_NONBLOCK: ::c_int = O_NONBLOCK; pub const SOL_RXRPC: ::c_int = 272; pub const SOL_PPPOL2TP: ::c_int = 273; pub const SOL_PNPIPE: ::c_int = 275; pub const SOL_RDS: ::c_int = 276; pub const SOL_IUCV: ::c_int = 277; pub const SOL_CAIF: ::c_int = 278; pub const SOL_NFC: ::c_int = 280; pub const SOL_XDP: ::c_int = 283; pub const MSG_TRYHARD: ::c_int = 4; pub const LC_PAPER: ::c_int = 7; pub const LC_NAME: ::c_int = 8; pub const LC_ADDRESS: ::c_int = 9; pub const LC_TELEPHONE: ::c_int = 10; pub const LC_MEASUREMENT: ::c_int = 11; pub const LC_IDENTIFICATION: ::c_int = 12; pub const LC_PAPER_MASK: ::c_int = (1 << LC_PAPER); pub const LC_NAME_MASK: ::c_int = (1 << LC_NAME); pub const LC_ADDRESS_MASK: ::c_int = (1 << LC_ADDRESS); pub const LC_TELEPHONE_MASK: ::c_int = (1 << LC_TELEPHONE); pub const LC_MEASUREMENT_MASK: ::c_int = (1 << LC_MEASUREMENT); pub const LC_IDENTIFICATION_MASK: ::c_int = (1 << LC_IDENTIFICATION); pub const LC_ALL_MASK: ::c_int = ::LC_CTYPE_MASK | ::LC_NUMERIC_MASK | ::LC_TIME_MASK | ::LC_COLLATE_MASK | ::LC_MONETARY_MASK | ::LC_MESSAGES_MASK | LC_PAPER_MASK | LC_NAME_MASK | LC_ADDRESS_MASK | LC_TELEPHONE_MASK | LC_MEASUREMENT_MASK | LC_IDENTIFICATION_MASK; pub const MAP_SHARED_VALIDATE: ::c_int = 0x3; pub const MAP_FIXED_NOREPLACE: ::c_int = 0x100000; pub const ENOTSUP: ::c_int = EOPNOTSUPP; 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; /* DCCP socket options */ pub const DCCP_SOCKOPT_PACKET_SIZE: ::c_int = 1; pub const DCCP_SOCKOPT_SERVICE: ::c_int = 2; pub const DCCP_SOCKOPT_CHANGE_L: ::c_int = 3; pub const DCCP_SOCKOPT_CHANGE_R: ::c_int = 4; pub const DCCP_SOCKOPT_GET_CUR_MPS: ::c_int = 5; pub const DCCP_SOCKOPT_SERVER_TIMEWAIT: ::c_int = 6; pub const DCCP_SOCKOPT_SEND_CSCOV: ::c_int = 10; pub const DCCP_SOCKOPT_RECV_CSCOV: ::c_int = 11; pub const DCCP_SOCKOPT_AVAILABLE_CCIDS: ::c_int = 12; pub const DCCP_SOCKOPT_CCID: ::c_int = 13; pub const DCCP_SOCKOPT_TX_CCID: ::c_int = 14; pub const DCCP_SOCKOPT_RX_CCID: ::c_int = 15; pub const DCCP_SOCKOPT_QPOLICY_ID: ::c_int = 16; pub const DCCP_SOCKOPT_QPOLICY_TXQLEN: ::c_int = 17; pub const DCCP_SOCKOPT_CCID_RX_INFO: ::c_int = 128; pub const DCCP_SOCKOPT_CCID_TX_INFO: ::c_int = 192; /// maximum number of services provided on the same listening port pub const DCCP_SERVICE_LIST_MAX_LEN: ::c_int = 32; pub const SIGEV_THREAD_ID: ::c_int = 4; pub const BUFSIZ: ::c_uint = 8192; 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_EQUIV_CLASS_MAX: ::c_int = 41; pub const _SC_CHARCLASS_NAME_MAX: ::c_int = 45; pub const _SC_PII: ::c_int = 53; pub const _SC_PII_XTI: ::c_int = 54; pub const _SC_PII_SOCKET: ::c_int = 55; pub const _SC_PII_INTERNET: ::c_int = 56; pub const _SC_PII_OSI: ::c_int = 57; pub const _SC_POLL: ::c_int = 58; pub const _SC_SELECT: ::c_int = 59; pub const _SC_PII_INTERNET_STREAM: ::c_int = 61; pub const _SC_PII_INTERNET_DGRAM: ::c_int = 62; pub const _SC_PII_OSI_COTS: ::c_int = 63; pub const _SC_PII_OSI_CLTS: ::c_int = 64; pub const _SC_PII_OSI_M: ::c_int = 65; pub const _SC_T_IOV_MAX: ::c_int = 66; pub const _SC_2_C_VERSION: ::c_int = 96; pub const _SC_CHAR_BIT: ::c_int = 101; pub const _SC_CHAR_MAX: ::c_int = 102; pub const _SC_CHAR_MIN: ::c_int = 103; pub const _SC_INT_MAX: ::c_int = 104; pub const _SC_INT_MIN: ::c_int = 105; pub const _SC_LONG_BIT: ::c_int = 106; pub const _SC_WORD_BIT: ::c_int = 107; pub const _SC_MB_LEN_MAX: ::c_int = 108; pub const _SC_SSIZE_MAX: ::c_int = 110; pub const _SC_SCHAR_MAX: ::c_int = 111; pub const _SC_SCHAR_MIN: ::c_int = 112; pub const _SC_SHRT_MAX: ::c_int = 113; pub const _SC_SHRT_MIN: ::c_int = 114; pub const _SC_UCHAR_MAX: ::c_int = 115; pub const _SC_UINT_MAX: ::c_int = 116; pub const _SC_ULONG_MAX: ::c_int = 117; pub const _SC_USHRT_MAX: ::c_int = 118; pub const _SC_NL_ARGMAX: ::c_int = 119; pub const _SC_NL_LANGMAX: ::c_int = 120; pub const _SC_NL_MSGMAX: ::c_int = 121; pub const _SC_NL_NMAX: ::c_int = 122; pub const _SC_NL_SETMAX: ::c_int = 123; pub const _SC_NL_TEXTMAX: ::c_int = 124; pub const _SC_BASE: ::c_int = 134; pub const _SC_C_LANG_SUPPORT: ::c_int = 135; pub const _SC_C_LANG_SUPPORT_R: ::c_int = 136; pub const _SC_DEVICE_IO: ::c_int = 140; pub const _SC_DEVICE_SPECIFIC: ::c_int = 141; pub const _SC_DEVICE_SPECIFIC_R: ::c_int = 142; pub const _SC_FD_MGMT: ::c_int = 143; pub const _SC_FIFO: ::c_int = 144; pub const _SC_PIPE: ::c_int = 145; pub const _SC_FILE_ATTRIBUTES: ::c_int = 146; pub const _SC_FILE_LOCKING: ::c_int = 147; pub const _SC_FILE_SYSTEM: ::c_int = 148; pub const _SC_MULTI_PROCESS: ::c_int = 150; pub const _SC_SINGLE_PROCESS: ::c_int = 151; pub const _SC_NETWORKING: ::c_int = 152; pub const _SC_REGEX_VERSION: ::c_int = 156; pub const _SC_SIGNALS: ::c_int = 158; pub const _SC_SYSTEM_DATABASE: ::c_int = 162; pub const _SC_SYSTEM_DATABASE_R: ::c_int = 163; pub const _SC_USER_GROUPS: ::c_int = 166; pub const _SC_USER_GROUPS_R: ::c_int = 167; pub const _SC_LEVEL1_ICACHE_SIZE: ::c_int = 185; pub const _SC_LEVEL1_ICACHE_ASSOC: ::c_int = 186; pub const _SC_LEVEL1_ICACHE_LINESIZE: ::c_int = 187; pub const _SC_LEVEL1_DCACHE_SIZE: ::c_int = 188; pub const _SC_LEVEL1_DCACHE_ASSOC: ::c_int = 189; pub const _SC_LEVEL1_DCACHE_LINESIZE: ::c_int = 190; pub const _SC_LEVEL2_CACHE_SIZE: ::c_int = 191; pub const _SC_LEVEL2_CACHE_ASSOC: ::c_int = 192; pub const _SC_LEVEL2_CACHE_LINESIZE: ::c_int = 193; pub const _SC_LEVEL3_CACHE_SIZE: ::c_int = 194; pub const _SC_LEVEL3_CACHE_ASSOC: ::c_int = 195; pub const _SC_LEVEL3_CACHE_LINESIZE: ::c_int = 196; pub const _SC_LEVEL4_CACHE_SIZE: ::c_int = 197; pub const _SC_LEVEL4_CACHE_ASSOC: ::c_int = 198; pub const _SC_LEVEL4_CACHE_LINESIZE: ::c_int = 199; pub const O_ACCMODE: ::c_int = 3; pub const ST_RELATIME: ::c_ulong = 4096; pub const NI_MAXHOST: ::socklen_t = 1025; 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 CPU_SETSIZE: ::c_int = 0x400; pub const PTRACE_TRACEME: ::c_uint = 0; pub const PTRACE_PEEKTEXT: ::c_uint = 1; pub const PTRACE_PEEKDATA: ::c_uint = 2; pub const PTRACE_PEEKUSER: ::c_uint = 3; pub const PTRACE_POKETEXT: ::c_uint = 4; pub const PTRACE_POKEDATA: ::c_uint = 5; pub const PTRACE_POKEUSER: ::c_uint = 6; pub const PTRACE_CONT: ::c_uint = 7; pub const PTRACE_KILL: ::c_uint = 8; pub const PTRACE_SINGLESTEP: ::c_uint = 9; pub const PTRACE_ATTACH: ::c_uint = 16; pub const PTRACE_SYSCALL: ::c_uint = 24; pub const PTRACE_SETOPTIONS: ::c_uint = 0x4200; pub const PTRACE_GETEVENTMSG: ::c_uint = 0x4201; pub const PTRACE_GETSIGINFO: ::c_uint = 0x4202; pub const PTRACE_SETSIGINFO: ::c_uint = 0x4203; pub const PTRACE_GETREGSET: ::c_uint = 0x4204; pub const PTRACE_SETREGSET: ::c_uint = 0x4205; 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 EPOLLWAKEUP: ::c_int = 0x20000000; pub const SEEK_DATA: ::c_int = 3; pub const SEEK_HOLE: ::c_int = 4; pub const LINUX_REBOOT_MAGIC1: ::c_int = 0xfee1dead; pub const LINUX_REBOOT_MAGIC2: ::c_int = 672274793; pub const LINUX_REBOOT_MAGIC2A: ::c_int = 85072278; pub const LINUX_REBOOT_MAGIC2B: ::c_int = 369367448; pub const LINUX_REBOOT_MAGIC2C: ::c_int = 537993216; pub const LINUX_REBOOT_CMD_RESTART: ::c_int = 0x01234567; pub const LINUX_REBOOT_CMD_HALT: ::c_int = 0xCDEF0123; pub const LINUX_REBOOT_CMD_CAD_ON: ::c_int = 0x89ABCDEF; pub const LINUX_REBOOT_CMD_CAD_OFF: ::c_int = 0x00000000; pub const LINUX_REBOOT_CMD_POWER_OFF: ::c_int = 0x4321FEDC; pub const LINUX_REBOOT_CMD_RESTART2: ::c_int = 0xA1B2C3D4; pub const LINUX_REBOOT_CMD_SW_SUSPEND: ::c_int = 0xD000FCE2; pub const LINUX_REBOOT_CMD_KEXEC: ::c_int = 0x45584543; // linux/rtnetlink.h pub const TCA_PAD: ::c_ushort = 9; pub const TCA_DUMP_INVISIBLE: ::c_ushort = 10; pub const TCA_CHAIN: ::c_ushort = 11; pub const TCA_HW_OFFLOAD: ::c_ushort = 12; pub const RTM_DELNETCONF: u16 = 81; pub const RTM_NEWSTATS: u16 = 92; pub const RTM_GETSTATS: u16 = 94; pub const RTM_NEWCACHEREPORT: u16 = 96; pub const RTM_F_LOOKUP_TABLE: ::c_uint = 0x1000; pub const RTM_F_FIB_MATCH: ::c_uint = 0x2000; pub const RTA_VIA: ::c_ushort = 18; pub const RTA_NEWDST: ::c_ushort = 19; pub const RTA_PREF: ::c_ushort = 20; pub const RTA_ENCAP_TYPE: ::c_ushort = 21; pub const RTA_ENCAP: ::c_ushort = 22; pub const RTA_EXPIRES: ::c_ushort = 23; pub const RTA_PAD: ::c_ushort = 24; pub const RTA_UID: ::c_ushort = 25; pub const RTA_TTL_PROPAGATE: ::c_ushort = 26; // linux/neighbor.h pub const NTF_EXT_LEARNED: u8 = 0x10; pub const NTF_OFFLOADED: u8 = 0x20; pub const NDA_MASTER: ::c_ushort = 9; pub const NDA_LINK_NETNSID: ::c_ushort = 10; pub const NDA_SRC_VNI: ::c_ushort = 11; // linux/if_addr.h pub const IFA_FLAGS: ::c_ushort = 8; pub const IFA_F_MANAGETEMPADDR: u32 = 0x100; pub const IFA_F_NOPREFIXROUTE: u32 = 0x200; pub const IFA_F_MCAUTOJOIN: u32 = 0x400; pub const IFA_F_STABLE_PRIVACY: u32 = 0x800; pub const MAX_LINKS: ::c_int = 32; 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; 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/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; pub const M_KEEP: ::c_int = 4; pub const M_TRIM_THRESHOLD: ::c_int = -1; pub const M_TOP_PAD: ::c_int = -2; pub const M_MMAP_THRESHOLD: ::c_int = -3; pub const M_MMAP_MAX: ::c_int = -4; pub const M_CHECK_ACTION: ::c_int = -5; pub const M_PERTURB: ::c_int = -6; pub const M_ARENA_TEST: ::c_int = -7; pub const M_ARENA_MAX: ::c_int = -8; pub const AT_STATX_SYNC_TYPE: ::c_int = 0x6000; pub const AT_STATX_SYNC_AS_STAT: ::c_int = 0x0000; pub const AT_STATX_FORCE_SYNC: ::c_int = 0x2000; pub const AT_STATX_DONT_SYNC: ::c_int = 0x4000; pub const STATX_TYPE: ::c_uint = 0x0001; pub const STATX_MODE: ::c_uint = 0x0002; pub const STATX_NLINK: ::c_uint = 0x0004; pub const STATX_UID: ::c_uint = 0x0008; pub const STATX_GID: ::c_uint = 0x0010; pub const STATX_ATIME: ::c_uint = 0x0020; pub const STATX_MTIME: ::c_uint = 0x0040; pub const STATX_CTIME: ::c_uint = 0x0080; pub const STATX_INO: ::c_uint = 0x0100; pub const STATX_SIZE: ::c_uint = 0x0200; pub const STATX_BLOCKS: ::c_uint = 0x0400; pub const STATX_BASIC_STATS: ::c_uint = 0x07ff; pub const STATX_BTIME: ::c_uint = 0x0800; pub const STATX_ALL: ::c_uint = 0x0fff; pub const STATX__RESERVED: ::c_int = 0x80000000; pub const STATX_ATTR_COMPRESSED: ::c_int = 0x0004; pub const STATX_ATTR_IMMUTABLE: ::c_int = 0x0010; pub const STATX_ATTR_APPEND: ::c_int = 0x0020; pub const STATX_ATTR_NODUMP: ::c_int = 0x0040; pub const STATX_ATTR_ENCRYPTED: ::c_int = 0x0800; pub const STATX_ATTR_AUTOMOUNT: ::c_int = 0x1000; cfg_if! { if #[cfg(any( target_arch = "arm", target_arch = "x86", target_arch = "x86_64", target_arch = "s390x" ))] { pub const PTHREAD_STACK_MIN: ::size_t = 16384; } else if #[cfg(any( target_arch = "sparc", target_arch = "sparc64" ))] { pub const PTHREAD_STACK_MIN: ::size_t = 0x6000; } else { pub const PTHREAD_STACK_MIN: ::size_t = 131072; } } pub const PTHREAD_MUTEX_ADAPTIVE_NP: ::c_int = 3; extern "C" { pub fn sendmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::c_uint, flags: ::c_int, ) -> ::c_int; pub fn recvmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::c_uint, flags: ::c_int, timeout: *mut ::timespec, ) -> ::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 prlimit( pid: ::pid_t, resource: ::__rlimit_resource_t, new_limit: *const ::rlimit, old_limit: *mut ::rlimit, ) -> ::c_int; pub fn prlimit64( pid: ::pid_t, resource: ::__rlimit_resource_t, new_limit: *const ::rlimit64, old_limit: *mut ::rlimit64, ) -> ::c_int; pub fn utmpname(file: *const ::c_char) -> ::c_int; pub fn utmpxname(file: *const ::c_char) -> ::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 getpt() -> ::c_int; pub fn mallopt(param: ::c_int, value: ::c_int) -> ::c_int; pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::timezone) -> ::c_int; pub fn statx( dirfd: ::c_int, pathname: *const c_char, flags: ::c_int, mask: ::c_uint, statxbuf: *mut statx, ) -> ::c_int; pub fn getrandom( buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint, ) -> ::ssize_t; } #[link(name = "util")] extern "C" { pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int; pub fn backtrace(buf: *mut *mut ::c_void, sz: ::c_int) -> ::c_int; pub fn glob64( pattern: *const ::c_char, flags: ::c_int, errfunc: ::Option< extern "C" fn(epath: *const ::c_char, errno: ::c_int) -> ::c_int, >, pglob: *mut glob64_t, ) -> ::c_int; pub fn globfree64(pglob: *mut glob64_t); pub fn ptrace(request: ::c_uint, ...) -> ::c_long; pub fn pthread_attr_getaffinity_np( attr: *const ::pthread_attr_t, cpusetsize: ::size_t, cpuset: *mut ::cpu_set_t, ) -> ::c_int; pub fn pthread_attr_setaffinity_np( attr: *mut ::pthread_attr_t, cpusetsize: ::size_t, cpuset: *const ::cpu_set_t, ) -> ::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, ) -> ::c_int; pub fn pthread_rwlockattr_setkind_np( attr: *mut ::pthread_rwlockattr_t, val: ::c_int, ) -> ::c_int; pub fn sched_getcpu() -> ::c_int; pub fn mallinfo() -> ::mallinfo; pub fn malloc_usable_size(ptr: *mut ::c_void) -> ::size_t; pub fn getauxval(type_: ::c_ulong) -> ::c_ulong; #[cfg_attr(target_os = "netbsd", link_name = "__getpwent_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwent_r")] pub fn getpwent_r( pwd: *mut ::passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::passwd, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getgrent_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrent_r")] pub fn getgrent_r( grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::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; } cfg_if! { if #[cfg(any(target_arch = "x86", target_arch = "arm", target_arch = "mips", target_arch = "powerpc", target_arch = "sparc"))] { mod b32; pub use self::b32::*; } else if #[cfg(any(target_arch = "x86_64", target_arch = "aarch64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64", target_arch = "riscv64"))] { mod b64; pub use self::b64::*; } else { // Unknown target_arch } } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } else { mod no_align; pub use self::no_align::*; } } libc-0.2.66/src/unix/linux_like/linux/gnu/no_align.rs010064400007650000024000000004021353453276600207500ustar0000000000000000s! { // FIXME this is actually a union pub struct sem_t { #[cfg(target_pointer_width = "32")] __size: [::c_char; 16], #[cfg(target_pointer_width = "64")] __size: [::c_char; 32], __align: [::c_long; 0], } } libc-0.2.66/src/unix/linux_like/linux/mod.rs010064400007650000024000003133111357020644200171430ustar0000000000000000//! Linux-specific definitions for linux-like values pub type useconds_t = u32; pub type dev_t = u64; pub type socklen_t = u32; pub type mode_t = u32; pub type ino64_t = u64; pub type off64_t = i64; pub type blkcnt64_t = i64; pub type rlim64_t = u64; pub type mqd_t = ::c_int; pub type nfds_t = ::c_ulong; 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 __u8 = ::c_uchar; pub type __u16 = ::c_ushort; pub type __s16 = ::c_short; pub type __u32 = ::c_uint; pub type __s32 = ::c_int; pub type Elf32_Half = u16; pub type Elf32_Word = u32; pub type Elf32_Off = u32; pub type Elf32_Addr = u32; pub type Elf64_Half = u16; pub type Elf64_Word = u32; pub type Elf64_Off = u64; pub type Elf64_Addr = u64; pub type Elf64_Xword = u64; pub type Elf64_Sxword = i64; pub type Elf32_Section = u16; pub type Elf64_Section = u16; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum fpos64_t {} // TODO: fill this out with a struct impl ::Copy for fpos64_t {} impl ::Clone for fpos64_t { fn clone(&self) -> fpos64_t { *self } } s! { pub struct rlimit64 { pub rlim_cur: rlim64_t, pub rlim_max: rlim64_t, } pub struct glob_t { pub gl_pathc: ::size_t, pub gl_pathv: *mut *mut c_char, pub gl_offs: ::size_t, pub gl_flags: ::c_int, __unused1: *mut ::c_void, __unused2: *mut ::c_void, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, } pub struct passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, } pub struct spwd { pub sp_namp: *mut ::c_char, pub sp_pwdp: *mut ::c_char, pub sp_lstchg: ::c_long, pub sp_min: ::c_long, pub sp_max: ::c_long, pub sp_warn: ::c_long, pub sp_inact: ::c_long, pub sp_expire: ::c_long, pub sp_flag: ::c_ulong, } pub struct dqblk { pub dqb_bhardlimit: u64, pub dqb_bsoftlimit: u64, pub dqb_curspace: u64, pub dqb_ihardlimit: u64, pub dqb_isoftlimit: u64, pub dqb_curinodes: u64, pub dqb_btime: u64, pub dqb_itime: u64, pub dqb_valid: u32, } pub struct signalfd_siginfo { pub ssi_signo: u32, pub ssi_errno: i32, pub ssi_code: i32, pub ssi_pid: u32, pub ssi_uid: u32, pub ssi_fd: i32, pub ssi_tid: u32, pub ssi_band: u32, pub ssi_overrun: u32, pub ssi_trapno: u32, pub ssi_status: i32, pub ssi_int: i32, pub ssi_ptr: u64, pub ssi_utime: u64, pub ssi_stime: u64, pub ssi_addr: u64, pub ssi_addr_lsb: u16, _pad2: u16, pub ssi_syscall: i32, pub ssi_call_addr: u64, pub ssi_arch: u32, _pad: [u8; 28], } pub struct itimerspec { pub it_interval: ::timespec, pub it_value: ::timespec, } pub struct fsid_t { __val: [::c_int; 2], } pub struct packet_mreq { pub mr_ifindex: ::c_int, pub mr_type: ::c_ushort, pub mr_alen: ::c_ushort, pub mr_address: [::c_uchar; 8], } pub struct cpu_set_t { #[cfg(all(target_pointer_width = "32", not(target_arch = "x86_64")))] bits: [u32; 32], #[cfg(not(all(target_pointer_width = "32", not(target_arch = "x86_64"))))] bits: [u64; 16], } pub struct if_nameindex { pub if_index: ::c_uint, pub if_name: *mut ::c_char, } // System V IPC pub struct msginfo { pub msgpool: ::c_int, pub msgmap: ::c_int, pub msgmax: ::c_int, pub msgmnb: ::c_int, pub msgmni: ::c_int, pub msgssz: ::c_int, pub msgtql: ::c_int, pub msgseg: ::c_ushort, } pub struct sembuf { pub sem_num: ::c_ushort, pub sem_op: ::c_short, pub sem_flg: ::c_short, } pub struct input_event { pub time: ::timeval, pub type_: ::__u16, pub code: ::__u16, pub value: ::__s32, } pub struct input_id { pub bustype: ::__u16, pub vendor: ::__u16, pub product: ::__u16, pub version: ::__u16, } pub struct input_absinfo { pub value: ::__s32, pub minimum: ::__s32, pub maximum: ::__s32, pub fuzz: ::__s32, pub flat: ::__s32, pub resolution: ::__s32, } pub struct input_keymap_entry { pub flags: ::__u8, pub len: ::__u8, pub index: ::__u16, pub keycode: ::__u32, pub scancode: [::__u8; 32], } pub struct input_mask { pub type_: ::__u32, pub codes_size: ::__u32, pub codes_ptr: ::__u64, } pub struct ff_replay { pub length: ::__u16, pub delay: ::__u16, } pub struct ff_trigger { pub button: ::__u16, pub interval: ::__u16, } pub struct ff_envelope { pub attack_length: ::__u16, pub attack_level: ::__u16, pub fade_length: ::__u16, pub fade_level: ::__u16, } pub struct ff_constant_effect { pub level: ::__s16, pub envelope: ff_envelope, } pub struct ff_ramp_effect { pub start_level: ::__s16, pub end_level: ::__s16, pub envelope: ff_envelope, } pub struct ff_condition_effect { pub right_saturation: ::__u16, pub left_saturation: ::__u16, pub right_coeff: ::__s16, pub left_coeff: ::__s16, pub deadband: ::__u16, pub center: ::__s16, } pub struct ff_periodic_effect { pub waveform: ::__u16, pub period: ::__u16, pub magnitude: ::__s16, pub offset: ::__s16, pub phase: ::__u16, pub envelope: ff_envelope, pub custom_len: ::__u32, pub custom_data: *mut ::__s16, } pub struct ff_rumble_effect { pub strong_magnitude: ::__u16, pub weak_magnitude: ::__u16, } pub struct ff_effect { pub type_: ::__u16, pub id: ::__s16, pub direction: ::__u16, pub trigger: ff_trigger, pub replay: ff_replay, // FIXME this is actually a union #[cfg(target_pointer_width = "64")] pub u: [u64; 4], #[cfg(target_pointer_width = "32")] pub u: [u32; 7], } 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, pub dlpi_adds: ::c_ulonglong, pub dlpi_subs: ::c_ulonglong, pub dlpi_tls_modid: ::size_t, pub dlpi_tls_data: *mut ::c_void, } pub struct Elf32_Ehdr { pub e_ident: [::c_uchar; 16], pub e_type: Elf32_Half, pub e_machine: Elf32_Half, pub e_version: Elf32_Word, pub e_entry: Elf32_Addr, pub e_phoff: Elf32_Off, pub e_shoff: Elf32_Off, pub e_flags: Elf32_Word, pub e_ehsize: Elf32_Half, pub e_phentsize: Elf32_Half, pub e_phnum: Elf32_Half, pub e_shentsize: Elf32_Half, pub e_shnum: Elf32_Half, pub e_shstrndx: Elf32_Half, } pub struct Elf64_Ehdr { pub e_ident: [::c_uchar; 16], pub e_type: Elf64_Half, pub e_machine: Elf64_Half, pub e_version: Elf64_Word, pub e_entry: Elf64_Addr, pub e_phoff: Elf64_Off, pub e_shoff: Elf64_Off, pub e_flags: Elf64_Word, pub e_ehsize: Elf64_Half, pub e_phentsize: Elf64_Half, pub e_phnum: Elf64_Half, pub e_shentsize: Elf64_Half, pub e_shnum: Elf64_Half, pub e_shstrndx: Elf64_Half, } pub struct Elf32_Sym { pub st_name: Elf32_Word, pub st_value: Elf32_Addr, pub st_size: Elf32_Word, pub st_info: ::c_uchar, pub st_other: ::c_uchar, pub st_shndx: Elf32_Section, } pub struct Elf64_Sym { pub st_name: Elf64_Word, pub st_info: ::c_uchar, pub st_other: ::c_uchar, pub st_shndx: Elf64_Section, pub st_value: Elf64_Addr, pub st_size: Elf64_Xword, } 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, } pub struct Elf32_Shdr { pub sh_name: Elf32_Word, pub sh_type: Elf32_Word, pub sh_flags: Elf32_Word, pub sh_addr: Elf32_Addr, pub sh_offset: Elf32_Off, pub sh_size: Elf32_Word, pub sh_link: Elf32_Word, pub sh_info: Elf32_Word, pub sh_addralign: Elf32_Word, pub sh_entsize: Elf32_Word, } pub struct Elf64_Shdr { pub sh_name: Elf64_Word, pub sh_type: Elf64_Word, pub sh_flags: Elf64_Xword, pub sh_addr: Elf64_Addr, pub sh_offset: Elf64_Off, pub sh_size: Elf64_Xword, pub sh_link: Elf64_Word, pub sh_info: Elf64_Word, pub sh_addralign: Elf64_Xword, pub sh_entsize: Elf64_Xword, } pub struct Elf32_Chdr { pub ch_type: Elf32_Word, pub ch_size: Elf32_Word, pub ch_addralign: Elf32_Word, } pub struct Elf64_Chdr { pub ch_type: Elf64_Word, pub ch_reserved: Elf64_Word, pub ch_size: Elf64_Xword, pub ch_addralign: Elf64_Xword, } pub struct ucred { pub pid: ::pid_t, pub uid: ::uid_t, pub gid: ::gid_t, } pub struct mntent { pub mnt_fsname: *mut ::c_char, pub mnt_dir: *mut ::c_char, pub mnt_type: *mut ::c_char, pub mnt_opts: *mut ::c_char, pub mnt_freq: ::c_int, pub mnt_passno: ::c_int, } pub struct posix_spawn_file_actions_t { __allocated: ::c_int, __used: ::c_int, __actions: *mut ::c_int, __pad: [::c_int; 16], } pub struct posix_spawnattr_t { __flags: ::c_short, __pgrp: ::pid_t, __sd: ::sigset_t, __ss: ::sigset_t, #[cfg(target_env = "musl")] __prio: ::c_int, #[cfg(not(target_env = "musl"))] __sp: ::sched_param, __policy: ::c_int, __pad: [::c_int; 16], } pub struct genlmsghdr { pub cmd: u8, pub version: u8, pub reserved: u16, } pub struct in6_pktinfo { pub ipi6_addr: ::in6_addr, pub ipi6_ifindex: ::c_uint, } pub struct arpd_request { pub req: ::c_ushort, pub ip: u32, pub dev: ::c_ulong, pub stamp: ::c_ulong, pub updated: ::c_ulong, pub ha: [::c_uchar; ::MAX_ADDR_LEN], } pub struct inotify_event { pub wd: ::c_int, pub mask: u32, pub cookie: u32, pub len: u32 } pub struct sockaddr_vm { pub svm_family: ::sa_family_t, pub svm_reserved1: ::c_ushort, pub svm_port: ::c_uint, pub svm_cid: ::c_uint, pub svm_zero: [u8; 4] } } s_no_extra_traits! { pub struct sockaddr_nl { pub nl_family: ::sa_family_t, nl_pad: ::c_ushort, pub nl_pid: u32, pub nl_groups: u32 } pub struct dirent { pub d_ino: ::ino_t, pub d_off: ::off_t, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } pub struct dirent64 { pub d_ino: ::ino64_t, pub d_off: ::off64_t, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } pub struct sockaddr_alg { pub salg_family: ::sa_family_t, pub salg_type: [::c_uchar; 14], pub salg_feat: u32, pub salg_mask: u32, pub salg_name: [::c_uchar; 64], } pub struct af_alg_iv { pub ivlen: u32, pub iv: [::c_uchar; 0], } // x32 compatibility // See https://sourceware.org/bugzilla/show_bug.cgi?id=21279 pub struct mq_attr { #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pub mq_flags: i64, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pub mq_maxmsg: i64, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pub mq_msgsize: i64, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pub mq_curmsgs: i64, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pad: [i64; 4], #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub mq_flags: ::c_long, #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub mq_maxmsg: ::c_long, #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub mq_msgsize: ::c_long, #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub mq_curmsgs: ::c_long, #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pad: [::c_long; 4], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for sockaddr_nl { fn eq(&self, other: &sockaddr_nl) -> bool { self.nl_family == other.nl_family && self.nl_pid == other.nl_pid && self.nl_groups == other.nl_groups } } impl Eq for sockaddr_nl {} impl ::fmt::Debug for sockaddr_nl { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_nl") .field("nl_family", &self.nl_family) .field("nl_pid", &self.nl_pid) .field("nl_groups", &self.nl_groups) .finish() } } impl ::hash::Hash for sockaddr_nl { fn hash(&self, state: &mut H) { self.nl_family.hash(state); self.nl_pid.hash(state); self.nl_groups.hash(state); } } impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self.d_type == other.d_type && self .d_name .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_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for dirent64 { fn eq(&self, other: &dirent64) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self.d_type == other.d_type && self .d_name .iter() .zip(other.d_name.iter()) .all(|(a,b)| a == b) } } impl Eq for dirent64 {} impl ::fmt::Debug for dirent64 { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("dirent64") .field("d_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent64 { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for pthread_cond_t { fn eq(&self, other: &pthread_cond_t) -> bool { self.size.iter().zip(other.size.iter()).all(|(a,b)| a == b) } } impl Eq for pthread_cond_t {} impl ::fmt::Debug for pthread_cond_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_cond_t") // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_cond_t { fn hash(&self, state: &mut H) { self.size.hash(state); } } impl PartialEq for pthread_mutex_t { fn eq(&self, other: &pthread_mutex_t) -> bool { self.size.iter().zip(other.size.iter()).all(|(a,b)| a == b) } } impl Eq for pthread_mutex_t {} impl ::fmt::Debug for pthread_mutex_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_mutex_t") // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_mutex_t { fn hash(&self, state: &mut H) { self.size.hash(state); } } impl PartialEq for pthread_rwlock_t { fn eq(&self, other: &pthread_rwlock_t) -> bool { self.size.iter().zip(other.size.iter()).all(|(a,b)| a == b) } } impl Eq for pthread_rwlock_t {} impl ::fmt::Debug for pthread_rwlock_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("pthread_rwlock_t") // FIXME: .field("size", &self.size) .finish() } } impl ::hash::Hash for pthread_rwlock_t { fn hash(&self, state: &mut H) { self.size.hash(state); } } impl PartialEq for sockaddr_alg { fn eq(&self, other: &sockaddr_alg) -> bool { self.salg_family == other.salg_family && self .salg_type .iter() .zip(other.salg_type.iter()) .all(|(a, b)| a == b) && self.salg_feat == other.salg_feat && self.salg_mask == other.salg_mask && self .salg_name .iter() .zip(other.salg_name.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_alg {} impl ::fmt::Debug for sockaddr_alg { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_alg") .field("salg_family", &self.salg_family) .field("salg_type", &self.salg_type) .field("salg_feat", &self.salg_feat) .field("salg_mask", &self.salg_mask) .field("salg_name", &&self.salg_name[..]) .finish() } } impl ::hash::Hash for sockaddr_alg { fn hash(&self, state: &mut H) { self.salg_family.hash(state); self.salg_type.hash(state); self.salg_feat.hash(state); self.salg_mask.hash(state); self.salg_name.hash(state); } } impl af_alg_iv { fn as_slice(&self) -> &[u8] { unsafe { ::core::slice::from_raw_parts( self.iv.as_ptr(), self.ivlen as usize ) } } } impl PartialEq for af_alg_iv { fn eq(&self, other: &af_alg_iv) -> bool { *self.as_slice() == *other.as_slice() } } impl Eq for af_alg_iv {} impl ::fmt::Debug for af_alg_iv { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("af_alg_iv") .field("iv", &self.as_slice()) .finish() } } impl ::hash::Hash for af_alg_iv { fn hash(&self, state: &mut H) { self.as_slice().hash(state); } } impl PartialEq for mq_attr { fn eq(&self, other: &mq_attr) -> bool { self.mq_flags == other.mq_flags && self.mq_maxmsg == other.mq_maxmsg && self.mq_msgsize == other.mq_msgsize && self.mq_curmsgs == other.mq_curmsgs } } impl Eq for mq_attr {} impl ::fmt::Debug for mq_attr { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("mq_attr") .field("mq_flags", &self.mq_flags) .field("mq_maxmsg", &self.mq_maxmsg) .field("mq_msgsize", &self.mq_msgsize) .field("mq_curmsgs", &self.mq_curmsgs) .finish() } } impl ::hash::Hash for mq_attr { fn hash(&self, state: &mut H) { self.mq_flags.hash(state); self.mq_maxmsg.hash(state); self.mq_msgsize.hash(state); self.mq_curmsgs.hash(state); } } } } 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 RUSAGE_THREAD: ::c_int = 1; pub const RUSAGE_CHILDREN: ::c_int = -1; 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; pub const FILENAME_MAX: ::c_uint = 4096; pub const L_tmpnam: ::c_uint = 20; pub const _PC_LINK_MAX: ::c_int = 0; pub const _PC_MAX_CANON: ::c_int = 1; pub const _PC_MAX_INPUT: ::c_int = 2; pub const _PC_NAME_MAX: ::c_int = 3; pub const _PC_PATH_MAX: ::c_int = 4; pub const _PC_PIPE_BUF: ::c_int = 5; pub const _PC_CHOWN_RESTRICTED: ::c_int = 6; pub const _PC_NO_TRUNC: ::c_int = 7; pub const _PC_VDISABLE: ::c_int = 8; pub const _PC_SYNC_IO: ::c_int = 9; pub const _PC_ASYNC_IO: ::c_int = 10; pub const _PC_PRIO_IO: ::c_int = 11; pub const _PC_SOCK_MAXBUF: ::c_int = 12; pub const _PC_FILESIZEBITS: ::c_int = 13; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 14; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 15; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 16; pub const _PC_REC_XFER_ALIGN: ::c_int = 17; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 18; pub const _PC_SYMLINK_MAX: ::c_int = 19; pub const _PC_2_SYMLINKS: ::c_int = 20; pub const MS_NOUSER: ::c_ulong = 0xffffffff80000000; pub const _SC_ARG_MAX: ::c_int = 0; pub const _SC_CHILD_MAX: ::c_int = 1; pub const _SC_CLK_TCK: ::c_int = 2; pub const _SC_NGROUPS_MAX: ::c_int = 3; pub const _SC_OPEN_MAX: ::c_int = 4; pub const _SC_STREAM_MAX: ::c_int = 5; pub const _SC_TZNAME_MAX: ::c_int = 6; pub const _SC_JOB_CONTROL: ::c_int = 7; pub const _SC_SAVED_IDS: ::c_int = 8; pub const _SC_REALTIME_SIGNALS: ::c_int = 9; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 10; pub const _SC_TIMERS: ::c_int = 11; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 12; pub const _SC_PRIORITIZED_IO: ::c_int = 13; pub const _SC_SYNCHRONIZED_IO: ::c_int = 14; pub const _SC_FSYNC: ::c_int = 15; pub const _SC_MAPPED_FILES: ::c_int = 16; pub const _SC_MEMLOCK: ::c_int = 17; pub const _SC_MEMLOCK_RANGE: ::c_int = 18; pub const _SC_MEMORY_PROTECTION: ::c_int = 19; pub const _SC_MESSAGE_PASSING: ::c_int = 20; pub const _SC_SEMAPHORES: ::c_int = 21; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 22; pub const _SC_AIO_LISTIO_MAX: ::c_int = 23; pub const _SC_AIO_MAX: ::c_int = 24; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 25; pub const _SC_DELAYTIMER_MAX: ::c_int = 26; pub const _SC_MQ_OPEN_MAX: ::c_int = 27; pub const _SC_MQ_PRIO_MAX: ::c_int = 28; pub const _SC_VERSION: ::c_int = 29; pub const _SC_PAGESIZE: ::c_int = 30; pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; pub const _SC_RTSIG_MAX: ::c_int = 31; pub const _SC_SEM_NSEMS_MAX: ::c_int = 32; pub const _SC_SEM_VALUE_MAX: ::c_int = 33; pub const _SC_SIGQUEUE_MAX: ::c_int = 34; pub const _SC_TIMER_MAX: ::c_int = 35; pub const _SC_BC_BASE_MAX: ::c_int = 36; pub const _SC_BC_DIM_MAX: ::c_int = 37; pub const _SC_BC_SCALE_MAX: ::c_int = 38; pub const _SC_BC_STRING_MAX: ::c_int = 39; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 40; pub const _SC_EXPR_NEST_MAX: ::c_int = 42; pub const _SC_LINE_MAX: ::c_int = 43; pub const _SC_RE_DUP_MAX: ::c_int = 44; pub const _SC_2_VERSION: ::c_int = 46; pub const _SC_2_C_BIND: ::c_int = 47; pub const _SC_2_C_DEV: ::c_int = 48; pub const _SC_2_FORT_DEV: ::c_int = 49; pub const _SC_2_FORT_RUN: ::c_int = 50; pub const _SC_2_SW_DEV: ::c_int = 51; pub const _SC_2_LOCALEDEF: ::c_int = 52; pub const _SC_UIO_MAXIOV: ::c_int = 60; pub const _SC_IOV_MAX: ::c_int = 60; pub const _SC_THREADS: ::c_int = 67; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 68; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 69; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 70; pub const _SC_LOGIN_NAME_MAX: ::c_int = 71; pub const _SC_TTY_NAME_MAX: ::c_int = 72; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 73; pub const _SC_THREAD_KEYS_MAX: ::c_int = 74; pub const _SC_THREAD_STACK_MIN: ::c_int = 75; pub const _SC_THREAD_THREADS_MAX: ::c_int = 76; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 77; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 78; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 79; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 80; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 81; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 82; pub const _SC_NPROCESSORS_CONF: ::c_int = 83; pub const _SC_NPROCESSORS_ONLN: ::c_int = 84; pub const _SC_PHYS_PAGES: ::c_int = 85; pub const _SC_AVPHYS_PAGES: ::c_int = 86; pub const _SC_ATEXIT_MAX: ::c_int = 87; pub const _SC_PASS_MAX: ::c_int = 88; pub const _SC_XOPEN_VERSION: ::c_int = 89; pub const _SC_XOPEN_XCU_VERSION: ::c_int = 90; pub const _SC_XOPEN_UNIX: ::c_int = 91; pub const _SC_XOPEN_CRYPT: ::c_int = 92; pub const _SC_XOPEN_ENH_I18N: ::c_int = 93; pub const _SC_XOPEN_SHM: ::c_int = 94; pub const _SC_2_CHAR_TERM: ::c_int = 95; pub const _SC_2_UPE: ::c_int = 97; pub const _SC_XOPEN_XPG2: ::c_int = 98; pub const _SC_XOPEN_XPG3: ::c_int = 99; pub const _SC_XOPEN_XPG4: ::c_int = 100; pub const _SC_NZERO: ::c_int = 109; pub const _SC_XBS5_ILP32_OFF32: ::c_int = 125; pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 126; pub const _SC_XBS5_LP64_OFF64: ::c_int = 127; pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 128; pub const _SC_XOPEN_LEGACY: ::c_int = 129; pub const _SC_XOPEN_REALTIME: ::c_int = 130; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 131; pub const _SC_ADVISORY_INFO: ::c_int = 132; pub const _SC_BARRIERS: ::c_int = 133; pub const _SC_CLOCK_SELECTION: ::c_int = 137; pub const _SC_CPUTIME: ::c_int = 138; pub const _SC_THREAD_CPUTIME: ::c_int = 139; pub const _SC_MONOTONIC_CLOCK: ::c_int = 149; pub const _SC_READER_WRITER_LOCKS: ::c_int = 153; pub const _SC_SPIN_LOCKS: ::c_int = 154; pub const _SC_REGEXP: ::c_int = 155; pub const _SC_SHELL: ::c_int = 157; pub const _SC_SPAWN: ::c_int = 159; pub const _SC_SPORADIC_SERVER: ::c_int = 160; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 161; pub const _SC_TIMEOUTS: ::c_int = 164; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 165; pub const _SC_2_PBS: ::c_int = 168; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 169; pub const _SC_2_PBS_LOCATE: ::c_int = 170; pub const _SC_2_PBS_MESSAGE: ::c_int = 171; pub const _SC_2_PBS_TRACK: ::c_int = 172; pub const _SC_SYMLOOP_MAX: ::c_int = 173; pub const _SC_STREAMS: ::c_int = 174; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 175; pub const _SC_V6_ILP32_OFF32: ::c_int = 176; pub const _SC_V6_ILP32_OFFBIG: ::c_int = 177; pub const _SC_V6_LP64_OFF64: ::c_int = 178; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 179; pub const _SC_HOST_NAME_MAX: ::c_int = 180; pub const _SC_TRACE: ::c_int = 181; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 182; pub const _SC_TRACE_INHERIT: ::c_int = 183; pub const _SC_TRACE_LOG: ::c_int = 184; pub const _SC_IPV6: ::c_int = 235; pub const _SC_RAW_SOCKETS: ::c_int = 236; pub const _SC_V7_ILP32_OFF32: ::c_int = 237; pub const _SC_V7_ILP32_OFFBIG: ::c_int = 238; pub const _SC_V7_LP64_OFF64: ::c_int = 239; pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 240; pub const _SC_SS_REPL_MAX: ::c_int = 241; pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 242; pub const _SC_TRACE_NAME_MAX: ::c_int = 243; pub const _SC_TRACE_SYS_MAX: ::c_int = 244; pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 245; pub const _SC_XOPEN_STREAMS: ::c_int = 246; pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 247; pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 248; pub const RLIM_SAVED_MAX: ::rlim_t = RLIM_INFINITY; pub const RLIM_SAVED_CUR: ::rlim_t = RLIM_INFINITY; pub const GLOB_ERR: ::c_int = 1 << 0; pub const GLOB_MARK: ::c_int = 1 << 1; pub const GLOB_NOSORT: ::c_int = 1 << 2; pub const GLOB_DOOFFS: ::c_int = 1 << 3; pub const GLOB_NOCHECK: ::c_int = 1 << 4; pub const GLOB_APPEND: ::c_int = 1 << 5; pub const GLOB_NOESCAPE: ::c_int = 1 << 6; pub const GLOB_NOSPACE: ::c_int = 1; pub const GLOB_ABORTED: ::c_int = 2; pub const GLOB_NOMATCH: ::c_int = 3; 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 S_IEXEC: mode_t = 64; pub const S_IWRITE: mode_t = 128; pub const S_IREAD: mode_t = 256; pub const F_LOCK: ::c_int = 1; 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; // linux/if_addr.h pub const IFA_UNSPEC: ::c_ushort = 0; pub const IFA_ADDRESS: ::c_ushort = 1; pub const IFA_LOCAL: ::c_ushort = 2; pub const IFA_LABEL: ::c_ushort = 3; pub const IFA_BROADCAST: ::c_ushort = 4; pub const IFA_ANYCAST: ::c_ushort = 5; pub const IFA_CACHEINFO: ::c_ushort = 6; pub const IFA_MULTICAST: ::c_ushort = 7; pub const IFA_F_SECONDARY: u32 = 0x01; pub const IFA_F_TEMPORARY: u32 = 0x01; pub const IFA_F_NODAD: u32 = 0x02; pub const IFA_F_OPTIMISTIC: u32 = 0x04; pub const IFA_F_DADFAILED: u32 = 0x08; pub const IFA_F_HOMEADDRESS: u32 = 0x10; pub const IFA_F_DEPRECATED: u32 = 0x20; pub const IFA_F_TENTATIVE: u32 = 0x40; pub const IFA_F_PERMANENT: u32 = 0x80; // linux/if_link.h pub const IFLA_UNSPEC: ::c_ushort = 0; pub const IFLA_ADDRESS: ::c_ushort = 1; pub const IFLA_BROADCAST: ::c_ushort = 2; pub const IFLA_IFNAME: ::c_ushort = 3; pub const IFLA_MTU: ::c_ushort = 4; pub const IFLA_LINK: ::c_ushort = 5; pub const IFLA_QDISC: ::c_ushort = 6; pub const IFLA_STATS: ::c_ushort = 7; pub const IFLA_COST: ::c_ushort = 8; pub const IFLA_PRIORITY: ::c_ushort = 9; pub const IFLA_MASTER: ::c_ushort = 10; pub const IFLA_WIRELESS: ::c_ushort = 11; pub const IFLA_PROTINFO: ::c_ushort = 12; pub const IFLA_TXQLEN: ::c_ushort = 13; pub const IFLA_MAP: ::c_ushort = 14; pub const IFLA_WEIGHT: ::c_ushort = 15; pub const IFLA_OPERSTATE: ::c_ushort = 16; pub const IFLA_LINKMODE: ::c_ushort = 17; pub const IFLA_LINKINFO: ::c_ushort = 18; pub const IFLA_NET_NS_PID: ::c_ushort = 19; pub const IFLA_IFALIAS: ::c_ushort = 20; pub const IFLA_NUM_VF: ::c_ushort = 21; pub const IFLA_VFINFO_LIST: ::c_ushort = 22; pub const IFLA_STATS64: ::c_ushort = 23; pub const IFLA_VF_PORTS: ::c_ushort = 24; pub const IFLA_PORT_SELF: ::c_ushort = 25; pub const IFLA_AF_SPEC: ::c_ushort = 26; pub const IFLA_GROUP: ::c_ushort = 27; pub const IFLA_NET_NS_FD: ::c_ushort = 28; pub const IFLA_EXT_MASK: ::c_ushort = 29; pub const IFLA_PROMISCUITY: ::c_ushort = 30; pub const IFLA_NUM_TX_QUEUES: ::c_ushort = 31; pub const IFLA_NUM_RX_QUEUES: ::c_ushort = 32; pub const IFLA_CARRIER: ::c_ushort = 33; pub const IFLA_PHYS_PORT_ID: ::c_ushort = 34; pub const IFLA_CARRIER_CHANGES: ::c_ushort = 35; pub const IFLA_PHYS_SWITCH_ID: ::c_ushort = 36; pub const IFLA_LINK_NETNSID: ::c_ushort = 37; pub const IFLA_PHYS_PORT_NAME: ::c_ushort = 38; pub const IFLA_PROTO_DOWN: ::c_ushort = 39; pub const IFLA_INFO_UNSPEC: ::c_ushort = 0; pub const IFLA_INFO_KIND: ::c_ushort = 1; pub const IFLA_INFO_DATA: ::c_ushort = 2; pub const IFLA_INFO_XSTATS: ::c_ushort = 3; pub const IFLA_INFO_SLAVE_KIND: ::c_ushort = 4; pub const IFLA_INFO_SLAVE_DATA: ::c_ushort = 5; // linux/if_tun.h pub const IFF_TUN: ::c_int = 0x0001; pub const IFF_TAP: ::c_int = 0x0002; pub const IFF_NO_PI: ::c_int = 0x1000; // Read queue size pub const TUN_READQ_SIZE: ::c_short = 500; // TUN device type flags: deprecated. Use IFF_TUN/IFF_TAP instead. pub const TUN_TUN_DEV: ::c_short = ::IFF_TUN as ::c_short; pub const TUN_TAP_DEV: ::c_short = ::IFF_TAP as ::c_short; pub const TUN_TYPE_MASK: ::c_short = 0x000f; // This flag has no real effect 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; // read-only flag pub const IFF_PERSIST: ::c_int = 0x0800; pub const IFF_NOFILTER: ::c_int = 0x1000; pub const ST_RDONLY: ::c_ulong = 1; pub const ST_NOSUID: ::c_ulong = 2; pub const ST_NODEV: ::c_ulong = 4; pub const ST_NOEXEC: ::c_ulong = 8; pub const ST_SYNCHRONOUS: ::c_ulong = 16; pub const ST_MANDLOCK: ::c_ulong = 64; pub const ST_WRITE: ::c_ulong = 128; pub const ST_APPEND: ::c_ulong = 256; pub const ST_IMMUTABLE: ::c_ulong = 512; pub const ST_NOATIME: ::c_ulong = 1024; pub const ST_NODIRATIME: ::c_ulong = 2048; pub const RTLD_NEXT: *mut ::c_void = -1i64 as *mut ::c_void; 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], }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { size: [0; __SIZEOF_PTHREAD_COND_T], }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { size: [0; __SIZEOF_PTHREAD_RWLOCK_T], }; } 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_PROCESS_PRIVATE: ::c_int = 0; pub const PTHREAD_PROCESS_SHARED: ::c_int = 1; pub const __SIZEOF_PTHREAD_COND_T: usize = 48; pub const RENAME_NOREPLACE: ::c_int = 1; pub const RENAME_EXCHANGE: ::c_int = 2; pub const RENAME_WHITEOUT: ::c_int = 4; pub const SCHED_OTHER: ::c_int = 0; pub const SCHED_FIFO: ::c_int = 1; pub const SCHED_RR: ::c_int = 2; pub const SCHED_BATCH: ::c_int = 3; pub const SCHED_IDLE: ::c_int = 5; pub const SCHED_RESET_ON_FORK: ::c_int = 0x40000000; // netinet/in.h // NOTE: These are in addition to the constants defined in src/unix/mod.rs // IPPROTO_IP defined in src/unix/mod.rs /// Hop-by-hop option header pub const IPPROTO_HOPOPTS: ::c_int = 0; // IPPROTO_ICMP defined in src/unix/mod.rs /// group mgmt protocol pub const IPPROTO_IGMP: ::c_int = 2; /// for compatibility pub const IPPROTO_IPIP: ::c_int = 4; // IPPROTO_TCP defined in src/unix/mod.rs /// exterior gateway protocol pub const IPPROTO_EGP: ::c_int = 8; /// pup pub const IPPROTO_PUP: ::c_int = 12; // IPPROTO_UDP defined in src/unix/mod.rs /// xns idp pub const IPPROTO_IDP: ::c_int = 22; /// tp-4 w/ class negotiation pub const IPPROTO_TP: ::c_int = 29; /// DCCP pub const IPPROTO_DCCP: ::c_int = 33; // IPPROTO_IPV6 defined in src/unix/mod.rs /// IP6 routing header pub const IPPROTO_ROUTING: ::c_int = 43; /// IP6 fragmentation header pub const IPPROTO_FRAGMENT: ::c_int = 44; /// resource reservation pub const IPPROTO_RSVP: ::c_int = 46; /// General Routing Encap. pub const IPPROTO_GRE: ::c_int = 47; /// IP6 Encap Sec. Payload pub const IPPROTO_ESP: ::c_int = 50; /// IP6 Auth Header pub const IPPROTO_AH: ::c_int = 51; // IPPROTO_ICMPV6 defined in src/unix/mod.rs /// IP6 no next header pub const IPPROTO_NONE: ::c_int = 59; /// IP6 destination option pub const IPPROTO_DSTOPTS: ::c_int = 60; pub const IPPROTO_MTP: ::c_int = 92; pub const IPPROTO_BEETPH: ::c_int = 94; /// encapsulation header pub const IPPROTO_ENCAP: ::c_int = 98; /// Protocol indep. multicast pub const IPPROTO_PIM: ::c_int = 103; /// IP Payload Comp. Protocol pub const IPPROTO_COMP: ::c_int = 108; /// SCTP pub const IPPROTO_SCTP: ::c_int = 132; pub const IPPROTO_MH: ::c_int = 135; pub const IPPROTO_UDPLITE: ::c_int = 136; pub const IPPROTO_MPLS: ::c_int = 137; /// raw IP packet pub const IPPROTO_RAW: ::c_int = 255; pub const IPPROTO_MAX: ::c_int = 256; pub const AF_IB: ::c_int = 27; pub const AF_MPLS: ::c_int = 28; pub const AF_NFC: ::c_int = 39; pub const AF_VSOCK: ::c_int = 40; pub const AF_XDP: ::c_int = 44; pub const PF_IB: ::c_int = AF_IB; pub const PF_MPLS: ::c_int = AF_MPLS; pub const PF_NFC: ::c_int = AF_NFC; pub const PF_VSOCK: ::c_int = AF_VSOCK; pub const PF_XDP: ::c_int = AF_XDP; // 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 MSG_STAT: ::c_int = 11; pub const MSG_INFO: ::c_int = 12; pub const MSG_NOERROR: ::c_int = 0o10000; pub const MSG_EXCEPT: ::c_int = 0o20000; pub const MSG_COPY: ::c_int = 0o40000; pub const SHM_R: ::c_int = 0o400; pub const SHM_W: ::c_int = 0o200; pub const SHM_RDONLY: ::c_int = 0o10000; pub const SHM_RND: ::c_int = 0o20000; pub const SHM_REMAP: ::c_int = 0o40000; pub const SHM_EXEC: ::c_int = 0o100000; pub const SHM_LOCK: ::c_int = 11; 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; pub const QFMT_VFS_V1: ::c_int = 4; pub const EFD_SEMAPHORE: ::c_int = 0x1; pub const LOG_NFACILITIES: ::c_int = 24; pub const SEM_FAILED: *mut ::sem_t = 0 as *mut sem_t; pub const RB_AUTOBOOT: ::c_int = 0x01234567u32 as i32; pub const RB_HALT_SYSTEM: ::c_int = 0xcdef0123u32 as i32; pub const RB_ENABLE_CAD: ::c_int = 0x89abcdefu32 as i32; pub const RB_DISABLE_CAD: ::c_int = 0x00000000u32 as i32; pub const RB_POWER_OFF: ::c_int = 0x4321fedcu32 as i32; pub const RB_SW_SUSPEND: ::c_int = 0xd000fce2u32 as i32; pub const RB_KEXEC: ::c_int = 0x45584543u32 as i32; 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_MEMORY: ::c_int = -10; pub const EAI_SYSTEM: ::c_int = -11; pub const EAI_OVERFLOW: ::c_int = -12; 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 SYNC_FILE_RANGE_WAIT_BEFORE: ::c_uint = 1; pub const SYNC_FILE_RANGE_WRITE: ::c_uint = 2; pub const SYNC_FILE_RANGE_WAIT_AFTER: ::c_uint = 4; pub const AIO_CANCELED: ::c_int = 0; pub const AIO_NOTCANCELED: ::c_int = 1; pub const AIO_ALLDONE: ::c_int = 2; pub const LIO_READ: ::c_int = 0; pub const LIO_WRITE: ::c_int = 1; pub const LIO_NOP: ::c_int = 2; pub const LIO_WAIT: ::c_int = 0; pub const LIO_NOWAIT: ::c_int = 1; pub const MREMAP_MAYMOVE: ::c_int = 1; pub const MREMAP_FIXED: ::c_int = 2; pub const PR_SET_PDEATHSIG: ::c_int = 1; pub const PR_GET_PDEATHSIG: ::c_int = 2; pub const PR_GET_DUMPABLE: ::c_int = 3; pub const PR_SET_DUMPABLE: ::c_int = 4; pub const PR_GET_UNALIGN: ::c_int = 5; pub const PR_SET_UNALIGN: ::c_int = 6; pub const PR_UNALIGN_NOPRINT: ::c_int = 1; pub const PR_UNALIGN_SIGBUS: ::c_int = 2; pub const PR_GET_KEEPCAPS: ::c_int = 7; pub const PR_SET_KEEPCAPS: ::c_int = 8; pub const PR_GET_FPEMU: ::c_int = 9; pub const PR_SET_FPEMU: ::c_int = 10; pub const PR_FPEMU_NOPRINT: ::c_int = 1; pub const PR_FPEMU_SIGFPE: ::c_int = 2; pub const PR_GET_FPEXC: ::c_int = 11; pub const PR_SET_FPEXC: ::c_int = 12; pub const PR_FP_EXC_SW_ENABLE: ::c_int = 0x80; pub const PR_FP_EXC_DIV: ::c_int = 0x010000; pub const PR_FP_EXC_OVF: ::c_int = 0x020000; pub const PR_FP_EXC_UND: ::c_int = 0x040000; pub const PR_FP_EXC_RES: ::c_int = 0x080000; pub const PR_FP_EXC_INV: ::c_int = 0x100000; pub const PR_FP_EXC_DISABLED: ::c_int = 0; pub const PR_FP_EXC_NONRECOV: ::c_int = 1; pub const PR_FP_EXC_ASYNC: ::c_int = 2; pub const PR_FP_EXC_PRECISE: ::c_int = 3; pub const PR_GET_TIMING: ::c_int = 13; pub const PR_SET_TIMING: ::c_int = 14; pub const PR_TIMING_STATISTICAL: ::c_int = 0; pub const PR_TIMING_TIMESTAMP: ::c_int = 1; pub const PR_SET_NAME: ::c_int = 15; pub const PR_GET_NAME: ::c_int = 16; pub const PR_GET_ENDIAN: ::c_int = 19; pub const PR_SET_ENDIAN: ::c_int = 20; pub const PR_ENDIAN_BIG: ::c_int = 0; pub const PR_ENDIAN_LITTLE: ::c_int = 1; pub const PR_ENDIAN_PPC_LITTLE: ::c_int = 2; pub const PR_GET_SECCOMP: ::c_int = 21; pub const PR_SET_SECCOMP: ::c_int = 22; pub const PR_CAPBSET_READ: ::c_int = 23; pub const PR_CAPBSET_DROP: ::c_int = 24; pub const PR_GET_TSC: ::c_int = 25; pub const PR_SET_TSC: ::c_int = 26; pub const PR_TSC_ENABLE: ::c_int = 1; pub const PR_TSC_SIGSEGV: ::c_int = 2; pub const PR_GET_SECUREBITS: ::c_int = 27; pub const PR_SET_SECUREBITS: ::c_int = 28; pub const PR_SET_TIMERSLACK: ::c_int = 29; pub const PR_GET_TIMERSLACK: ::c_int = 30; pub const PR_TASK_PERF_EVENTS_DISABLE: ::c_int = 31; pub const PR_TASK_PERF_EVENTS_ENABLE: ::c_int = 32; pub const PR_MCE_KILL: ::c_int = 33; pub const PR_MCE_KILL_CLEAR: ::c_int = 0; pub const PR_MCE_KILL_SET: ::c_int = 1; pub const PR_MCE_KILL_LATE: ::c_int = 0; pub const PR_MCE_KILL_EARLY: ::c_int = 1; pub const PR_MCE_KILL_DEFAULT: ::c_int = 2; pub const PR_MCE_KILL_GET: ::c_int = 34; pub const PR_SET_MM: ::c_int = 35; pub const PR_SET_MM_START_CODE: ::c_int = 1; pub const PR_SET_MM_END_CODE: ::c_int = 2; pub const PR_SET_MM_START_DATA: ::c_int = 3; pub const PR_SET_MM_END_DATA: ::c_int = 4; pub const PR_SET_MM_START_STACK: ::c_int = 5; pub const PR_SET_MM_START_BRK: ::c_int = 6; pub const PR_SET_MM_BRK: ::c_int = 7; pub const PR_SET_MM_ARG_START: ::c_int = 8; pub const PR_SET_MM_ARG_END: ::c_int = 9; pub const PR_SET_MM_ENV_START: ::c_int = 10; pub const PR_SET_MM_ENV_END: ::c_int = 11; pub const PR_SET_MM_AUXV: ::c_int = 12; pub const PR_SET_MM_EXE_FILE: ::c_int = 13; pub const PR_SET_MM_MAP: ::c_int = 14; pub const PR_SET_MM_MAP_SIZE: ::c_int = 15; pub const PR_SET_PTRACER: ::c_int = 0x59616d61; pub const PR_SET_CHILD_SUBREAPER: ::c_int = 36; pub const PR_GET_CHILD_SUBREAPER: ::c_int = 37; pub const PR_SET_NO_NEW_PRIVS: ::c_int = 38; pub const PR_GET_NO_NEW_PRIVS: ::c_int = 39; pub const PR_GET_TID_ADDRESS: ::c_int = 40; pub const PR_SET_THP_DISABLE: ::c_int = 41; pub const PR_GET_THP_DISABLE: ::c_int = 42; pub const PR_MPX_ENABLE_MANAGEMENT: ::c_int = 43; pub const PR_MPX_DISABLE_MANAGEMENT: ::c_int = 44; pub const PR_SET_FP_MODE: ::c_int = 45; pub const PR_GET_FP_MODE: ::c_int = 46; pub const PR_FP_MODE_FR: ::c_int = 1 << 0; pub const PR_FP_MODE_FRE: ::c_int = 1 << 1; pub const PR_CAP_AMBIENT: ::c_int = 47; pub const PR_CAP_AMBIENT_IS_SET: ::c_int = 1; pub const PR_CAP_AMBIENT_RAISE: ::c_int = 2; pub const PR_CAP_AMBIENT_LOWER: ::c_int = 3; pub const PR_CAP_AMBIENT_CLEAR_ALL: ::c_int = 4; pub const GRND_NONBLOCK: ::c_uint = 0x0001; pub const GRND_RANDOM: ::c_uint = 0x0002; 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 ITIMER_REAL: ::c_int = 0; pub const ITIMER_VIRTUAL: ::c_int = 1; pub const ITIMER_PROF: ::c_int = 2; 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; pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02; pub const FALLOC_FL_COLLAPSE_RANGE: ::c_int = 0x08; pub const FALLOC_FL_ZERO_RANGE: ::c_int = 0x10; pub const FALLOC_FL_INSERT_RANGE: ::c_int = 0x20; pub const FALLOC_FL_UNSHARE_RANGE: ::c_int = 0x40; #[deprecated( since = "0.2.55", note = "ENOATTR is not available on Linux; use ENODATA instead" )] pub const ENOATTR: ::c_int = ::ENODATA; pub const SO_ORIGINAL_DST: ::c_int = 80; pub const IP_ORIGDSTADDR: ::c_int = 20; pub const IP_RECVORIGDSTADDR: ::c_int = IP_ORIGDSTADDR; pub const IPV6_ORIGDSTADDR: ::c_int = 74; pub const IPV6_RECVORIGDSTADDR: ::c_int = IPV6_ORIGDSTADDR; pub const IPV6_FLOWLABEL_MGR: ::c_int = 32; pub const IPV6_FLOWINFO_SEND: ::c_int = 33; pub const IPV6_FLOWINFO_FLOWLABEL: ::c_int = 0x000fffff; pub const IPV6_FLOWINFO_PRIORITY: ::c_int = 0x0ff00000; pub const IUTF8: ::tcflag_t = 0x00004000; 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; // 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_NUM: u32 = 8; 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; // linux/if_ether.h pub const ETH_ALEN: ::c_int = 6; pub const ETH_HLEN: ::c_int = 14; pub const ETH_ZLEN: ::c_int = 60; pub const ETH_DATA_LEN: ::c_int = 1500; pub const ETH_FRAME_LEN: ::c_int = 1514; pub const ETH_FCS_LEN: ::c_int = 4; // These are the defined Ethernet Protocol ID's. pub const ETH_P_LOOP: ::c_int = 0x0060; pub const ETH_P_PUP: ::c_int = 0x0200; pub const ETH_P_PUPAT: ::c_int = 0x0201; pub const ETH_P_IP: ::c_int = 0x0800; pub const ETH_P_X25: ::c_int = 0x0805; pub const ETH_P_ARP: ::c_int = 0x0806; pub const ETH_P_BPQ: ::c_int = 0x08FF; pub const ETH_P_IEEEPUP: ::c_int = 0x0a00; pub const ETH_P_IEEEPUPAT: ::c_int = 0x0a01; pub const ETH_P_BATMAN: ::c_int = 0x4305; pub const ETH_P_DEC: ::c_int = 0x6000; pub const ETH_P_DNA_DL: ::c_int = 0x6001; pub const ETH_P_DNA_RC: ::c_int = 0x6002; pub const ETH_P_DNA_RT: ::c_int = 0x6003; pub const ETH_P_LAT: ::c_int = 0x6004; pub const ETH_P_DIAG: ::c_int = 0x6005; pub const ETH_P_CUST: ::c_int = 0x6006; pub const ETH_P_SCA: ::c_int = 0x6007; pub const ETH_P_TEB: ::c_int = 0x6558; pub const ETH_P_RARP: ::c_int = 0x8035; pub const ETH_P_ATALK: ::c_int = 0x809B; pub const ETH_P_AARP: ::c_int = 0x80F3; pub const ETH_P_8021Q: ::c_int = 0x8100; pub const ETH_P_IPX: ::c_int = 0x8137; pub const ETH_P_IPV6: ::c_int = 0x86DD; pub const ETH_P_PAUSE: ::c_int = 0x8808; pub const ETH_P_SLOW: ::c_int = 0x8809; pub const ETH_P_WCCP: ::c_int = 0x883E; pub const ETH_P_MPLS_UC: ::c_int = 0x8847; pub const ETH_P_MPLS_MC: ::c_int = 0x8848; pub const ETH_P_ATMMPOA: ::c_int = 0x884c; pub const ETH_P_PPP_DISC: ::c_int = 0x8863; pub const ETH_P_PPP_SES: ::c_int = 0x8864; pub const ETH_P_LINK_CTL: ::c_int = 0x886c; pub const ETH_P_ATMFATE: ::c_int = 0x8884; pub const ETH_P_PAE: ::c_int = 0x888E; pub const ETH_P_AOE: ::c_int = 0x88A2; pub const ETH_P_8021AD: ::c_int = 0x88A8; pub const ETH_P_802_EX1: ::c_int = 0x88B5; pub const ETH_P_TIPC: ::c_int = 0x88CA; pub const ETH_P_MACSEC: ::c_int = 0x88E5; pub const ETH_P_8021AH: ::c_int = 0x88E7; pub const ETH_P_MVRP: ::c_int = 0x88F5; pub const ETH_P_1588: ::c_int = 0x88F7; pub const ETH_P_PRP: ::c_int = 0x88FB; pub const ETH_P_FCOE: ::c_int = 0x8906; pub const ETH_P_TDLS: ::c_int = 0x890D; pub const ETH_P_FIP: ::c_int = 0x8914; pub const ETH_P_80221: ::c_int = 0x8917; pub const ETH_P_LOOPBACK: ::c_int = 0x9000; pub const ETH_P_QINQ1: ::c_int = 0x9100; pub const ETH_P_QINQ2: ::c_int = 0x9200; pub const ETH_P_QINQ3: ::c_int = 0x9300; pub const ETH_P_EDSA: ::c_int = 0xDADA; pub const ETH_P_AF_IUCV: ::c_int = 0xFBFB; pub const ETH_P_802_3_MIN: ::c_int = 0x0600; // Non DIX types. Won't clash for 1500 types. pub const ETH_P_802_3: ::c_int = 0x0001; pub const ETH_P_AX25: ::c_int = 0x0002; pub const ETH_P_ALL: ::c_int = 0x0003; pub const ETH_P_802_2: ::c_int = 0x0004; pub const ETH_P_SNAP: ::c_int = 0x0005; pub const ETH_P_DDCMP: ::c_int = 0x0006; pub const ETH_P_WAN_PPP: ::c_int = 0x0007; pub const ETH_P_PPP_MP: ::c_int = 0x0008; pub const ETH_P_LOCALTALK: ::c_int = 0x0009; pub const ETH_P_CANFD: ::c_int = 0x000D; pub const ETH_P_PPPTALK: ::c_int = 0x0010; pub const ETH_P_TR_802_2: ::c_int = 0x0011; pub const ETH_P_MOBITEX: ::c_int = 0x0015; pub const ETH_P_CONTROL: ::c_int = 0x0016; pub const ETH_P_IRDA: ::c_int = 0x0017; pub const ETH_P_ECONET: ::c_int = 0x0018; pub const ETH_P_HDLC: ::c_int = 0x0019; pub const ETH_P_ARCNET: ::c_int = 0x001A; pub const ETH_P_DSA: ::c_int = 0x001B; pub const ETH_P_TRAILER: ::c_int = 0x001C; pub const ETH_P_PHONET: ::c_int = 0x00F5; pub const ETH_P_IEEE802154: ::c_int = 0x00F6; pub const ETH_P_CAIF: ::c_int = 0x00F7; pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x01; pub const POSIX_SPAWN_SETPGROUP: ::c_int = 0x02; pub const POSIX_SPAWN_SETSIGDEF: ::c_int = 0x04; pub const POSIX_SPAWN_SETSIGMASK: ::c_int = 0x08; pub const POSIX_SPAWN_SETSCHEDPARAM: ::c_int = 0x10; pub const POSIX_SPAWN_SETSCHEDULER: ::c_int = 0x20; pub const NLMSG_NOOP: ::c_int = 0x1; pub const NLMSG_ERROR: ::c_int = 0x2; pub const NLMSG_DONE: ::c_int = 0x3; pub const NLMSG_OVERRUN: ::c_int = 0x4; pub const NLMSG_MIN_TYPE: ::c_int = 0x10; // linux/netfilter/nfnetlink.h pub const NFNLGRP_NONE: ::c_int = 0; pub const NFNLGRP_CONNTRACK_NEW: ::c_int = 1; pub const NFNLGRP_CONNTRACK_UPDATE: ::c_int = 2; pub const NFNLGRP_CONNTRACK_DESTROY: ::c_int = 3; pub const NFNLGRP_CONNTRACK_EXP_NEW: ::c_int = 4; pub const NFNLGRP_CONNTRACK_EXP_UPDATE: ::c_int = 5; pub const NFNLGRP_CONNTRACK_EXP_DESTROY: ::c_int = 6; pub const NFNLGRP_NFTABLES: ::c_int = 7; pub const NFNLGRP_ACCT_QUOTA: ::c_int = 8; pub const NFNETLINK_V0: ::c_int = 0; pub const NFNL_SUBSYS_NONE: ::c_int = 0; pub const NFNL_SUBSYS_CTNETLINK: ::c_int = 1; pub const NFNL_SUBSYS_CTNETLINK_EXP: ::c_int = 2; pub const NFNL_SUBSYS_QUEUE: ::c_int = 3; pub const NFNL_SUBSYS_ULOG: ::c_int = 4; pub const NFNL_SUBSYS_OSF: ::c_int = 5; pub const NFNL_SUBSYS_IPSET: ::c_int = 6; pub const NFNL_SUBSYS_ACCT: ::c_int = 7; pub const NFNL_SUBSYS_CTNETLINK_TIMEOUT: ::c_int = 8; pub const NFNL_SUBSYS_CTHELPER: ::c_int = 9; pub const NFNL_SUBSYS_NFTABLES: ::c_int = 10; pub const NFNL_SUBSYS_NFT_COMPAT: ::c_int = 11; pub const NFNL_SUBSYS_COUNT: ::c_int = 12; pub const NFNL_MSG_BATCH_BEGIN: ::c_int = NLMSG_MIN_TYPE; pub const NFNL_MSG_BATCH_END: ::c_int = NLMSG_MIN_TYPE + 1; // linux/netfilter/nfnetlink_log.h pub const NFULNL_MSG_PACKET: ::c_int = 0; pub const NFULNL_MSG_CONFIG: ::c_int = 1; pub const NFULA_UNSPEC: ::c_int = 0; pub const NFULA_PACKET_HDR: ::c_int = 1; pub const NFULA_MARK: ::c_int = 2; pub const NFULA_TIMESTAMP: ::c_int = 3; pub const NFULA_IFINDEX_INDEV: ::c_int = 4; pub const NFULA_IFINDEX_OUTDEV: ::c_int = 5; pub const NFULA_IFINDEX_PHYSINDEV: ::c_int = 6; pub const NFULA_IFINDEX_PHYSOUTDEV: ::c_int = 7; pub const NFULA_HWADDR: ::c_int = 8; pub const NFULA_PAYLOAD: ::c_int = 9; pub const NFULA_PREFIX: ::c_int = 10; pub const NFULA_UID: ::c_int = 11; pub const NFULA_SEQ: ::c_int = 12; pub const NFULA_SEQ_GLOBAL: ::c_int = 13; pub const NFULA_GID: ::c_int = 14; pub const NFULA_HWTYPE: ::c_int = 15; pub const NFULA_HWHEADER: ::c_int = 16; pub const NFULA_HWLEN: ::c_int = 17; pub const NFULA_CT: ::c_int = 18; pub const NFULA_CT_INFO: ::c_int = 19; pub const NFULNL_CFG_CMD_NONE: ::c_int = 0; pub const NFULNL_CFG_CMD_BIND: ::c_int = 1; pub const NFULNL_CFG_CMD_UNBIND: ::c_int = 2; pub const NFULNL_CFG_CMD_PF_BIND: ::c_int = 3; pub const NFULNL_CFG_CMD_PF_UNBIND: ::c_int = 4; pub const NFULA_CFG_UNSPEC: ::c_int = 0; pub const NFULA_CFG_CMD: ::c_int = 1; pub const NFULA_CFG_MODE: ::c_int = 2; pub const NFULA_CFG_NLBUFSIZ: ::c_int = 3; pub const NFULA_CFG_TIMEOUT: ::c_int = 4; pub const NFULA_CFG_QTHRESH: ::c_int = 5; pub const NFULA_CFG_FLAGS: ::c_int = 6; pub const NFULNL_COPY_NONE: ::c_int = 0x00; pub const NFULNL_COPY_META: ::c_int = 0x01; pub const NFULNL_COPY_PACKET: ::c_int = 0x02; pub const NFULNL_CFG_F_SEQ: ::c_int = 0x0001; pub const NFULNL_CFG_F_SEQ_GLOBAL: ::c_int = 0x0002; pub const NFULNL_CFG_F_CONNTRACK: ::c_int = 0x0004; pub const GENL_NAMSIZ: ::c_int = 16; pub const GENL_MIN_ID: ::c_int = NLMSG_MIN_TYPE; pub const GENL_MAX_ID: ::c_int = 1023; pub const GENL_ADMIN_PERM: ::c_int = 0x01; pub const GENL_CMD_CAP_DO: ::c_int = 0x02; pub const GENL_CMD_CAP_DUMP: ::c_int = 0x04; pub const GENL_CMD_CAP_HASPOL: ::c_int = 0x08; pub const GENL_ID_CTRL: ::c_int = NLMSG_MIN_TYPE; pub const CTRL_CMD_UNSPEC: ::c_int = 0; pub const CTRL_CMD_NEWFAMILY: ::c_int = 1; pub const CTRL_CMD_DELFAMILY: ::c_int = 2; pub const CTRL_CMD_GETFAMILY: ::c_int = 3; pub const CTRL_CMD_NEWOPS: ::c_int = 4; pub const CTRL_CMD_DELOPS: ::c_int = 5; pub const CTRL_CMD_GETOPS: ::c_int = 6; pub const CTRL_CMD_NEWMCAST_GRP: ::c_int = 7; pub const CTRL_CMD_DELMCAST_GRP: ::c_int = 8; pub const CTRL_CMD_GETMCAST_GRP: ::c_int = 9; pub const CTRL_ATTR_UNSPEC: ::c_int = 0; pub const CTRL_ATTR_FAMILY_ID: ::c_int = 1; pub const CTRL_ATTR_FAMILY_NAME: ::c_int = 2; pub const CTRL_ATTR_VERSION: ::c_int = 3; pub const CTRL_ATTR_HDRSIZE: ::c_int = 4; pub const CTRL_ATTR_MAXATTR: ::c_int = 5; pub const CTRL_ATTR_OPS: ::c_int = 6; pub const CTRL_ATTR_MCAST_GROUPS: ::c_int = 7; pub const CTRL_ATTR_OP_UNSPEC: ::c_int = 0; pub const CTRL_ATTR_OP_ID: ::c_int = 1; pub const CTRL_ATTR_OP_FLAGS: ::c_int = 2; pub const CTRL_ATTR_MCAST_GRP_UNSPEC: ::c_int = 0; pub const CTRL_ATTR_MCAST_GRP_NAME: ::c_int = 1; pub const CTRL_ATTR_MCAST_GRP_ID: ::c_int = 2; // linux/if_packet.h pub const PACKET_ADD_MEMBERSHIP: ::c_int = 1; pub const PACKET_DROP_MEMBERSHIP: ::c_int = 2; pub const PACKET_MR_MULTICAST: ::c_int = 0; pub const PACKET_MR_PROMISC: ::c_int = 1; pub const PACKET_MR_ALLMULTI: ::c_int = 2; pub const PACKET_MR_UNICAST: ::c_int = 3; // linux/netfilter.h pub const NF_DROP: ::c_int = 0; pub const NF_ACCEPT: ::c_int = 1; pub const NF_STOLEN: ::c_int = 2; pub const NF_QUEUE: ::c_int = 3; pub const NF_REPEAT: ::c_int = 4; pub const NF_STOP: ::c_int = 5; pub const NF_MAX_VERDICT: ::c_int = NF_STOP; pub const NF_VERDICT_MASK: ::c_int = 0x000000ff; pub const NF_VERDICT_FLAG_QUEUE_BYPASS: ::c_int = 0x00008000; pub const NF_VERDICT_QMASK: ::c_int = 0xffff0000; pub const NF_VERDICT_QBITS: ::c_int = 16; pub const NF_VERDICT_BITS: ::c_int = 16; pub const NF_INET_PRE_ROUTING: ::c_int = 0; pub const NF_INET_LOCAL_IN: ::c_int = 1; pub const NF_INET_FORWARD: ::c_int = 2; pub const NF_INET_LOCAL_OUT: ::c_int = 3; pub const NF_INET_POST_ROUTING: ::c_int = 4; pub const NF_INET_NUMHOOKS: ::c_int = 5; // Some NFPROTO are not compatible with musl and are defined in submodules. pub const NFPROTO_UNSPEC: ::c_int = 0; pub const NFPROTO_IPV4: ::c_int = 2; pub const NFPROTO_ARP: ::c_int = 3; 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; // linux/netfilter_ipv4.h pub const NF_IP_PRE_ROUTING: ::c_int = 0; pub const NF_IP_LOCAL_IN: ::c_int = 1; pub const NF_IP_FORWARD: ::c_int = 2; pub const NF_IP_LOCAL_OUT: ::c_int = 3; pub const NF_IP_POST_ROUTING: ::c_int = 4; pub const NF_IP_NUMHOOKS: ::c_int = 5; pub const NF_IP_PRI_FIRST: ::c_int = ::INT_MIN; pub const NF_IP_PRI_CONNTRACK_DEFRAG: ::c_int = -400; pub const NF_IP_PRI_RAW: ::c_int = -300; pub const NF_IP_PRI_SELINUX_FIRST: ::c_int = -225; pub const NF_IP_PRI_CONNTRACK: ::c_int = -200; pub const NF_IP_PRI_MANGLE: ::c_int = -150; pub const NF_IP_PRI_NAT_DST: ::c_int = -100; pub const NF_IP_PRI_FILTER: ::c_int = 0; pub const NF_IP_PRI_SECURITY: ::c_int = 50; pub const NF_IP_PRI_NAT_SRC: ::c_int = 100; pub const NF_IP_PRI_SELINUX_LAST: ::c_int = 225; pub const NF_IP_PRI_CONNTRACK_HELPER: ::c_int = 300; pub const NF_IP_PRI_CONNTRACK_CONFIRM: ::c_int = ::INT_MAX; pub const NF_IP_PRI_LAST: ::c_int = ::INT_MAX; // linux/netfilter_ipv6.h pub const NF_IP6_PRE_ROUTING: ::c_int = 0; pub const NF_IP6_LOCAL_IN: ::c_int = 1; pub const NF_IP6_FORWARD: ::c_int = 2; pub const NF_IP6_LOCAL_OUT: ::c_int = 3; pub const NF_IP6_POST_ROUTING: ::c_int = 4; pub const NF_IP6_NUMHOOKS: ::c_int = 5; pub const NF_IP6_PRI_FIRST: ::c_int = ::INT_MIN; pub const NF_IP6_PRI_CONNTRACK_DEFRAG: ::c_int = -400; pub const NF_IP6_PRI_RAW: ::c_int = -300; pub const NF_IP6_PRI_SELINUX_FIRST: ::c_int = -225; pub const NF_IP6_PRI_CONNTRACK: ::c_int = -200; pub const NF_IP6_PRI_MANGLE: ::c_int = -150; pub const NF_IP6_PRI_NAT_DST: ::c_int = -100; pub const NF_IP6_PRI_FILTER: ::c_int = 0; pub const NF_IP6_PRI_SECURITY: ::c_int = 50; pub const NF_IP6_PRI_NAT_SRC: ::c_int = 100; pub const NF_IP6_PRI_SELINUX_LAST: ::c_int = 225; pub const NF_IP6_PRI_CONNTRACK_HELPER: ::c_int = 300; pub const NF_IP6_PRI_LAST: ::c_int = ::INT_MAX; pub const SIOCADDRT: ::c_ulong = 0x0000890B; pub const SIOCDELRT: ::c_ulong = 0x0000890C; pub const SIOCGIFNAME: ::c_ulong = 0x00008910; pub const SIOCSIFLINK: ::c_ulong = 0x00008911; pub const SIOCGIFCONF: ::c_ulong = 0x00008912; pub const SIOCGIFFLAGS: ::c_ulong = 0x00008913; pub const SIOCSIFFLAGS: ::c_ulong = 0x00008914; pub const SIOCGIFADDR: ::c_ulong = 0x00008915; pub const SIOCSIFADDR: ::c_ulong = 0x00008916; pub const SIOCGIFDSTADDR: ::c_ulong = 0x00008917; pub const SIOCSIFDSTADDR: ::c_ulong = 0x00008918; pub const SIOCGIFBRDADDR: ::c_ulong = 0x00008919; pub const SIOCSIFBRDADDR: ::c_ulong = 0x0000891A; pub const SIOCGIFNETMASK: ::c_ulong = 0x0000891B; pub const SIOCSIFNETMASK: ::c_ulong = 0x0000891C; pub const SIOCGIFMETRIC: ::c_ulong = 0x0000891D; pub const SIOCSIFMETRIC: ::c_ulong = 0x0000891E; pub const SIOCGIFMEM: ::c_ulong = 0x0000891F; pub const SIOCSIFMEM: ::c_ulong = 0x00008920; pub const SIOCGIFMTU: ::c_ulong = 0x00008921; pub const SIOCSIFMTU: ::c_ulong = 0x00008922; pub const SIOCSIFHWADDR: ::c_ulong = 0x00008924; pub const SIOCGIFENCAP: ::c_ulong = 0x00008925; pub const SIOCSIFENCAP: ::c_ulong = 0x00008926; pub const SIOCGIFHWADDR: ::c_ulong = 0x00008927; pub const SIOCGIFSLAVE: ::c_ulong = 0x00008929; pub const SIOCSIFSLAVE: ::c_ulong = 0x00008930; pub const SIOCADDMULTI: ::c_ulong = 0x00008931; pub const SIOCDELMULTI: ::c_ulong = 0x00008932; pub const SIOCDARP: ::c_ulong = 0x00008953; pub const SIOCGARP: ::c_ulong = 0x00008954; pub const SIOCSARP: ::c_ulong = 0x00008955; pub const SIOCDRARP: ::c_ulong = 0x00008960; pub const SIOCGRARP: ::c_ulong = 0x00008961; pub const SIOCSRARP: ::c_ulong = 0x00008962; pub const SIOCGIFMAP: ::c_ulong = 0x00008970; pub const SIOCSIFMAP: ::c_ulong = 0x00008971; pub const IPTOS_TOS_MASK: u8 = 0x1E; pub const IPTOS_PREC_MASK: u8 = 0xE0; pub const IPTOS_ECN_NOT_ECT: u8 = 0x00; pub const RTF_UP: ::c_ushort = 0x0001; pub const RTF_GATEWAY: ::c_ushort = 0x0002; pub const RTF_HOST: ::c_ushort = 0x0004; pub const RTF_REINSTATE: ::c_ushort = 0x0008; pub const RTF_DYNAMIC: ::c_ushort = 0x0010; pub const RTF_MODIFIED: ::c_ushort = 0x0020; pub const RTF_MTU: ::c_ushort = 0x0040; pub const RTF_MSS: ::c_ushort = RTF_MTU; pub const RTF_WINDOW: ::c_ushort = 0x0080; pub const RTF_IRTT: ::c_ushort = 0x0100; pub const RTF_REJECT: ::c_ushort = 0x0200; pub const RTF_STATIC: ::c_ushort = 0x0400; pub const RTF_XRESOLVE: ::c_ushort = 0x0800; pub const RTF_NOFORWARD: ::c_ushort = 0x1000; pub const RTF_THROW: ::c_ushort = 0x2000; pub const RTF_NOPMTUDISC: ::c_ushort = 0x4000; pub const RTF_DEFAULT: u32 = 0x00010000; pub const RTF_ALLONLINK: u32 = 0x00020000; pub const RTF_ADDRCONF: u32 = 0x00040000; pub const RTF_LINKRT: u32 = 0x00100000; pub const RTF_NONEXTHOP: u32 = 0x00200000; pub const RTF_CACHE: u32 = 0x01000000; pub const RTF_FLOW: u32 = 0x02000000; pub const RTF_POLICY: u32 = 0x04000000; pub const RTCF_VALVE: u32 = 0x00200000; pub const RTCF_MASQ: u32 = 0x00400000; pub const RTCF_NAT: u32 = 0x00800000; pub const RTCF_DOREDIRECT: u32 = 0x01000000; pub const RTCF_LOG: u32 = 0x02000000; pub const RTCF_DIRECTSRC: u32 = 0x04000000; pub const RTF_LOCAL: u32 = 0x80000000; pub const RTF_INTERFACE: u32 = 0x40000000; pub const RTF_MULTICAST: u32 = 0x20000000; pub const RTF_BROADCAST: u32 = 0x10000000; pub const RTF_NAT: u32 = 0x08000000; pub const RTF_ADDRCLASSMASK: u32 = 0xF8000000; pub const RT_CLASS_UNSPEC: u8 = 0; pub const RT_CLASS_DEFAULT: u8 = 253; pub const RT_CLASS_MAIN: u8 = 254; pub const RT_CLASS_LOCAL: u8 = 255; pub const RT_CLASS_MAX: u8 = 255; // linux/neighbor.h pub const NUD_NONE: u16 = 0x00; pub const NUD_INCOMPLETE: u16 = 0x01; pub const NUD_REACHABLE: u16 = 0x02; pub const NUD_STALE: u16 = 0x04; pub const NUD_DELAY: u16 = 0x08; pub const NUD_PROBE: u16 = 0x10; pub const NUD_FAILED: u16 = 0x20; pub const NUD_NOARP: u16 = 0x40; pub const NUD_PERMANENT: u16 = 0x80; pub const NTF_USE: u8 = 0x01; pub const NTF_SELF: u8 = 0x02; pub const NTF_MASTER: u8 = 0x04; pub const NTF_PROXY: u8 = 0x08; pub const NTF_ROUTER: u8 = 0x80; pub const NDA_UNSPEC: ::c_ushort = 0; pub const NDA_DST: ::c_ushort = 1; pub const NDA_LLADDR: ::c_ushort = 2; pub const NDA_CACHEINFO: ::c_ushort = 3; pub const NDA_PROBES: ::c_ushort = 4; pub const NDA_VLAN: ::c_ushort = 5; pub const NDA_PORT: ::c_ushort = 6; pub const NDA_VNI: ::c_ushort = 7; pub const NDA_IFINDEX: ::c_ushort = 8; // linux/netlink.h pub const NLA_ALIGNTO: ::c_int = 4; pub const NETLINK_ROUTE: ::c_int = 0; pub const NETLINK_UNUSED: ::c_int = 1; pub const NETLINK_USERSOCK: ::c_int = 2; pub const NETLINK_FIREWALL: ::c_int = 3; pub const NETLINK_SOCK_DIAG: ::c_int = 4; pub const NETLINK_NFLOG: ::c_int = 5; pub const NETLINK_XFRM: ::c_int = 6; pub const NETLINK_SELINUX: ::c_int = 7; pub const NETLINK_ISCSI: ::c_int = 8; pub const NETLINK_AUDIT: ::c_int = 9; pub const NETLINK_FIB_LOOKUP: ::c_int = 10; pub const NETLINK_CONNECTOR: ::c_int = 11; pub const NETLINK_NETFILTER: ::c_int = 12; pub const NETLINK_IP6_FW: ::c_int = 13; pub const NETLINK_DNRTMSG: ::c_int = 14; pub const NETLINK_KOBJECT_UEVENT: ::c_int = 15; pub const NETLINK_GENERIC: ::c_int = 16; pub const NETLINK_SCSITRANSPORT: ::c_int = 18; pub const NETLINK_ECRYPTFS: ::c_int = 19; pub const NETLINK_RDMA: ::c_int = 20; pub const NETLINK_CRYPTO: ::c_int = 21; pub const NETLINK_INET_DIAG: ::c_int = NETLINK_SOCK_DIAG; pub const NLM_F_REQUEST: ::c_int = 1; pub const NLM_F_MULTI: ::c_int = 2; pub const NLM_F_ACK: ::c_int = 4; pub const NLM_F_ECHO: ::c_int = 8; pub const NLM_F_DUMP_INTR: ::c_int = 16; pub const NLM_F_DUMP_FILTERED: ::c_int = 32; pub const NLM_F_ROOT: ::c_int = 0x100; pub const NLM_F_MATCH: ::c_int = 0x200; pub const NLM_F_ATOMIC: ::c_int = 0x400; pub const NLM_F_DUMP: ::c_int = NLM_F_ROOT | NLM_F_MATCH; pub const NLM_F_REPLACE: ::c_int = 0x100; pub const NLM_F_EXCL: ::c_int = 0x200; pub const NLM_F_CREATE: ::c_int = 0x400; pub const NLM_F_APPEND: ::c_int = 0x800; pub const NETLINK_ADD_MEMBERSHIP: ::c_int = 1; pub const NETLINK_DROP_MEMBERSHIP: ::c_int = 2; pub const NETLINK_PKTINFO: ::c_int = 3; 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 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); // linux/rtnetlink.h pub const TCA_UNSPEC: ::c_ushort = 0; pub const TCA_KIND: ::c_ushort = 1; pub const TCA_OPTIONS: ::c_ushort = 2; pub const TCA_STATS: ::c_ushort = 3; pub const TCA_XSTATS: ::c_ushort = 4; pub const TCA_RATE: ::c_ushort = 5; pub const TCA_FCNT: ::c_ushort = 6; pub const TCA_STATS2: ::c_ushort = 7; pub const TCA_STAB: ::c_ushort = 8; pub const RTM_NEWLINK: u16 = 16; pub const RTM_DELLINK: u16 = 17; pub const RTM_GETLINK: u16 = 18; pub const RTM_SETLINK: u16 = 19; pub const RTM_NEWADDR: u16 = 20; pub const RTM_DELADDR: u16 = 21; pub const RTM_GETADDR: u16 = 22; pub const RTM_NEWROUTE: u16 = 24; pub const RTM_DELROUTE: u16 = 25; pub const RTM_GETROUTE: u16 = 26; pub const RTM_NEWNEIGH: u16 = 28; pub const RTM_DELNEIGH: u16 = 29; pub const RTM_GETNEIGH: u16 = 30; pub const RTM_NEWRULE: u16 = 32; pub const RTM_DELRULE: u16 = 33; pub const RTM_GETRULE: u16 = 34; pub const RTM_NEWQDISC: u16 = 36; pub const RTM_DELQDISC: u16 = 37; pub const RTM_GETQDISC: u16 = 38; pub const RTM_NEWTCLASS: u16 = 40; pub const RTM_DELTCLASS: u16 = 41; pub const RTM_GETTCLASS: u16 = 42; pub const RTM_NEWTFILTER: u16 = 44; pub const RTM_DELTFILTER: u16 = 45; pub const RTM_GETTFILTER: u16 = 46; pub const RTM_NEWACTION: u16 = 48; pub const RTM_DELACTION: u16 = 49; pub const RTM_GETACTION: u16 = 50; pub const RTM_NEWPREFIX: u16 = 52; pub const RTM_GETMULTICAST: u16 = 58; pub const RTM_GETANYCAST: u16 = 62; pub const RTM_NEWNEIGHTBL: u16 = 64; pub const RTM_GETNEIGHTBL: u16 = 66; pub const RTM_SETNEIGHTBL: u16 = 67; pub const RTM_NEWNDUSEROPT: u16 = 68; pub const RTM_NEWADDRLABEL: u16 = 72; pub const RTM_DELADDRLABEL: u16 = 73; pub const RTM_GETADDRLABEL: u16 = 74; pub const RTM_GETDCB: u16 = 78; pub const RTM_SETDCB: u16 = 79; pub const RTM_NEWNETCONF: u16 = 80; pub const RTM_GETNETCONF: u16 = 82; pub const RTM_NEWMDB: u16 = 84; pub const RTM_DELMDB: u16 = 85; pub const RTM_GETMDB: u16 = 86; pub const RTM_NEWNSID: u16 = 88; pub const RTM_DELNSID: u16 = 89; pub const RTM_GETNSID: u16 = 90; pub const RTM_F_NOTIFY: ::c_uint = 0x100; pub const RTM_F_CLONED: ::c_uint = 0x200; pub const RTM_F_EQUALIZE: ::c_uint = 0x400; pub const RTM_F_PREFIX: ::c_uint = 0x800; pub const RTA_UNSPEC: ::c_ushort = 0; pub const RTA_DST: ::c_ushort = 1; pub const RTA_SRC: ::c_ushort = 2; pub const RTA_IIF: ::c_ushort = 3; pub const RTA_OIF: ::c_ushort = 4; pub const RTA_GATEWAY: ::c_ushort = 5; pub const RTA_PRIORITY: ::c_ushort = 6; pub const RTA_PREFSRC: ::c_ushort = 7; pub const RTA_METRICS: ::c_ushort = 8; pub const RTA_MULTIPATH: ::c_ushort = 9; pub const RTA_PROTOINFO: ::c_ushort = 10; // No longer used pub const RTA_FLOW: ::c_ushort = 11; pub const RTA_CACHEINFO: ::c_ushort = 12; pub const RTA_SESSION: ::c_ushort = 13; // No longer used pub const RTA_MP_ALGO: ::c_ushort = 14; // No longer used pub const RTA_TABLE: ::c_ushort = 15; pub const RTA_MARK: ::c_ushort = 16; pub const RTA_MFC_STATS: ::c_ushort = 17; pub const RTN_UNSPEC: ::c_uchar = 0; pub const RTN_UNICAST: ::c_uchar = 1; pub const RTN_LOCAL: ::c_uchar = 2; pub const RTN_BROADCAST: ::c_uchar = 3; pub const RTN_ANYCAST: ::c_uchar = 4; pub const RTN_MULTICAST: ::c_uchar = 5; pub const RTN_BLACKHOLE: ::c_uchar = 6; pub const RTN_UNREACHABLE: ::c_uchar = 7; pub const RTN_PROHIBIT: ::c_uchar = 8; pub const RTN_THROW: ::c_uchar = 9; pub const RTN_NAT: ::c_uchar = 10; pub const RTN_XRESOLVE: ::c_uchar = 11; pub const RTPROT_UNSPEC: ::c_uchar = 0; pub const RTPROT_REDIRECT: ::c_uchar = 1; pub const RTPROT_KERNEL: ::c_uchar = 2; pub const RTPROT_BOOT: ::c_uchar = 3; pub const RTPROT_STATIC: ::c_uchar = 4; pub const RT_SCOPE_UNIVERSE: ::c_uchar = 0; pub const RT_SCOPE_SITE: ::c_uchar = 200; pub const RT_SCOPE_LINK: ::c_uchar = 253; pub const RT_SCOPE_HOST: ::c_uchar = 254; pub const RT_SCOPE_NOWHERE: ::c_uchar = 255; pub const RT_TABLE_UNSPEC: ::c_uchar = 0; pub const RT_TABLE_COMPAT: ::c_uchar = 252; pub const RT_TABLE_DEFAULT: ::c_uchar = 253; pub const RT_TABLE_MAIN: ::c_uchar = 254; pub const RT_TABLE_LOCAL: ::c_uchar = 255; pub const RTMSG_OVERRUN: u32 = ::NLMSG_OVERRUN as u32; pub const RTMSG_NEWDEVICE: u32 = 0x11; pub const RTMSG_DELDEVICE: u32 = 0x12; pub const RTMSG_NEWROUTE: u32 = 0x21; pub const RTMSG_DELROUTE: u32 = 0x22; pub const RTMSG_NEWRULE: u32 = 0x31; pub const RTMSG_DELRULE: u32 = 0x32; pub const RTMSG_CONTROL: u32 = 0x40; pub const RTMSG_AR_FAILED: u32 = 0x51; pub const MAX_ADDR_LEN: usize = 7; pub const ARPD_UPDATE: ::c_ushort = 0x01; pub const ARPD_LOOKUP: ::c_ushort = 0x02; pub const ARPD_FLUSH: ::c_ushort = 0x03; pub const ATF_MAGIC: ::c_int = 0x80; #[cfg(not(target_arch = "sparc64"))] pub const SO_TIMESTAMPING: ::c_int = 37; #[cfg(target_arch = "sparc64")] pub const SO_TIMESTAMPING: ::c_int = 35; pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING; // linux/module.h pub const MODULE_INIT_IGNORE_MODVERSIONS: ::c_uint = 0x0001; pub const MODULE_INIT_IGNORE_VERMAGIC: ::c_uint = 0x0002; // linux/net_tstamp.h pub const SOF_TIMESTAMPING_TX_HARDWARE: ::c_uint = 1 << 0; pub const SOF_TIMESTAMPING_TX_SOFTWARE: ::c_uint = 1 << 1; pub const SOF_TIMESTAMPING_RX_HARDWARE: ::c_uint = 1 << 2; 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; // linux/if_alg.h pub const ALG_SET_KEY: ::c_int = 1; pub const ALG_SET_IV: ::c_int = 2; pub const ALG_SET_OP: ::c_int = 3; pub const ALG_SET_AEAD_ASSOCLEN: ::c_int = 4; 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; // uapi/linux/vm_sockets.h pub const VMADDR_CID_ANY: ::c_uint = 0xFFFFFFFF; pub const VMADDR_CID_HYPERVISOR: ::c_uint = 0; pub const VMADDR_CID_RESERVED: ::c_uint = 1; pub const VMADDR_CID_HOST: ::c_uint = 2; pub const VMADDR_PORT_ANY: ::c_uint = 0xFFFFFFFF; // uapi/linux/inotify.h pub const IN_ACCESS: u32 = 0x0000_0001; pub const IN_MODIFY: u32 = 0x0000_0002; pub const IN_ATTRIB: u32 = 0x0000_0004; pub const IN_CLOSE_WRITE: u32 = 0x0000_0008; pub const IN_CLOSE_NOWRITE: u32 = 0x0000_0010; pub const IN_CLOSE: u32 = (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE); pub const IN_OPEN: u32 = 0x0000_0020; pub const IN_MOVED_FROM: u32 = 0x0000_0040; pub const IN_MOVED_TO: u32 = 0x0000_0080; pub const IN_MOVE: u32 = (IN_MOVED_FROM | IN_MOVED_TO); pub const IN_CREATE: u32 = 0x0000_0100; pub const IN_DELETE: u32 = 0x0000_0200; pub const IN_DELETE_SELF: u32 = 0x0000_0400; pub const IN_MOVE_SELF: u32 = 0x0000_0800; pub const IN_UNMOUNT: u32 = 0x0000_2000; pub const IN_Q_OVERFLOW: u32 = 0x0000_4000; pub const IN_IGNORED: u32 = 0x0000_8000; pub const IN_ONLYDIR: u32 = 0x0100_0000; pub const IN_DONT_FOLLOW: u32 = 0x0200_0000; // pub const IN_EXCL_UNLINK: u32 = 0x0400_0000; // pub const IN_MASK_CREATE: u32 = 0x1000_0000; // pub const IN_MASK_ADD: u32 = 0x2000_0000; pub const IN_ISDIR: u32 = 0x4000_0000; pub const IN_ONESHOT: u32 = 0x8000_0000; pub const IN_ALL_EVENTS: u32 = (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF | IN_MOVE_SELF); pub const IN_CLOEXEC: ::c_int = O_CLOEXEC; pub const IN_NONBLOCK: ::c_int = O_NONBLOCK; pub const FUTEX_WAIT: ::c_int = 0; pub const FUTEX_WAKE: ::c_int = 1; pub const FUTEX_FD: ::c_int = 2; pub const FUTEX_REQUEUE: ::c_int = 3; pub const FUTEX_CMP_REQUEUE: ::c_int = 4; pub const FUTEX_WAKE_OP: ::c_int = 5; pub const FUTEX_LOCK_PI: ::c_int = 6; pub const FUTEX_UNLOCK_PI: ::c_int = 7; pub const FUTEX_TRYLOCK_PI: ::c_int = 8; pub const FUTEX_WAIT_BITSET: ::c_int = 9; pub const FUTEX_WAKE_BITSET: ::c_int = 10; pub const FUTEX_WAIT_REQUEUE_PI: ::c_int = 11; pub const FUTEX_CMP_REQUEUE_PI: ::c_int = 12; pub const FUTEX_PRIVATE_FLAG: ::c_int = 128; pub const FUTEX_CLOCK_REALTIME: ::c_int = 256; pub const FUTEX_CMD_MASK: ::c_int = !(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME); f! { pub fn NLA_ALIGN(len: ::c_int) -> ::c_int { return ((len) + NLA_ALIGNTO - 1) & !(NLA_ALIGNTO - 1) } pub fn CMSG_NXTHDR(mhdr: *const msghdr, cmsg: *const cmsghdr) -> *mut cmsghdr { if ((*cmsg).cmsg_len as usize) < ::mem::size_of::() { return 0 as *mut cmsghdr; }; let next = (cmsg as usize + super::CMSG_ALIGN((*cmsg).cmsg_len as usize)) as *mut cmsghdr; let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if (next.offset(1)) as usize > max || next as usize + super::CMSG_ALIGN((*next).cmsg_len as usize) > max { 0 as *mut cmsghdr } else { next as *mut cmsghdr } } pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () { for slot in cpuset.bits.iter_mut() { *slot = 0; } } 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); 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); 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); 0 != (cpuset.bits[idx] & (1 << offset)) } pub fn CPU_EQUAL(set1: &cpu_set_t, set2: &cpu_set_t) -> bool { set1.bits == set2.bits } pub fn major(dev: ::dev_t) -> ::c_uint { let mut major = 0; major |= (dev & 0x00000000000fff00) >> 8; major |= (dev & 0xfffff00000000000) >> 32; major as ::c_uint } pub fn minor(dev: ::dev_t) -> ::c_uint { let mut minor = 0; minor |= (dev & 0x00000000000000ff) >> 0; minor |= (dev & 0x00000ffffff00000) >> 12; minor as ::c_uint } pub fn makedev(major: ::c_uint, minor: ::c_uint) -> ::dev_t { let major = major as ::dev_t; let minor = minor as ::dev_t; let mut dev = 0; dev |= (major & 0x00000fff) << 8; dev |= (major & 0xfffff000) << 32; dev |= (minor & 0x000000ff) << 0; dev |= (minor & 0xffffff00) << 12; dev } pub fn IPTOS_TOS(tos: u8) -> u8 { tos & IPTOS_TOS_MASK } pub fn IPTOS_PREC(tos: u8) -> u8 { tos & IPTOS_PREC_MASK } pub fn RT_TOS(tos: u8) -> u8 { tos & ::IPTOS_TOS_MASK } pub fn RT_ADDRCLASS(flags: u32) -> u32 { flags >> 23 } pub fn RT_LOCALADDR(flags: u32) -> bool { (flags & RTF_ADDRCLASSMASK) == (RTF_LOCAL | RTF_INTERFACE) } } extern "C" { #[cfg_attr(not(target_env = "musl"), link_name = "__xpg_strerror_r")] pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::c_int; pub fn abs(i: ::c_int) -> ::c_int; pub fn atof(s: *const ::c_char) -> ::c_double; pub fn labs(i: ::c_long) -> ::c_long; pub fn rand() -> ::c_int; pub fn srand(seed: ::c_uint); pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int; pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int; pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int; pub fn aio_error(aiocbp: *const aiocb) -> ::c_int; pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t; pub fn aio_suspend( aiocb_list: *const *const aiocb, nitems: ::c_int, timeout: *const ::timespec, ) -> ::c_int; pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int; pub fn lio_listio( mode: ::c_int, aiocb_list: *const *mut aiocb, nitems: ::c_int, sevp: *mut ::sigevent, ) -> ::c_int; pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int; pub fn setpwent(); pub fn endpwent(); pub fn getpwent() -> *mut passwd; pub fn setgrent(); pub fn endgrent(); pub fn getgrent() -> *mut ::group; pub fn setspent(); pub fn endspent(); pub fn getspent() -> *mut spwd; pub fn getspnam(__name: *const ::c_char) -> *mut spwd; pub fn shm_open( name: *const c_char, oflag: ::c_int, mode: mode_t, ) -> ::c_int; // System V IPC 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 ftok(pathname: *const ::c_char, proj_id: ::c_int) -> ::key_t; pub fn semget(key: ::key_t, nsems: ::c_int, semflag: ::c_int) -> ::c_int; pub fn semop( semid: ::c_int, sops: *mut ::sembuf, nsops: ::size_t, ) -> ::c_int; pub fn semctl( semid: ::c_int, semnum: ::c_int, cmd: ::c_int, ... ) -> ::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 msgrcv( msqid: ::c_int, msgp: *mut ::c_void, msgsz: ::size_t, msgtyp: ::c_long, msgflg: ::c_int, ) -> ::ssize_t; pub fn msgsnd( msqid: ::c_int, msgp: *const ::c_void, msgsz: ::size_t, msgflg: ::c_int, ) -> ::c_int; pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn __errno_location() -> *mut ::c_int; pub fn fopen64( filename: *const c_char, mode: *const c_char, ) -> *mut ::FILE; pub fn freopen64( filename: *const c_char, mode: *const c_char, file: *mut ::FILE, ) -> *mut ::FILE; pub fn tmpfile64() -> *mut ::FILE; pub fn fgetpos64(stream: *mut ::FILE, ptr: *mut fpos64_t) -> ::c_int; pub fn fsetpos64(stream: *mut ::FILE, ptr: *const fpos64_t) -> ::c_int; pub fn fseeko64( stream: *mut ::FILE, offset: ::off64_t, whence: ::c_int, ) -> ::c_int; pub fn ftello64(stream: *mut ::FILE) -> ::off64_t; pub fn fallocate( fd: ::c_int, mode: ::c_int, offset: ::off_t, len: ::off_t, ) -> ::c_int; pub fn fallocate64( fd: ::c_int, mode: ::c_int, offset: ::off64_t, len: ::off64_t, ) -> ::c_int; pub fn posix_fallocate( fd: ::c_int, offset: ::off_t, len: ::off_t, ) -> ::c_int; pub fn posix_fallocate64( fd: ::c_int, offset: ::off64_t, len: ::off64_t, ) -> ::c_int; pub fn readahead( fd: ::c_int, offset: ::off64_t, count: ::size_t, ) -> ::ssize_t; 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, flags: ::c_int, ) -> ::c_int; pub fn lsetxattr( path: *const c_char, name: *const c_char, value: *const ::c_void, size: ::size_t, flags: ::c_int, ) -> ::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(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: ::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, flags: ::c_int, new_value: *const itimerspec, old_value: *mut itimerspec, ) -> ::c_int; pub fn pwritev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn preadv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn quotactl( cmd: ::c_int, special: *const ::c_char, id: ::c_int, data: *mut ::c_char, ) -> ::c_int; pub fn mq_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::mqd_t; pub fn mq_close(mqd: ::mqd_t) -> ::c_int; pub fn mq_unlink(name: *const ::c_char) -> ::c_int; pub fn mq_receive( mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msg_prio: *mut ::c_uint, ) -> ::ssize_t; pub fn mq_timedreceive( mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msg_prio: *mut ::c_uint, abs_timeout: *const ::timespec, ) -> ::ssize_t; pub fn mq_send( mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msg_prio: ::c_uint, ) -> ::c_int; pub fn mq_timedsend( mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msg_prio: ::c_uint, abs_timeout: *const ::timespec, ) -> ::c_int; pub fn mq_getattr(mqd: ::mqd_t, attr: *mut ::mq_attr) -> ::c_int; pub fn mq_setattr( mqd: ::mqd_t, newattr: *const ::mq_attr, oldattr: *mut ::mq_attr, ) -> ::c_int; pub fn epoll_pwait( epfd: ::c_int, events: *mut ::epoll_event, maxevents: ::c_int, timeout: ::c_int, sigmask: *const ::sigset_t, ) -> ::c_int; pub fn dup3(oldfd: ::c_int, newfd: ::c_int, flags: ::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; pub fn sigtimedwait( set: *const sigset_t, info: *mut siginfo_t, timeout: *const ::timespec, ) -> ::c_int; pub fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::c_int; pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::socklen_t, serv: *mut ::c_char, sevlen: ::socklen_t, flags: ::c_int, ) -> ::c_int; pub fn pthread_setschedprio( native: ::pthread_t, priority: ::c_int, ) -> ::c_int; pub fn getloadavg(loadavg: *mut ::c_double, nelem: ::c_int) -> ::c_int; pub fn process_vm_readv( pid: ::pid_t, local_iov: *const ::iovec, liovcnt: ::c_ulong, remote_iov: *const ::iovec, riovcnt: ::c_ulong, flags: ::c_ulong, ) -> isize; pub fn process_vm_writev( pid: ::pid_t, local_iov: *const ::iovec, liovcnt: ::c_ulong, remote_iov: *const ::iovec, riovcnt: ::c_ulong, flags: ::c_ulong, ) -> isize; pub fn reboot(how_to: ::c_int) -> ::c_int; pub fn setfsgid(gid: ::gid_t) -> ::c_int; pub fn setfsuid(uid: ::uid_t) -> ::c_int; // Not available now on Android pub fn mkfifoat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, ) -> ::c_int; pub fn if_nameindex() -> *mut if_nameindex; pub fn if_freenameindex(ptr: *mut if_nameindex); pub fn sync_file_range( fd: ::c_int, offset: ::off64_t, nbytes: ::off64_t, flags: ::c_uint, ) -> ::c_int; pub fn mremap( addr: *mut ::c_void, len: ::size_t, new_len: ::size_t, flags: ::c_int, ... ) -> *mut ::c_void; pub fn glob( pattern: *const c_char, flags: ::c_int, errfunc: ::Option< extern "C" fn(epath: *const c_char, errno: ::c_int) -> ::c_int, >, pglob: *mut ::glob_t, ) -> ::c_int; pub fn globfree(pglob: *mut ::glob_t); pub fn posix_madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn shm_unlink(name: *const ::c_char) -> ::c_int; pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long); pub fn telldir(dirp: *mut ::DIR) -> ::c_long; pub fn madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn msync( addr: *mut ::c_void, len: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn remap_file_pages( addr: *mut ::c_void, size: ::size_t, prot: ::c_int, pgoff: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn recvfrom( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::ssize_t; pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int; pub fn futimes(fd: ::c_int, times: *const ::timeval) -> ::c_int; pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char; pub fn getdomainname(name: *mut ::c_char, len: ::size_t) -> ::c_int; pub fn setdomainname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn vhangup() -> ::c_int; pub fn sync(); 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; pub fn sched_setaffinity( pid: ::pid_t, cpusetsize: ::size_t, cpuset: *const cpu_set_t, ) -> ::c_int; pub fn epoll_create(size: ::c_int) -> ::c_int; pub fn epoll_create1(flags: ::c_int) -> ::c_int; pub fn epoll_wait( epfd: ::c_int, events: *mut ::epoll_event, maxevents: ::c_int, timeout: ::c_int, ) -> ::c_int; pub fn epoll_ctl( epfd: ::c_int, op: ::c_int, fd: ::c_int, event: *mut ::epoll_event, ) -> ::c_int; pub fn pthread_getschedparam( native: ::pthread_t, policy: *mut ::c_int, param: *mut ::sched_param, ) -> ::c_int; pub fn unshare(flags: ::c_int) -> ::c_int; pub fn umount(target: *const ::c_char) -> ::c_int; pub fn sched_get_priority_max(policy: ::c_int) -> ::c_int; pub fn tee( fd_in: ::c_int, fd_out: ::c_int, len: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn settimeofday( tv: *const ::timeval, tz: *const ::timezone, ) -> ::c_int; pub fn splice( fd_in: ::c_int, off_in: *mut ::loff_t, fd_out: ::c_int, off_out: *mut ::loff_t, len: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int; pub fn sched_rr_get_interval(pid: ::pid_t, tp: *mut ::timespec) -> ::c_int; pub fn sem_timedwait( sem: *mut sem_t, abstime: *const ::timespec, ) -> ::c_int; pub fn sem_getvalue(sem: *mut sem_t, sval: *mut ::c_int) -> ::c_int; pub fn sched_setparam( pid: ::pid_t, param: *const ::sched_param, ) -> ::c_int; pub fn setns(fd: ::c_int, nstype: ::c_int) -> ::c_int; pub fn swapoff(puath: *const ::c_char) -> ::c_int; pub fn vmsplice( fd: ::c_int, iov: *const ::iovec, nr_segs: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn mount( src: *const ::c_char, target: *const ::c_char, fstype: *const ::c_char, flags: ::c_ulong, data: *const ::c_void, ) -> ::c_int; pub fn personality(persona: ::c_ulong) -> ::c_int; pub fn prctl(option: ::c_int, ...) -> ::c_int; pub fn sched_getparam(pid: ::pid_t, param: *mut ::sched_param) -> ::c_int; pub fn ppoll( fds: *mut ::pollfd, nfds: nfds_t, timeout: *const ::timespec, sigmask: *const sigset_t, ) -> ::c_int; pub fn pthread_mutex_timedlock( lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn clone( cb: extern "C" fn(*mut ::c_void) -> ::c_int, child_stack: *mut ::c_void, flags: ::c_int, arg: *mut ::c_void, ... ) -> ::c_int; pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int; pub fn clock_nanosleep( clk_id: ::clockid_t, flags: ::c_int, rqtp: *const ::timespec, rmtp: *mut ::timespec, ) -> ::c_int; pub fn pthread_attr_getguardsize( attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int; pub fn pthread_condattr_getpshared( attr: *const pthread_condattr_t, pshared: *mut ::c_int, ) -> ::c_int; pub fn sysinfo(info: *mut ::sysinfo) -> ::c_int; pub fn umount2(target: *const ::c_char, flags: ::c_int) -> ::c_int; pub fn pthread_setschedparam( native: ::pthread_t, policy: ::c_int, param: *const ::sched_param, ) -> ::c_int; pub fn swapon(path: *const ::c_char, swapflags: ::c_int) -> ::c_int; pub fn sched_setscheduler( pid: ::pid_t, policy: ::c_int, param: *const ::sched_param, ) -> ::c_int; pub fn sendfile( out_fd: ::c_int, in_fd: ::c_int, offset: *mut off_t, count: ::size_t, ) -> ::ssize_t; pub fn sigsuspend(mask: *const ::sigset_t) -> ::c_int; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")] pub fn getgrgid_r( gid: ::gid_t, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigaltstack$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")] 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; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")] pub fn getgrnam_r( name: *const ::c_char, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; pub fn initgroups(user: *const ::c_char, group: ::gid_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_sigmask$UNIX2003" )] 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_cancel(thread: ::pthread_t) -> ::c_int; pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::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(target_os = "netbsd", link_name = "__getpwnam_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")] pub fn getpwnam_r( name: *const ::c_char, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")] pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigwait$UNIX2003" )] #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")] pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int; pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; pub fn getgrgid(gid: ::gid_t) -> *mut ::group; pub fn getgrouplist( user: *const ::c_char, group: ::gid_t, groups: *mut ::gid_t, ngroups: *mut ::c_int, ) -> ::c_int; pub fn pthread_mutexattr_getpshared( attr: *const pthread_mutexattr_t, pshared: *mut ::c_int, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "popen$UNIX2003" )] pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE; pub fn faccessat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::c_int, flags: ::c_int, ) -> ::c_int; 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 dl_iterate_phdr( callback: ::Option< unsafe extern "C" fn( info: *mut ::dl_phdr_info, size: ::size_t, data: *mut ::c_void, ) -> ::c_int, >, data: *mut ::c_void, ) -> ::c_int; pub fn setmntent( filename: *const ::c_char, ty: *const ::c_char, ) -> *mut ::FILE; pub fn getmntent(stream: *mut ::FILE) -> *mut ::mntent; pub fn addmntent(stream: *mut ::FILE, mnt: *const ::mntent) -> ::c_int; pub fn endmntent(streamp: *mut ::FILE) -> ::c_int; pub fn hasmntopt( mnt: *const ::mntent, opt: *const ::c_char, ) -> *mut ::c_char; 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; pub fn fread_unlocked( ptr: *mut ::c_void, size: ::size_t, nobj: ::size_t, stream: *mut ::FILE, ) -> ::size_t; pub fn inotify_rm_watch(fd: ::c_int, wd: ::c_int) -> ::c_int; pub fn inotify_init() -> ::c_int; pub fn inotify_init1(flags: ::c_int) -> ::c_int; pub fn inotify_add_watch( fd: ::c_int, path: *const ::c_char, mask: u32, ) -> ::c_int; } cfg_if! { if #[cfg(target_env = "musl")] { mod musl; pub use self::musl::*; } else if #[cfg(target_env = "gnu")] { mod gnu; pub use self::gnu::*; } } cfg_if! { if #[cfg(libc_align)] { #[macro_use] mod align; } else { #[macro_use] mod no_align; } } expand_align!(); libc-0.2.66/src/unix/linux_like/linux/musl/b32/arm/align.rs010064400007650000024000000002261355140103400215720ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(8))] pub struct max_align_t { priv_: (i64, i64) } } libc-0.2.66/src/unix/linux_like/linux/musl/b32/arm/mod.rs010064400007650000024000000722531357020644200212770ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; s! { pub struct stat { pub st_dev: ::dev_t, __st_dev_padding: ::c_int, __st_ino_truncated: ::c_long, 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, __st_rdev_padding: ::c_int, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, pub st_ino: ::ino_t, } pub struct stat64 { pub st_dev: ::dev_t, __st_dev_padding: ::c_int, __st_ino_truncated: ::c_long, 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, __st_rdev_padding: ::c_int, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, pub st_ino: ::ino_t, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_int, __unused1: ::c_long, __unused2: ::c_long } pub struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_segsz: ::size_t, pub shm_atime: ::time_t, __unused1: ::c_int, pub shm_dtime: ::time_t, __unused2: ::c_int, pub shm_ctime: ::time_t, __unused3: ::c_int, pub shm_cpid: ::pid_t, pub shm_lpid: ::pid_t, pub shm_nattch: ::c_ulong, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, __unused1: ::c_int, pub msg_rtime: ::time_t, __unused2: ::c_int, pub msg_ctime: ::time_t, __unused3: ::c_int, __msg_cbytes: ::c_ulong, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct statfs { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub _pad: [::c_int; 29], _align: [usize; 0], } pub struct statfs64 { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, 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 const SIGSTKSZ: ::size_t = 8192; pub const MINSIGSTKSZ: ::size_t = 2048; pub const O_DIRECT: ::c_int = 0x10000; pub const O_DIRECTORY: ::c_int = 0x4000; 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 MADV_SOFT_OFFLINE: ::c_int = 101; 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 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 SOCK_NONBLOCK: ::c_int = 2048; 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 SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOL_SOCKET: ::c_int = 1; 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 EDEADLOCK: ::c_int = EDEADLK; pub const EMULTIHOP: ::c_int = 72; 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 ENOTSUP: ::c_int = EOPNOTSUPP; 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 ERFKILL: ::c_int = 132; pub const EHWPOISON: ::c_int = 133; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; 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 EXTPROC: ::tcflag_t = 0x00010000; pub const MAP_HUGETLB: ::c_int = 0x040000; pub const F_GETLK: ::c_int = 12; pub const F_GETOWN: ::c_int = 9; pub const F_SETLK: ::c_int = 13; pub const F_SETLKW: ::c_int = 14; pub const F_SETOWN: ::c_int = 8; pub const VEOF: usize = 4; 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 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; 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_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_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_lseek: ::c_long = 19; pub const SYS_getpid: ::c_long = 20; pub const SYS_mount: ::c_long = 21; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_ptrace: ::c_long = 26; pub const SYS_pause: ::c_long = 29; 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_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_getrusage: ::c_long = 77; pub const SYS_gettimeofday: ::c_long = 78; pub const SYS_settimeofday: ::c_long = 79; pub const SYS_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_symlink: ::c_long = 83; 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_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_fchown: ::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_syslog: ::c_long = 103; pub const SYS_setitimer: ::c_long = 104; pub const SYS_getitimer: ::c_long = 105; pub const SYS_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::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_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_uname: ::c_long = 122; pub const SYS_adjtimex: ::c_long = 124; pub const SYS_mprotect: ::c_long = 125; pub const SYS_sigprocmask: ::c_long = 126; pub const SYS_init_module: ::c_long = 128; pub const SYS_delete_module: ::c_long = 129; 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_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; pub const SYS__newselect: ::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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_poll: ::c_long = 168; pub const SYS_nfsservctl: ::c_long = 169; pub const SYS_setresgid: ::c_long = 170; pub const SYS_getresgid: ::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: ::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_chown: ::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_vfork: ::c_long = 190; pub const SYS_ugetrlimit: ::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_lchown32: ::c_long = 198; pub const SYS_getuid32: ::c_long = 199; pub const SYS_getgid32: ::c_long = 200; pub const SYS_geteuid32: ::c_long = 201; pub const SYS_getegid32: ::c_long = 202; pub const SYS_setreuid32: ::c_long = 203; pub const SYS_setregid32: ::c_long = 204; pub const SYS_getgroups32: ::c_long = 205; pub const SYS_setgroups32: ::c_long = 206; pub const SYS_fchown32: ::c_long = 207; pub const SYS_setresuid32: ::c_long = 208; pub const SYS_getresuid32: ::c_long = 209; pub const SYS_setresgid32: ::c_long = 210; pub const SYS_getresgid32: ::c_long = 211; pub const SYS_chown32: ::c_long = 212; pub const SYS_setuid32: ::c_long = 213; pub const SYS_setgid32: ::c_long = 214; pub const SYS_setfsuid32: ::c_long = 215; pub const SYS_setfsgid32: ::c_long = 216; pub const SYS_getdents64: ::c_long = 217; pub const SYS_pivot_root: ::c_long = 218; pub const SYS_mincore: ::c_long = 219; pub const SYS_madvise: ::c_long = 220; pub const SYS_fcntl64: ::c_long = 221; pub const SYS_gettid: ::c_long = 224; pub const SYS_readahead: ::c_long = 225; pub const SYS_setxattr: ::c_long = 226; pub const SYS_lsetxattr: ::c_long = 227; pub const SYS_fsetxattr: ::c_long = 228; pub const SYS_getxattr: ::c_long = 229; pub const SYS_lgetxattr: ::c_long = 230; pub const SYS_fgetxattr: ::c_long = 231; pub const SYS_listxattr: ::c_long = 232; pub const SYS_llistxattr: ::c_long = 233; pub const SYS_flistxattr: ::c_long = 234; pub const SYS_removexattr: ::c_long = 235; pub const SYS_lremovexattr: ::c_long = 236; pub const SYS_fremovexattr: ::c_long = 237; pub const SYS_tkill: ::c_long = 238; pub const SYS_sendfile64: ::c_long = 239; pub const SYS_futex: ::c_long = 240; pub const SYS_sched_setaffinity: ::c_long = 241; pub const SYS_sched_getaffinity: ::c_long = 242; pub const SYS_io_setup: ::c_long = 243; pub const SYS_io_destroy: ::c_long = 244; pub const SYS_io_getevents: ::c_long = 245; pub const SYS_io_submit: ::c_long = 246; pub const SYS_io_cancel: ::c_long = 247; pub const SYS_exit_group: ::c_long = 248; pub const SYS_lookup_dcookie: ::c_long = 249; pub const SYS_epoll_create: ::c_long = 250; pub const SYS_epoll_ctl: ::c_long = 251; pub const SYS_epoll_wait: ::c_long = 252; pub const SYS_remap_file_pages: ::c_long = 253; pub const SYS_set_tid_address: ::c_long = 256; pub const SYS_timer_create: ::c_long = 257; pub const SYS_timer_settime: ::c_long = 258; pub const SYS_timer_gettime: ::c_long = 259; pub const SYS_timer_getoverrun: ::c_long = 260; pub const SYS_timer_delete: ::c_long = 261; pub const SYS_clock_settime: ::c_long = 262; pub const SYS_clock_gettime: ::c_long = 263; pub const SYS_clock_getres: ::c_long = 264; pub const SYS_clock_nanosleep: ::c_long = 265; pub const SYS_statfs64: ::c_long = 266; pub const SYS_fstatfs64: ::c_long = 267; pub const SYS_tgkill: ::c_long = 268; pub const SYS_utimes: ::c_long = 269; pub const SYS_pciconfig_iobase: ::c_long = 271; pub const SYS_pciconfig_read: ::c_long = 272; pub const SYS_pciconfig_write: ::c_long = 273; pub const SYS_mq_open: ::c_long = 274; pub const SYS_mq_unlink: ::c_long = 275; pub const SYS_mq_timedsend: ::c_long = 276; pub const SYS_mq_timedreceive: ::c_long = 277; pub const SYS_mq_notify: ::c_long = 278; pub const SYS_mq_getsetattr: ::c_long = 279; pub const SYS_waitid: ::c_long = 280; pub const SYS_socket: ::c_long = 281; pub const SYS_bind: ::c_long = 282; pub const SYS_connect: ::c_long = 283; pub const SYS_listen: ::c_long = 284; pub const SYS_accept: ::c_long = 285; pub const SYS_getsockname: ::c_long = 286; pub const SYS_getpeername: ::c_long = 287; pub const SYS_socketpair: ::c_long = 288; pub const SYS_send: ::c_long = 289; pub const SYS_sendto: ::c_long = 290; pub const SYS_recv: ::c_long = 291; pub const SYS_recvfrom: ::c_long = 292; pub const SYS_shutdown: ::c_long = 293; pub const SYS_setsockopt: ::c_long = 294; pub const SYS_getsockopt: ::c_long = 295; pub const SYS_sendmsg: ::c_long = 296; pub const SYS_recvmsg: ::c_long = 297; pub const SYS_semop: ::c_long = 298; pub const SYS_semget: ::c_long = 299; pub const SYS_semctl: ::c_long = 300; pub const SYS_msgsnd: ::c_long = 301; pub const SYS_msgrcv: ::c_long = 302; pub const SYS_msgget: ::c_long = 303; pub const SYS_msgctl: ::c_long = 304; pub const SYS_shmat: ::c_long = 305; pub const SYS_shmdt: ::c_long = 306; pub const SYS_shmget: ::c_long = 307; pub const SYS_shmctl: ::c_long = 308; pub const SYS_add_key: ::c_long = 309; pub const SYS_request_key: ::c_long = 310; pub const SYS_keyctl: ::c_long = 311; pub const SYS_semtimedop: ::c_long = 312; pub const SYS_vserver: ::c_long = 313; pub const SYS_ioprio_set: ::c_long = 314; pub const SYS_ioprio_get: ::c_long = 315; pub const SYS_inotify_init: ::c_long = 316; pub const SYS_inotify_add_watch: ::c_long = 317; pub const SYS_inotify_rm_watch: ::c_long = 318; pub const SYS_mbind: ::c_long = 319; pub const SYS_get_mempolicy: ::c_long = 320; pub const SYS_set_mempolicy: ::c_long = 321; pub const SYS_openat: ::c_long = 322; pub const SYS_mkdirat: ::c_long = 323; pub const SYS_mknodat: ::c_long = 324; pub const SYS_fchownat: ::c_long = 325; pub const SYS_futimesat: ::c_long = 326; pub const SYS_fstatat64: ::c_long = 327; pub const SYS_unlinkat: ::c_long = 328; pub const SYS_renameat: ::c_long = 329; pub const SYS_linkat: ::c_long = 330; pub const SYS_symlinkat: ::c_long = 331; pub const SYS_readlinkat: ::c_long = 332; pub const SYS_fchmodat: ::c_long = 333; pub const SYS_faccessat: ::c_long = 334; pub const SYS_pselect6: ::c_long = 335; pub const SYS_ppoll: ::c_long = 336; pub const SYS_unshare: ::c_long = 337; pub const SYS_set_robust_list: ::c_long = 338; pub const SYS_get_robust_list: ::c_long = 339; pub const SYS_splice: ::c_long = 340; pub const SYS_tee: ::c_long = 342; pub const SYS_vmsplice: ::c_long = 343; pub const SYS_move_pages: ::c_long = 344; pub const SYS_getcpu: ::c_long = 345; pub const SYS_epoll_pwait: ::c_long = 346; pub const SYS_kexec_load: ::c_long = 347; pub const SYS_utimensat: ::c_long = 348; pub const SYS_signalfd: ::c_long = 349; pub const SYS_timerfd_create: ::c_long = 350; pub const SYS_eventfd: ::c_long = 351; pub const SYS_fallocate: ::c_long = 352; pub const SYS_timerfd_settime: ::c_long = 353; pub const SYS_timerfd_gettime: ::c_long = 354; pub const SYS_signalfd4: ::c_long = 355; pub const SYS_eventfd2: ::c_long = 356; pub const SYS_epoll_create1: ::c_long = 357; pub const SYS_dup3: ::c_long = 358; pub const SYS_pipe2: ::c_long = 359; pub const SYS_inotify_init1: ::c_long = 360; pub const SYS_preadv: ::c_long = 361; pub const SYS_pwritev: ::c_long = 362; pub const SYS_rt_tgsigqueueinfo: ::c_long = 363; pub const SYS_perf_event_open: ::c_long = 364; pub const SYS_recvmmsg: ::c_long = 365; pub const SYS_accept4: ::c_long = 366; pub const SYS_fanotify_init: ::c_long = 367; pub const SYS_fanotify_mark: ::c_long = 368; pub const SYS_prlimit64: ::c_long = 369; pub const SYS_name_to_handle_at: ::c_long = 370; pub const SYS_open_by_handle_at: ::c_long = 371; pub const SYS_clock_adjtime: ::c_long = 372; pub const SYS_syncfs: ::c_long = 373; pub const SYS_sendmmsg: ::c_long = 374; pub const SYS_setns: ::c_long = 375; pub const SYS_process_vm_readv: ::c_long = 376; pub const SYS_process_vm_writev: ::c_long = 377; pub const SYS_kcmp: ::c_long = 378; pub const SYS_finit_module: ::c_long = 379; pub const SYS_sched_setattr: ::c_long = 380; pub const SYS_sched_getattr: ::c_long = 381; pub const SYS_renameat2: ::c_long = 382; pub const SYS_seccomp: ::c_long = 383; pub const SYS_getrandom: ::c_long = 384; pub const SYS_memfd_create: ::c_long = 385; pub const SYS_bpf: ::c_long = 386; pub const SYS_execveat: ::c_long = 387; pub const SYS_userfaultfd: ::c_long = 388; pub const SYS_membarrier: ::c_long = 389; pub const SYS_mlock2: ::c_long = 390; pub const SYS_copy_file_range: ::c_long = 391; pub const SYS_preadv2: ::c_long = 392; 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_long = 397; extern "C" { pub fn getrandom( buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint, ) -> ::ssize_t; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/musl/b32/hexagon.rs010064400007650000024000000700701357020644200213650ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; pub type stat64 = ::stat; s! { pub struct stat { pub st_dev: ::dev_t, pub st_ino: ::c_ulonglong, pub st_mode: ::c_uint, pub st_nlink: ::c_uint, pub st_uid: ::c_uint, pub st_gid: ::c_uint, pub st_rdev: ::c_ulonglong, __st_rdev_padding: ::c_ulong, pub st_size: ::c_longlong, pub st_blksize: ::blksize_t, __st_blksize_padding: ::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 stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_ushort, } pub struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_segsz: ::size_t, pub shm_atime: ::time_t, __unused1: ::c_int, pub shm_dtime: ::time_t, __unused2: ::c_int, pub shm_ctime: ::time_t, __unused3: ::c_int, pub shm_cpid: ::pid_t, pub shm_lpid: ::pid_t, pub shm_nattch: ::c_ulong, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, __unused1: ::c_int, pub msg_rtime: ::time_t, __unused2: ::c_int, pub msg_ctime: ::time_t, __unused3: ::c_int, __msg_cbytes: ::c_ulong, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct statfs { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub _pad: [::c_int; 29], _align: [usize; 0], } pub struct statfs64 { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, 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 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; pub const AF_KCM: ::c_int = 41; pub const AF_MAX: ::c_int = 43; pub const AF_QIPCRTR: ::c_int = 42; pub const EADDRINUSE: ::c_int = 98; pub const EADDRNOTAVAIL: ::c_int = 99; pub const EAFNOSUPPORT: ::c_int = 97; pub const EALREADY: ::c_int = 114; pub const EBADE: ::c_int = 52; pub const EBADMSG: ::c_int = 74; pub const EBADR: ::c_int = 53; pub const EBADRQC: ::c_int = 56; pub const EBADSLT: ::c_int = 57; pub const ECANCELED: ::c_int = 125; pub const ECHRNG: ::c_int = 44; pub const ECONNABORTED: ::c_int = 103; pub const ECONNREFUSED: ::c_int = 111; pub const ECONNRESET: ::c_int = 104; pub const EDEADLK: ::c_int = 35; pub const EDEADLOCK: ::c_int = 35; pub const EDESTADDRREQ: ::c_int = 89; pub const EDQUOT: ::c_int = 122; pub const EHOSTDOWN: ::c_int = 112; pub const EHOSTUNREACH: ::c_int = 113; pub const EHWPOISON: ::c_int = 133; pub const EIDRM: ::c_int = 43; pub const EILSEQ: ::c_int = 84; pub const EINPROGRESS: ::c_int = 115; pub const EISCONN: ::c_int = 106; pub const EISNAM: ::c_int = 120; pub const EKEYEXPIRED: ::c_int = 127; pub const EKEYREJECTED: ::c_int = 129; pub const EKEYREVOKED: ::c_int = 128; pub const EL2HLT: ::c_int = 51; pub const EL2NSYNC: ::c_int = 45; pub const EL3HLT: ::c_int = 46; pub const EL3RST: ::c_int = 47; pub const ELIBACC: ::c_int = 79; pub const ELIBBAD: ::c_int = 80; pub const ELIBEXEC: ::c_int = 83; pub const ELIBMAX: ::c_int = 82; pub const ELIBSCN: ::c_int = 81; pub const ELNRNG: ::c_int = 48; pub const ELOOP: ::c_int = 40; pub const EMEDIUMTYPE: ::c_int = 124; pub const EMSGSIZE: ::c_int = 90; pub const EMULTIHOP: ::c_int = 72; pub const ENAMETOOLONG: ::c_int = 36; pub const ENAVAIL: ::c_int = 119; pub const ENETDOWN: ::c_int = 100; pub const ENETRESET: ::c_int = 102; pub const ENETUNREACH: ::c_int = 101; pub const ENOANO: ::c_int = 55; pub const ENOBUFS: ::c_int = 105; pub const ENOCSI: ::c_int = 50; pub const ENOKEY: ::c_int = 126; pub const ENOLCK: ::c_int = 37; pub const ENOMEDIUM: ::c_int = 123; pub const ENOMSG: ::c_int = 42; pub const ENOPROTOOPT: ::c_int = 92; pub const ENOSYS: ::c_int = 38; pub const ENOTCONN: ::c_int = 107; pub const ENOTEMPTY: ::c_int = 39; pub const ENOTNAM: ::c_int = 118; pub const ENOTRECOVERABLE: ::c_int = 131; pub const ENOTSOCK: ::c_int = 88; pub const ENOTSUP: ::c_int = 95; pub const ENOTUNIQ: ::c_int = 76; pub const EOPNOTSUPP: ::c_int = 95; pub const EOVERFLOW: ::c_int = 75; pub const EOWNERDEAD: ::c_int = 130; pub const EPFNOSUPPORT: ::c_int = 96; pub const EREMCHG: ::c_int = 78; pub const ERESTART: ::c_int = 85; pub const ERFKILL: ::c_int = 132; pub const ESHUTDOWN: ::c_int = 108; pub const ESOCKTNOSUPPORT: ::c_int = 94; pub const ESTALE: ::c_int = 116; pub const ESTRPIPE: ::c_int = 86; pub const ETOOMANYREFS: ::c_int = 109; pub const EUCLEAN: ::c_int = 117; pub const EUNATCH: ::c_int = 49; pub const EUSERS: ::c_int = 87; pub const EXFULL: ::c_int = 54; pub const EXTPROC: ::c_int = 65536; pub const F_EXLCK: ::c_int = 4; pub const F_GETLK: ::c_int = 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; pub const F_OFD_SETLK: ::c_int = 37; pub const F_OFD_SETLKW: ::c_int = 38; pub const F_OWNER_PGRP: ::c_int = 2; pub const F_OWNER_PID: ::c_int = 1; pub const F_OWNER_TID: ::c_int = 0; pub const F_SETLK: ::c_int = 13; pub const F_SETLKW: ::c_int = 14; pub const F_SETOWN: ::c_int = 8; pub const F_SETOWN_EX: ::c_int = 15; pub const F_SETSIG: ::c_int = 10; pub const F_SHLCK: ::c_int = 8; pub const IEXTEN: ::c_int = 32768; pub const MAP_ANON: ::c_int = 32; pub const MAP_DENYWRITE: ::c_int = 2048; pub const MAP_EXECUTABLE: ::c_int = 4096; pub const MAP_GROWSDOWN: ::c_int = 256; pub const MAP_HUGE_MASK: ::c_int = 63; pub const MAP_HUGE_SHIFT: ::c_int = 26; pub const MAP_HUGETLB: ::c_int = 262144; pub const MAP_LOCKED: ::c_int = 8192; pub const MAP_NONBLOCK: ::c_int = 65536; pub const MAP_NORESERVE: ::c_int = 16384; pub const MAP_POPULATE: ::c_int = 32768; pub const MAP_STACK: ::c_int = 131072; pub const MAP_UNINITIALIZED: ::c_int = 0; pub const O_APPEND: ::c_int = 1024; pub const O_ASYNC: ::c_int = 8192; pub const O_CREAT: ::c_int = 64; pub const O_DIRECT: ::c_int = 16384; pub const O_DIRECTORY: ::c_int = 65536; pub const O_DSYNC: ::c_int = 4096; pub const O_EXCL: ::c_int = 128; pub const O_LARGEFILE: ::c_int = 32768; pub const O_NOCTTY: ::c_int = 256; pub const O_NOFOLLOW: ::c_int = 131072; pub const O_NONBLOCK: ::c_int = 2048; pub const O_SYNC: ::c_int = 1052672; pub const PF_FILE: ::c_int = 1; pub const PF_KCM: ::c_int = 41; pub const PF_MAX: ::c_int = 43; pub const PF_QIPCRTR: ::c_int = 42; pub const RLIMIT_AS: ::c_int = 9; pub const RLIMIT_MEMLOCK: ::c_int = 8; pub const RLIMIT_NOFILE: ::c_int = 7; pub const RLIMIT_NPROC: ::c_int = 6; pub const RLIMIT_RSS: ::c_int = 5; #[deprecated(since = "0.2.64", note = "Not stable across OS versions")] pub const RLIM_NLIMITS: ::c_int = 16; pub const SA_ONSTACK: ::c_int = 0x08000000; pub const SA_SIGINFO: ::c_int = 0x00000004; pub const SA_NOCLDWAIT: ::c_int = 0x00000002; pub const SIGBUS: ::c_int = 7; pub const SIGCHLD: ::c_int = 17; pub const SIGCONT: ::c_int = 18; pub const SIGIO: ::c_int = 29; pub const SIGPOLL: ::c_int = 29; pub const SIGPROF: ::c_int = 27; pub const SIGPWR: ::c_int = 30; pub const SIGSTKFLT: ::c_int = 16; pub const SIGSTOP: ::c_int = 19; pub const SIGSYS: ::c_int = 31; pub const SIGTSTP: ::c_int = 20; pub const SIGTTIN: ::c_int = 21; pub const SIGTTOU: ::c_int = 22; pub const SIGURG: ::c_int = 23; pub const SIGUSR1: ::c_int = 10; pub const SIGUSR2: ::c_int = 12; pub const SIGVTALRM: ::c_int = 26; pub const SIGWINCH: ::c_int = 28; pub const SIGXCPU: ::c_int = 24; pub const SIGXFSZ: ::c_int = 25; pub const SIG_SETMASK: ::c_int = 2; // FIXME check these pub const SIG_BLOCK: ::c_int = 0x000000; pub const SIG_UNBLOCK: ::c_int = 0x01; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_ATTACH_BPF: ::c_int = 50; pub const SO_ATTACH_FILTER: ::c_int = 26; pub const SO_ATTACH_REUSEPORT_CBPF: ::c_int = 51; pub const SO_ATTACH_REUSEPORT_EBPF: ::c_int = 52; pub const SO_BPF_EXTENSIONS: ::c_int = 48; pub const SO_BROADCAST: ::c_int = 6; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_NONBLOCK: ::c_int = 2048; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOCK_STREAM: ::c_int = 1; pub const SO_CNX_ADVICE: ::c_int = 53; pub const SO_DETACH_BPF: ::c_int = 27; pub const SO_DETACH_FILTER: ::c_int = 27; pub const SO_DOMAIN: ::c_int = 39; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_ERROR: ::c_int = 4; pub const SO_GET_FILTER: ::c_int = 26; pub const SO_INCOMING_CPU: ::c_int = 49; pub const SO_KEEPALIVE: ::c_int = 9; pub const SOL_CAIF: ::c_int = 278; pub const SO_LINGER: ::c_int = 13; pub const SOL_IUCV: ::c_int = 277; pub const SOL_KCM: ::c_int = 281; pub const SOL_NFC: ::c_int = 280; pub const SO_LOCK_FILTER: ::c_int = 44; pub const SOL_PNPIPE: ::c_int = 275; pub const SOL_PPPOL2TP: ::c_int = 273; pub const SOL_RDS: ::c_int = 276; pub const SOL_RXRPC: ::c_int = 272; pub const SOL_SOCKET: ::c_int = 1; pub const SO_MAX_PACING_RATE: ::c_int = 47; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_NOFCS: ::c_int = 43; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PASSSEC: ::c_int = 34; pub const SO_PEERCRED: ::c_int = 17; pub const SO_PEERNAME: ::c_int = 28; pub const SO_PEERSEC: ::c_int = 31; pub const SO_PRIORITY: ::c_int = 12; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_RCVBUF: ::c_int = 8; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22; pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24; pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23; pub const SO_SELECT_ERR_QUEUE: ::c_int = 45; pub const SO_SNDBUF: ::c_int = 7; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_TYPE: ::c_int = 3; pub const SO_WIFI_STATUS: ::c_int = 41; pub const SYS3264_fadvise64: ::c_int = 223; pub const SYS3264_fcntl: ::c_int = 25; pub const SYS3264_fstatat: ::c_int = 79; pub const SYS3264_fstat: ::c_int = 80; pub const SYS3264_fstatfs: ::c_int = 44; pub const SYS3264_ftruncate: ::c_int = 46; pub const SYS3264_lseek: ::c_int = 62; pub const SYS3264_lstat: ::c_int = 1039; pub const SYS3264_mmap: ::c_int = 222; pub const SYS3264_sendfile: ::c_int = 71; pub const SYS3264_stat: ::c_int = 1038; pub const SYS3264_statfs: ::c_int = 43; pub const SYS3264_truncate: ::c_int = 45; pub const SYS_accept4: ::c_int = 242; pub const SYS_accept: ::c_int = 202; pub const SYS_access: ::c_int = 1033; pub const SYS_acct: ::c_int = 89; pub const SYS_add_key: ::c_int = 217; pub const SYS_adjtimex: ::c_int = 171; pub const SYS_alarm: ::c_int = 1059; pub const SYS_arch_specific_syscall: ::c_int = 244; pub const SYS_bdflush: ::c_int = 1075; pub const SYS_bind: ::c_int = 200; pub const SYS_bpf: ::c_int = 280; pub const SYS_brk: ::c_int = 214; pub const SYS_capget: ::c_int = 90; pub const SYS_capset: ::c_int = 91; pub const SYS_chdir: ::c_int = 49; pub const SYS_chmod: ::c_int = 1028; pub const SYS_chown: ::c_int = 1029; pub const SYS_chroot: ::c_int = 51; pub const SYS_clock_adjtime: ::c_int = 266; pub const SYS_clock_getres: ::c_int = 114; pub const SYS_clock_gettime: ::c_int = 113; pub const SYS_clock_nanosleep: ::c_int = 115; pub const SYS_clock_settime: ::c_int = 112; pub const SYS_clone: ::c_int = 220; pub const SYS_close: ::c_int = 57; pub const SYS_connect: ::c_int = 203; pub const SYS_copy_file_range: ::c_int = -1; // FIXME pub const SYS_creat: ::c_int = 1064; pub const SYS_delete_module: ::c_int = 106; pub const SYS_dup2: ::c_int = 1041; pub const SYS_dup3: ::c_int = 24; pub const SYS_dup: ::c_int = 23; pub const SYS_epoll_create1: ::c_int = 20; pub const SYS_epoll_create: ::c_int = 1042; pub const SYS_epoll_ctl: ::c_int = 21; pub const SYS_epoll_pwait: ::c_int = 22; pub const SYS_epoll_wait: ::c_int = 1069; pub const SYS_eventfd2: ::c_int = 19; pub const SYS_eventfd: ::c_int = 1044; pub const SYS_execveat: ::c_int = 281; pub const SYS_execve: ::c_int = 221; pub const SYS_exit: ::c_int = 93; pub const SYS_exit_group: ::c_int = 94; pub const SYS_faccessat: ::c_int = 48; pub const SYS_fadvise64_64: ::c_int = 223; pub const SYS_fallocate: ::c_int = 47; pub const SYS_fanotify_init: ::c_int = 262; pub const SYS_fanotify_mark: ::c_int = 263; pub const SYS_fchdir: ::c_int = 50; pub const SYS_fchmodat: ::c_int = 53; pub const SYS_fchmod: ::c_int = 52; pub const SYS_fchownat: ::c_int = 54; pub const SYS_fchown: ::c_int = 55; pub const SYS_fcntl64: ::c_int = 25; pub const SYS_fcntl: ::c_int = 25; pub const SYS_fdatasync: ::c_int = 83; pub const SYS_fgetxattr: ::c_int = 10; pub const SYS_finit_module: ::c_int = 273; pub const SYS_flistxattr: ::c_int = 13; pub const SYS_flock: ::c_int = 32; pub const SYS_fork: ::c_int = 1079; pub const SYS_fremovexattr: ::c_int = 16; pub const SYS_fsetxattr: ::c_int = 7; pub const SYS_fstat64: ::c_int = 80; pub const SYS_fstatat64: ::c_int = 79; pub const SYS_fstatfs64: ::c_int = 44; pub const SYS_fstatfs: ::c_int = 44; pub const SYS_fsync: ::c_int = 82; pub const SYS_ftruncate64: ::c_int = 46; pub const SYS_ftruncate: ::c_int = 46; pub const SYS_futex: ::c_int = 98; pub const SYS_futimesat: ::c_int = 1066; pub const SYS_getcpu: ::c_int = 168; pub const SYS_getcwd: ::c_int = 17; pub const SYS_getdents64: ::c_int = 61; pub const SYS_getdents: ::c_int = 1065; pub const SYS_getegid: ::c_int = 177; pub const SYS_geteuid: ::c_int = 175; pub const SYS_getgid: ::c_int = 176; pub const SYS_getgroups: ::c_int = 158; pub const SYS_getitimer: ::c_int = 102; pub const SYS_get_mempolicy: ::c_int = 236; pub const SYS_getpeername: ::c_int = 205; pub const SYS_getpgid: ::c_int = 155; pub const SYS_getpgrp: ::c_int = 1060; pub const SYS_getpid: ::c_int = 172; pub const SYS_getppid: ::c_int = 173; pub const SYS_getpriority: ::c_int = 141; pub const SYS_getrandom: ::c_int = 278; pub const SYS_getresgid: ::c_int = 150; pub const SYS_getresuid: ::c_int = 148; pub const SYS_getrlimit: ::c_int = 163; pub const SYS_get_robust_list: ::c_int = 100; pub const SYS_getrusage: ::c_int = 165; pub const SYS_getsid: ::c_int = 156; pub const SYS_getsockname: ::c_int = 204; pub const SYS_getsockopt: ::c_int = 209; pub const SYS_gettid: ::c_int = 178; pub const SYS_gettimeofday: ::c_int = 169; pub const SYS_getuid: ::c_int = 174; pub const SYS_getxattr: ::c_int = 8; pub const SYS_init_module: ::c_int = 105; pub const SYS_inotify_add_watch: ::c_int = 27; pub const SYS_inotify_init1: ::c_int = 26; pub const SYS_inotify_init: ::c_int = 1043; pub const SYS_inotify_rm_watch: ::c_int = 28; pub const SYS_io_cancel: ::c_int = 3; pub const SYS_ioctl: ::c_int = 29; pub const SYS_io_destroy: ::c_int = 1; pub const SYS_io_getevents: ::c_int = 4; pub const SYS_ioprio_get: ::c_int = 31; pub const SYS_ioprio_set: ::c_int = 30; pub const SYS_io_setup: ::c_int = 0; pub const SYS_io_submit: ::c_int = 2; pub const SYS_kcmp: ::c_int = 272; pub const SYS_kexec_load: ::c_int = 104; pub const SYS_keyctl: ::c_int = 219; pub const SYS_kill: ::c_int = 129; pub const SYS_lchown: ::c_int = 1032; pub const SYS_lgetxattr: ::c_int = 9; pub const SYS_linkat: ::c_int = 37; pub const SYS_link: ::c_int = 1025; pub const SYS_listen: ::c_int = 201; pub const SYS_listxattr: ::c_int = 11; pub const SYS_llistxattr: ::c_int = 12; pub const SYS__llseek: ::c_int = 62; pub const SYS_lookup_dcookie: ::c_int = 18; pub const SYS_lremovexattr: ::c_int = 15; pub const SYS_lseek: ::c_int = 62; pub const SYS_lsetxattr: ::c_int = 6; pub const SYS_lstat64: ::c_int = 1039; pub const SYS_lstat: ::c_int = 1039; pub const SYS_madvise: ::c_int = 233; pub const SYS_mbind: ::c_int = 235; pub const SYS_memfd_create: ::c_int = 279; pub const SYS_migrate_pages: ::c_int = 238; pub const SYS_mincore: ::c_int = 232; pub const SYS_mkdirat: ::c_int = 34; pub const SYS_mkdir: ::c_int = 1030; pub const SYS_mknodat: ::c_int = 33; pub const SYS_mknod: ::c_int = 1027; pub const SYS_mlockall: ::c_int = 230; pub const SYS_mlock: ::c_int = 228; pub const SYS_mmap2: ::c_int = 222; pub const SYS_mount: ::c_int = 40; pub const SYS_move_pages: ::c_int = 239; pub const SYS_mprotect: ::c_int = 226; pub const SYS_mq_getsetattr: ::c_int = 185; pub const SYS_mq_notify: ::c_int = 184; pub const SYS_mq_open: ::c_int = 180; pub const SYS_mq_timedreceive: ::c_int = 183; pub const SYS_mq_timedsend: ::c_int = 182; pub const SYS_mq_unlink: ::c_int = 181; pub const SYS_mremap: ::c_int = 216; pub const SYS_msgctl: ::c_int = 187; pub const SYS_msgget: ::c_int = 186; pub const SYS_msgrcv: ::c_int = 188; pub const SYS_msgsnd: ::c_int = 189; pub const SYS_msync: ::c_int = 227; pub const SYS_munlockall: ::c_int = 231; pub const SYS_munlock: ::c_int = 229; pub const SYS_munmap: ::c_int = 215; pub const SYS_name_to_handle_at: ::c_int = 264; pub const SYS_nanosleep: ::c_int = 101; pub const SYS_newfstatat: ::c_int = 79; pub const SYS_nfsservctl: ::c_int = 42; pub const SYS_oldwait4: ::c_int = 1072; pub const SYS_openat: ::c_int = 56; pub const SYS_open_by_handle_at: ::c_int = 265; pub const SYS_open: ::c_int = 1024; pub const SYS_pause: ::c_int = 1061; pub const SYS_perf_event_open: ::c_int = 241; pub const SYS_personality: ::c_int = 92; pub const SYS_pipe2: ::c_int = 59; pub const SYS_pipe: ::c_int = 1040; pub const SYS_pivot_root: ::c_int = 41; pub const SYS_poll: ::c_int = 1068; pub const SYS_ppoll: ::c_int = 73; pub const SYS_prctl: ::c_int = 167; pub const SYS_pread64: ::c_int = 67; pub const SYS_preadv: ::c_int = 69; pub const SYS_prlimit64: ::c_int = 261; pub const SYS_process_vm_readv: ::c_int = 270; pub const SYS_process_vm_writev: ::c_int = 271; pub const SYS_pselect6: ::c_int = 72; pub const SYS_ptrace: ::c_int = 117; pub const SYS_pwrite64: ::c_int = 68; pub const SYS_pwritev: ::c_int = 70; pub const SYS_quotactl: ::c_int = 60; pub const SYS_readahead: ::c_int = 213; pub const SYS_read: ::c_int = 63; pub const SYS_readlinkat: ::c_int = 78; pub const SYS_readlink: ::c_int = 1035; pub const SYS_readv: ::c_int = 65; pub const SYS_reboot: ::c_int = 142; pub const SYS_recv: ::c_int = 1073; pub const SYS_recvfrom: ::c_int = 207; pub const SYS_recvmmsg: ::c_int = 243; pub const SYS_recvmsg: ::c_int = 212; pub const SYS_remap_file_pages: ::c_int = 234; pub const SYS_removexattr: ::c_int = 14; pub const SYS_renameat2: ::c_int = 276; pub const SYS_renameat: ::c_int = 38; pub const SYS_rename: ::c_int = 1034; pub const SYS_request_key: ::c_int = 218; pub const SYS_restart_syscall: ::c_int = 128; pub const SYS_rmdir: ::c_int = 1031; pub const SYS_rt_sigaction: ::c_int = 134; pub const SYS_rt_sigpending: ::c_int = 136; pub const SYS_rt_sigprocmask: ::c_int = 135; pub const SYS_rt_sigqueueinfo: ::c_int = 138; pub const SYS_rt_sigreturn: ::c_int = 139; pub const SYS_rt_sigsuspend: ::c_int = 133; pub const SYS_rt_sigtimedwait: ::c_int = 137; pub const SYS_rt_tgsigqueueinfo: ::c_int = 240; pub const SYS_sched_getaffinity: ::c_int = 123; pub const SYS_sched_getattr: ::c_int = 275; pub const SYS_sched_getparam: ::c_int = 121; pub const SYS_sched_get_priority_max: ::c_int = 125; pub const SYS_sched_get_priority_min: ::c_int = 126; pub const SYS_sched_getscheduler: ::c_int = 120; pub const SYS_sched_rr_get_interval: ::c_int = 127; pub const SYS_sched_setaffinity: ::c_int = 122; pub const SYS_sched_setattr: ::c_int = 274; pub const SYS_sched_setparam: ::c_int = 118; pub const SYS_sched_setscheduler: ::c_int = 119; pub const SYS_sched_yield: ::c_int = 124; pub const SYS_seccomp: ::c_int = 277; pub const SYS_select: ::c_int = 1067; pub const SYS_semctl: ::c_int = 191; pub const SYS_semget: ::c_int = 190; pub const SYS_semop: ::c_int = 193; pub const SYS_semtimedop: ::c_int = 192; pub const SYS_send: ::c_int = 1074; pub const SYS_sendfile64: ::c_int = 71; pub const SYS_sendfile: ::c_int = 71; pub const SYS_sendmmsg: ::c_int = 269; pub const SYS_sendmsg: ::c_int = 211; pub const SYS_sendto: ::c_int = 206; pub const SYS_setdomainname: ::c_int = 162; pub const SYS_setfsgid: ::c_int = 152; pub const SYS_setfsuid: ::c_int = 151; pub const SYS_setgid: ::c_int = 144; pub const SYS_setgroups: ::c_int = 159; pub const SYS_sethostname: ::c_int = 161; pub const SYS_setitimer: ::c_int = 103; pub const SYS_set_mempolicy: ::c_int = 237; pub const SYS_setns: ::c_int = 268; pub const SYS_setpgid: ::c_int = 154; pub const SYS_setpriority: ::c_int = 140; pub const SYS_setregid: ::c_int = 143; pub const SYS_setresgid: ::c_int = 149; pub const SYS_setresuid: ::c_int = 147; pub const SYS_setreuid: ::c_int = 145; pub const SYS_setrlimit: ::c_int = 164; pub const SYS_set_robust_list: ::c_int = 99; pub const SYS_setsid: ::c_int = 157; pub const SYS_setsockopt: ::c_int = 208; pub const SYS_set_tid_address: ::c_int = 96; pub const SYS_settimeofday: ::c_int = 170; pub const SYS_setuid: ::c_int = 146; pub const SYS_setxattr: ::c_int = 5; pub const SYS_shmat: ::c_int = 196; pub const SYS_shmctl: ::c_int = 195; pub const SYS_shmdt: ::c_int = 197; pub const SYS_shmget: ::c_int = 194; pub const SYS_shutdown: ::c_int = 210; pub const SYS_sigaltstack: ::c_int = 132; pub const SYS_signalfd4: ::c_int = 74; pub const SYS_signalfd: ::c_int = 1045; pub const SYS_socket: ::c_int = 198; pub const SYS_socketpair: ::c_int = 199; pub const SYS_splice: ::c_int = 76; pub const SYS_stat64: ::c_int = 1038; pub const SYS_stat: ::c_int = 1038; pub const SYS_statfs64: ::c_int = 43; pub const SYS_swapoff: ::c_int = 225; pub const SYS_swapon: ::c_int = 224; pub const SYS_symlinkat: ::c_int = 36; pub const SYS_symlink: ::c_int = 1036; pub const SYS_sync: ::c_int = 81; pub const SYS_sync_file_range2: ::c_int = 84; pub const SYS_sync_file_range: ::c_int = 84; pub const SYS_syncfs: ::c_int = 267; pub const SYS_syscalls: ::c_int = 1080; pub const SYS__sysctl: ::c_int = 1078; pub const SYS_sysinfo: ::c_int = 179; pub const SYS_syslog: ::c_int = 116; pub const SYS_tee: ::c_int = 77; pub const SYS_tgkill: ::c_int = 131; pub const SYS_time: ::c_int = 1062; pub const SYS_timer_create: ::c_int = 107; pub const SYS_timer_delete: ::c_int = 111; pub const SYS_timerfd_create: ::c_int = 85; pub const SYS_timerfd_gettime: ::c_int = 87; pub const SYS_timerfd_settime: ::c_int = 86; pub const SYS_timer_getoverrun: ::c_int = 109; pub const SYS_timer_gettime: ::c_int = 108; pub const SYS_timer_settime: ::c_int = 110; pub const SYS_times: ::c_int = 153; pub const SYS_tkill: ::c_int = 130; pub const SYS_truncate64: ::c_int = 45; pub const SYS_truncate: ::c_int = 45; pub const SYS_umask: ::c_int = 166; pub const SYS_umount2: ::c_int = 39; pub const SYS_umount: ::c_int = 1076; pub const SYS_uname: ::c_int = 160; pub const SYS_unlinkat: ::c_int = 35; pub const SYS_unlink: ::c_int = 1026; pub const SYS_unshare: ::c_int = 97; pub const SYS_uselib: ::c_int = 1077; pub const SYS_ustat: ::c_int = 1070; pub const SYS_utime: ::c_int = 1063; pub const SYS_utimensat: ::c_int = 88; pub const SYS_utimes: ::c_int = 1037; pub const SYS_vfork: ::c_int = 1071; pub const SYS_vhangup: ::c_int = 58; pub const SYS_vmsplice: ::c_int = 75; pub const SYS_wait4: ::c_int = 260; 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 TIOCCBRK: ::c_int = 21544; 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 TIOCSBRK: ::c_int = 21543; 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; pub const VEOL: ::c_int = 11; pub const VMIN: ::c_int = 6; libc-0.2.66/src/unix/linux_like/linux/musl/b32/mips/align.rs010064400007650000024000000002241355140103400217610ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(8))] pub struct max_align_t { priv_: [f32; 4] } } libc-0.2.66/src/unix/linux_like/linux/musl/b32/mips/mod.rs010064400007650000024000000777341357020644200215010ustar0000000000000000pub type c_char = i8; pub type wchar_t = ::c_int; s! { pub struct stat { pub st_dev: ::dev_t, __st_padding1: [::c_long; 2], 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, __st_padding2: [::c_long; 2], pub st_size: ::off_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_blksize: ::blksize_t, __st_padding3: ::c_long, pub st_blocks: ::blkcnt_t, __st_padding4: [::c_long; 14], } pub struct stat64 { pub st_dev: ::dev_t, __st_padding1: [::c_long; 2], 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, __st_padding2: [::c_long; 2], pub st_size: ::off_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_blksize: ::blksize_t, __st_padding3: ::c_long, pub st_blocks: ::blkcnt64_t, __st_padding4: [::c_long; 14], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_int, __unused1: ::c_long, __unused2: ::c_long } 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: ::c_ulong, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, #[cfg(target_endian = "big")] __unused1: ::c_int, pub msg_stime: ::time_t, #[cfg(target_endian = "little")] __unused1: ::c_int, #[cfg(target_endian = "big")] __unused2: ::c_int, pub msg_rtime: ::time_t, #[cfg(target_endian = "little")] __unused2: ::c_int, #[cfg(target_endian = "big")] __unused3: ::c_int, pub msg_ctime: ::time_t, #[cfg(target_endian = "little")] __unused3: ::c_int, __msg_cbytes: ::c_ulong, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct statfs { pub f_type: ::c_ulong, pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: ::fsblkcnt_t, pub f_bfree: ::fsblkcnt_t, pub f_files: ::fsfilcnt_t, pub f_ffree: ::fsfilcnt_t, pub f_bavail: ::fsblkcnt_t, pub f_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 5], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, pub si_errno: ::c_int, pub _pad: [::c_int; 29], _align: [usize; 0], } pub struct statfs64 { pub f_type: ::c_ulong, pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: ::fsblkcnt_t, pub f_bfree: ::fsblkcnt_t, pub f_files: ::fsfilcnt_t, pub f_ffree: ::fsfilcnt_t, pub f_bavail: ::fsblkcnt_t, pub f_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 5], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, #[cfg(target_endian = "little")] pub f_fsid: ::c_ulong, __f_unused: ::c_int, #[cfg(target_endian = "big")] pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } } pub const SIGSTKSZ: ::size_t = 8192; pub const MINSIGSTKSZ: ::size_t = 2048; pub const O_DIRECT: ::c_int = 0o100000; pub const O_DIRECTORY: ::c_int = 0o200000; 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 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 O_APPEND: ::c_int = 0o010; pub const O_CREAT: ::c_int = 0o400; pub const O_EXCL: ::c_int = 0o2000; pub const O_NOCTTY: ::c_int = 0o4000; pub const O_NONBLOCK: ::c_int = 0o200; pub const O_SYNC: ::c_int = 0o40020; pub const O_RSYNC: ::c_int = 0o40020; pub const O_DSYNC: ::c_int = 0o020; pub const SOCK_NONBLOCK: ::c_int = 0o200; pub const MAP_ANON: ::c_int = 0x800; pub const MAP_GROWSDOWN: ::c_int = 0x1000; pub const MAP_DENYWRITE: ::c_int = 0x2000; pub const MAP_EXECUTABLE: ::c_int = 0x4000; pub const MAP_LOCKED: ::c_int = 0x8000; pub const MAP_NORESERVE: ::c_int = 0x0400; pub const MAP_POPULATE: ::c_int = 0x10000; pub const MAP_NONBLOCK: ::c_int = 0x20000; pub const MAP_STACK: ::c_int = 0x40000; pub const EDEADLK: ::c_int = 45; pub const ENAMETOOLONG: ::c_int = 78; pub const ENOLCK: ::c_int = 46; pub const ENOSYS: ::c_int = 89; pub const ENOTEMPTY: ::c_int = 93; pub const ELOOP: ::c_int = 90; pub const ENOMSG: ::c_int = 35; pub const EIDRM: ::c_int = 36; pub const ECHRNG: ::c_int = 37; pub const EL2NSYNC: ::c_int = 38; pub const EL3HLT: ::c_int = 39; pub const EL3RST: ::c_int = 40; pub const ELNRNG: ::c_int = 41; pub const EUNATCH: ::c_int = 42; pub const ENOCSI: ::c_int = 43; pub const EL2HLT: ::c_int = 44; pub const EBADE: ::c_int = 50; pub const EBADR: ::c_int = 51; 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; pub const EBADFD: ::c_int = 81; pub const EBADMSG: ::c_int = 77; pub const EREMCHG: ::c_int = 82; pub const ELIBACC: ::c_int = 83; pub const ELIBBAD: ::c_int = 84; pub const ELIBSCN: ::c_int = 85; pub const ELIBMAX: ::c_int = 86; pub const ELIBEXEC: ::c_int = 87; pub const EILSEQ: ::c_int = 88; pub const ERESTART: ::c_int = 91; pub const ESTRPIPE: ::c_int = 92; pub const EUSERS: ::c_int = 94; pub const ENOTSOCK: ::c_int = 95; pub const EDESTADDRREQ: ::c_int = 96; pub const EMSGSIZE: ::c_int = 97; pub const EPROTOTYPE: ::c_int = 98; 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; pub const EADDRNOTAVAIL: ::c_int = 126; pub const ENETDOWN: ::c_int = 127; pub const ENETUNREACH: ::c_int = 128; pub const ENETRESET: ::c_int = 129; pub const ECONNABORTED: ::c_int = 130; pub const ECONNRESET: ::c_int = 131; pub const ENOBUFS: ::c_int = 132; pub const EISCONN: ::c_int = 133; pub const ENOTCONN: ::c_int = 134; pub const ESHUTDOWN: ::c_int = 143; pub const ETOOMANYREFS: ::c_int = 144; pub const ETIMEDOUT: ::c_int = 145; pub const ECONNREFUSED: ::c_int = 146; pub const EHOSTDOWN: ::c_int = 147; pub const EHOSTUNREACH: ::c_int = 148; pub const EALREADY: ::c_int = 149; pub const EINPROGRESS: ::c_int = 150; pub const ESTALE: ::c_int = 151; pub const EUCLEAN: ::c_int = 135; pub const ENOTNAM: ::c_int = 137; pub const ENAVAIL: ::c_int = 138; pub const EISNAM: ::c_int = 139; pub const EREMOTEIO: ::c_int = 140; pub const EDQUOT: ::c_int = 1133; pub const ENOMEDIUM: ::c_int = 159; pub const EMEDIUMTYPE: ::c_int = 160; pub const ECANCELED: ::c_int = 158; pub const ENOKEY: ::c_int = 161; pub const EKEYEXPIRED: ::c_int = 162; pub const EKEYREVOKED: ::c_int = 163; pub const EKEYREJECTED: ::c_int = 164; pub const EOWNERDEAD: ::c_int = 165; pub const ENOTRECOVERABLE: ::c_int = 166; pub const EHWPOISON: ::c_int = 168; pub const ERFKILL: ::c_int = 167; pub const SOCK_STREAM: ::c_int = 2; pub const SOCK_DGRAM: ::c_int = 1; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOL_SOCKET: ::c_int = 65535; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; pub const SO_SNDLOWAT: ::c_int = 0x1003; pub const SO_RCVLOWAT: ::c_int = 0x1004; pub const SO_RCVTIMEO: ::c_int = 0x1006; pub const SO_SNDTIMEO: ::c_int = 0x1005; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_ACCEPTCONN: ::c_int = 0x1009; pub const SO_PROTOCOL: ::c_int = 0x1028; pub const SO_DOMAIN: ::c_int = 0x1029; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_PASSCRED: ::c_int = 17; pub const SO_PEERCRED: ::c_int = 18; pub const SO_SNDBUFFORCE: ::c_int = 31; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SA_ONSTACK: ::c_int = 0x08000000; pub const SA_SIGINFO: ::c_int = 8; pub const SA_NOCLDWAIT: ::c_int = 0x10000; pub const SIGCHLD: ::c_int = 18; pub const SIGBUS: ::c_int = 10; pub const SIGTTIN: ::c_int = 26; pub const SIGTTOU: ::c_int = 27; pub const SIGXCPU: ::c_int = 30; pub const SIGXFSZ: ::c_int = 31; pub const SIGVTALRM: ::c_int = 28; pub const SIGPROF: ::c_int = 29; pub const SIGWINCH: ::c_int = 20; pub const SIGUSR1: ::c_int = 16; pub const SIGUSR2: ::c_int = 17; pub const SIGCONT: ::c_int = 25; pub const SIGSTOP: ::c_int = 23; 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 SIGSTKFLT: ::c_int = 7; pub const SIGPOLL: ::c_int = ::SIGIO; pub const SIGPWR: ::c_int = 19; pub const SIG_SETMASK: ::c_int = 3; pub const SIG_BLOCK: ::c_int = 1; pub const SIG_UNBLOCK: ::c_int = 2; pub const EXTPROC: ::tcflag_t = 0o200000; pub const MAP_HUGETLB: ::c_int = 0x80000; pub const F_GETLK: ::c_int = 33; pub const F_GETOWN: ::c_int = 23; pub const F_SETLK: ::c_int = 34; pub const F_SETLKW: ::c_int = 35; pub const F_SETOWN: ::c_int = 24; pub const VEOF: usize = 16; pub const VEOL: usize = 17; pub const VEOL2: usize = 6; pub const VMIN: usize = 4; 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; pub const SYS_read: ::c_long = 4000 + 3; pub const SYS_write: ::c_long = 4000 + 4; pub const SYS_open: ::c_long = 4000 + 5; pub const SYS_close: ::c_long = 4000 + 6; pub const SYS_waitpid: ::c_long = 4000 + 7; pub const SYS_creat: ::c_long = 4000 + 8; pub const SYS_link: ::c_long = 4000 + 9; pub const SYS_unlink: ::c_long = 4000 + 10; pub const SYS_execve: ::c_long = 4000 + 11; pub const SYS_chdir: ::c_long = 4000 + 12; pub const SYS_time: ::c_long = 4000 + 13; pub const SYS_mknod: ::c_long = 4000 + 14; pub const SYS_chmod: ::c_long = 4000 + 15; pub const SYS_lchown: ::c_long = 4000 + 16; pub const SYS_break: ::c_long = 4000 + 17; pub const SYS_lseek: ::c_long = 4000 + 19; pub const SYS_getpid: ::c_long = 4000 + 20; pub const SYS_mount: ::c_long = 4000 + 21; pub const SYS_umount: ::c_long = 4000 + 22; pub const SYS_setuid: ::c_long = 4000 + 23; pub const SYS_getuid: ::c_long = 4000 + 24; pub const SYS_stime: ::c_long = 4000 + 25; pub const SYS_ptrace: ::c_long = 4000 + 26; pub const SYS_alarm: ::c_long = 4000 + 27; pub const SYS_pause: ::c_long = 4000 + 29; pub const SYS_utime: ::c_long = 4000 + 30; pub const SYS_stty: ::c_long = 4000 + 31; pub const SYS_gtty: ::c_long = 4000 + 32; pub const SYS_access: ::c_long = 4000 + 33; pub const SYS_nice: ::c_long = 4000 + 34; pub const SYS_ftime: ::c_long = 4000 + 35; pub const SYS_sync: ::c_long = 4000 + 36; pub const SYS_kill: ::c_long = 4000 + 37; pub const SYS_rename: ::c_long = 4000 + 38; pub const SYS_mkdir: ::c_long = 4000 + 39; pub const SYS_rmdir: ::c_long = 4000 + 40; pub const SYS_dup: ::c_long = 4000 + 41; pub const SYS_pipe: ::c_long = 4000 + 42; pub const SYS_times: ::c_long = 4000 + 43; pub const SYS_prof: ::c_long = 4000 + 44; pub const SYS_brk: ::c_long = 4000 + 45; pub const SYS_setgid: ::c_long = 4000 + 46; pub const SYS_getgid: ::c_long = 4000 + 47; pub const SYS_signal: ::c_long = 4000 + 48; pub const SYS_geteuid: ::c_long = 4000 + 49; pub const SYS_getegid: ::c_long = 4000 + 50; pub const SYS_acct: ::c_long = 4000 + 51; pub const SYS_umount2: ::c_long = 4000 + 52; pub const SYS_lock: ::c_long = 4000 + 53; pub const SYS_ioctl: ::c_long = 4000 + 54; pub const SYS_fcntl: ::c_long = 4000 + 55; pub const SYS_mpx: ::c_long = 4000 + 56; pub const SYS_setpgid: ::c_long = 4000 + 57; pub const SYS_ulimit: ::c_long = 4000 + 58; pub const SYS_umask: ::c_long = 4000 + 60; pub const SYS_chroot: ::c_long = 4000 + 61; pub const SYS_ustat: ::c_long = 4000 + 62; pub const SYS_dup2: ::c_long = 4000 + 63; pub const SYS_getppid: ::c_long = 4000 + 64; pub const SYS_getpgrp: ::c_long = 4000 + 65; pub const SYS_setsid: ::c_long = 4000 + 66; pub const SYS_sigaction: ::c_long = 4000 + 67; pub const SYS_sgetmask: ::c_long = 4000 + 68; pub const SYS_ssetmask: ::c_long = 4000 + 69; pub const SYS_setreuid: ::c_long = 4000 + 70; pub const SYS_setregid: ::c_long = 4000 + 71; pub const SYS_sigsuspend: ::c_long = 4000 + 72; pub const SYS_sigpending: ::c_long = 4000 + 73; pub const SYS_sethostname: ::c_long = 4000 + 74; pub const SYS_setrlimit: ::c_long = 4000 + 75; pub const SYS_getrlimit: ::c_long = 4000 + 76; pub const SYS_getrusage: ::c_long = 4000 + 77; pub const SYS_gettimeofday: ::c_long = 4000 + 78; pub const SYS_settimeofday: ::c_long = 4000 + 79; pub const SYS_getgroups: ::c_long = 4000 + 80; pub const SYS_setgroups: ::c_long = 4000 + 81; pub const SYS_symlink: ::c_long = 4000 + 83; pub const SYS_readlink: ::c_long = 4000 + 85; pub const SYS_uselib: ::c_long = 4000 + 86; pub const SYS_swapon: ::c_long = 4000 + 87; pub const SYS_reboot: ::c_long = 4000 + 88; pub const SYS_readdir: ::c_long = 4000 + 89; pub const SYS_mmap: ::c_long = 4000 + 90; pub const SYS_munmap: ::c_long = 4000 + 91; pub const SYS_truncate: ::c_long = 4000 + 92; pub const SYS_ftruncate: ::c_long = 4000 + 93; pub const SYS_fchmod: ::c_long = 4000 + 94; pub const SYS_fchown: ::c_long = 4000 + 95; pub const SYS_getpriority: ::c_long = 4000 + 96; pub const SYS_setpriority: ::c_long = 4000 + 97; pub const SYS_profil: ::c_long = 4000 + 98; pub const SYS_statfs: ::c_long = 4000 + 99; pub const SYS_fstatfs: ::c_long = 4000 + 100; pub const SYS_ioperm: ::c_long = 4000 + 101; pub const SYS_socketcall: ::c_long = 4000 + 102; pub const SYS_syslog: ::c_long = 4000 + 103; pub const SYS_setitimer: ::c_long = 4000 + 104; pub const SYS_getitimer: ::c_long = 4000 + 105; pub const SYS_stat: ::c_long = 4000 + 106; pub const SYS_lstat: ::c_long = 4000 + 107; pub const SYS_fstat: ::c_long = 4000 + 108; pub const SYS_iopl: ::c_long = 4000 + 110; pub const SYS_vhangup: ::c_long = 4000 + 111; pub const SYS_idle: ::c_long = 4000 + 112; pub const SYS_vm86: ::c_long = 4000 + 113; pub const SYS_wait4: ::c_long = 4000 + 114; pub const SYS_swapoff: ::c_long = 4000 + 115; pub const SYS_sysinfo: ::c_long = 4000 + 116; pub const SYS_ipc: ::c_long = 4000 + 117; pub const SYS_fsync: ::c_long = 4000 + 118; pub const SYS_sigreturn: ::c_long = 4000 + 119; pub const SYS_clone: ::c_long = 4000 + 120; pub const SYS_setdomainname: ::c_long = 4000 + 121; pub const SYS_uname: ::c_long = 4000 + 122; pub const SYS_modify_ldt: ::c_long = 4000 + 123; pub const SYS_adjtimex: ::c_long = 4000 + 124; pub const SYS_mprotect: ::c_long = 4000 + 125; pub const SYS_sigprocmask: ::c_long = 4000 + 126; pub const SYS_create_module: ::c_long = 4000 + 127; pub const SYS_init_module: ::c_long = 4000 + 128; pub const SYS_delete_module: ::c_long = 4000 + 129; pub const SYS_get_kernel_syms: ::c_long = 4000 + 130; pub const SYS_quotactl: ::c_long = 4000 + 131; pub const SYS_getpgid: ::c_long = 4000 + 132; pub const SYS_fchdir: ::c_long = 4000 + 133; pub const SYS_bdflush: ::c_long = 4000 + 134; pub const SYS_sysfs: ::c_long = 4000 + 135; pub const SYS_personality: ::c_long = 4000 + 136; pub const SYS_afs_syscall: ::c_long = 4000 + 137; pub const SYS_setfsuid: ::c_long = 4000 + 138; pub const SYS_setfsgid: ::c_long = 4000 + 139; pub const SYS__llseek: ::c_long = 4000 + 140; pub const SYS_getdents: ::c_long = 4000 + 141; pub const SYS_flock: ::c_long = 4000 + 143; pub const SYS_msync: ::c_long = 4000 + 144; pub const SYS_readv: ::c_long = 4000 + 145; pub const SYS_writev: ::c_long = 4000 + 146; pub const SYS_cacheflush: ::c_long = 4000 + 147; pub const SYS_cachectl: ::c_long = 4000 + 148; pub const SYS_sysmips: ::c_long = 4000 + 149; pub const SYS_getsid: ::c_long = 4000 + 151; pub const SYS_fdatasync: ::c_long = 4000 + 152; pub const SYS__sysctl: ::c_long = 4000 + 153; pub const SYS_mlock: ::c_long = 4000 + 154; pub const SYS_munlock: ::c_long = 4000 + 155; pub const SYS_mlockall: ::c_long = 4000 + 156; pub const SYS_munlockall: ::c_long = 4000 + 157; pub const SYS_sched_setparam: ::c_long = 4000 + 158; pub const SYS_sched_getparam: ::c_long = 4000 + 159; pub const SYS_sched_setscheduler: ::c_long = 4000 + 160; pub const SYS_sched_getscheduler: ::c_long = 4000 + 161; pub const SYS_sched_yield: ::c_long = 4000 + 162; pub const SYS_sched_get_priority_max: ::c_long = 4000 + 163; pub const SYS_sched_get_priority_min: ::c_long = 4000 + 164; pub const SYS_sched_rr_get_interval: ::c_long = 4000 + 165; pub const SYS_nanosleep: ::c_long = 4000 + 166; pub const SYS_mremap: ::c_long = 4000 + 167; pub const SYS_accept: ::c_long = 4000 + 168; pub const SYS_bind: ::c_long = 4000 + 169; pub const SYS_connect: ::c_long = 4000 + 170; pub const SYS_getpeername: ::c_long = 4000 + 171; pub const SYS_getsockname: ::c_long = 4000 + 172; pub const SYS_getsockopt: ::c_long = 4000 + 173; pub const SYS_listen: ::c_long = 4000 + 174; pub const SYS_recv: ::c_long = 4000 + 175; pub const SYS_recvfrom: ::c_long = 4000 + 176; pub const SYS_recvmsg: ::c_long = 4000 + 177; pub const SYS_send: ::c_long = 4000 + 178; pub const SYS_sendmsg: ::c_long = 4000 + 179; pub const SYS_sendto: ::c_long = 4000 + 180; pub const SYS_setsockopt: ::c_long = 4000 + 181; pub const SYS_shutdown: ::c_long = 4000 + 182; pub const SYS_socket: ::c_long = 4000 + 183; pub const SYS_socketpair: ::c_long = 4000 + 184; pub const SYS_setresuid: ::c_long = 4000 + 185; pub const SYS_getresuid: ::c_long = 4000 + 186; pub const SYS_query_module: ::c_long = 4000 + 187; pub const SYS_poll: ::c_long = 4000 + 188; pub const SYS_nfsservctl: ::c_long = 4000 + 189; pub const SYS_setresgid: ::c_long = 4000 + 190; pub const SYS_getresgid: ::c_long = 4000 + 191; pub const SYS_prctl: ::c_long = 4000 + 192; pub const SYS_rt_sigreturn: ::c_long = 4000 + 193; pub const SYS_rt_sigaction: ::c_long = 4000 + 194; pub const SYS_rt_sigprocmask: ::c_long = 4000 + 195; pub const SYS_rt_sigpending: ::c_long = 4000 + 196; pub const SYS_rt_sigtimedwait: ::c_long = 4000 + 197; pub const SYS_rt_sigqueueinfo: ::c_long = 4000 + 198; pub const SYS_rt_sigsuspend: ::c_long = 4000 + 199; pub const SYS_chown: ::c_long = 4000 + 202; pub const SYS_getcwd: ::c_long = 4000 + 203; pub const SYS_capget: ::c_long = 4000 + 204; pub const SYS_capset: ::c_long = 4000 + 205; pub const SYS_sigaltstack: ::c_long = 4000 + 206; pub const SYS_sendfile: ::c_long = 4000 + 207; pub const SYS_getpmsg: ::c_long = 4000 + 208; pub const SYS_putpmsg: ::c_long = 4000 + 209; pub const SYS_mmap2: ::c_long = 4000 + 210; pub const SYS_truncate64: ::c_long = 4000 + 211; pub const SYS_ftruncate64: ::c_long = 4000 + 212; pub const SYS_stat64: ::c_long = 4000 + 213; pub const SYS_lstat64: ::c_long = 4000 + 214; pub const SYS_fstat64: ::c_long = 4000 + 215; pub const SYS_pivot_root: ::c_long = 4000 + 216; pub const SYS_mincore: ::c_long = 4000 + 217; pub const SYS_madvise: ::c_long = 4000 + 218; pub const SYS_getdents64: ::c_long = 4000 + 219; pub const SYS_fcntl64: ::c_long = 4000 + 220; pub const SYS_gettid: ::c_long = 4000 + 222; pub const SYS_readahead: ::c_long = 4000 + 223; pub const SYS_setxattr: ::c_long = 4000 + 224; pub const SYS_lsetxattr: ::c_long = 4000 + 225; pub const SYS_fsetxattr: ::c_long = 4000 + 226; pub const SYS_getxattr: ::c_long = 4000 + 227; pub const SYS_lgetxattr: ::c_long = 4000 + 228; pub const SYS_fgetxattr: ::c_long = 4000 + 229; pub const SYS_listxattr: ::c_long = 4000 + 230; pub const SYS_llistxattr: ::c_long = 4000 + 231; pub const SYS_flistxattr: ::c_long = 4000 + 232; pub const SYS_removexattr: ::c_long = 4000 + 233; pub const SYS_lremovexattr: ::c_long = 4000 + 234; pub const SYS_fremovexattr: ::c_long = 4000 + 235; pub const SYS_tkill: ::c_long = 4000 + 236; pub const SYS_sendfile64: ::c_long = 4000 + 237; pub const SYS_futex: ::c_long = 4000 + 238; pub const SYS_sched_setaffinity: ::c_long = 4000 + 239; pub const SYS_sched_getaffinity: ::c_long = 4000 + 240; pub const SYS_io_setup: ::c_long = 4000 + 241; pub const SYS_io_destroy: ::c_long = 4000 + 242; pub const SYS_io_getevents: ::c_long = 4000 + 243; pub const SYS_io_submit: ::c_long = 4000 + 244; pub const SYS_io_cancel: ::c_long = 4000 + 245; pub const SYS_exit_group: ::c_long = 4000 + 246; pub const SYS_lookup_dcookie: ::c_long = 4000 + 247; pub const SYS_epoll_create: ::c_long = 4000 + 248; pub const SYS_epoll_ctl: ::c_long = 4000 + 249; pub const SYS_epoll_wait: ::c_long = 4000 + 250; pub const SYS_remap_file_pages: ::c_long = 4000 + 251; pub const SYS_set_tid_address: ::c_long = 4000 + 252; pub const SYS_restart_syscall: ::c_long = 4000 + 253; pub const SYS_statfs64: ::c_long = 4000 + 255; pub const SYS_fstatfs64: ::c_long = 4000 + 256; pub const SYS_timer_create: ::c_long = 4000 + 257; pub const SYS_timer_settime: ::c_long = 4000 + 258; pub const SYS_timer_gettime: ::c_long = 4000 + 259; pub const SYS_timer_getoverrun: ::c_long = 4000 + 260; pub const SYS_timer_delete: ::c_long = 4000 + 261; pub const SYS_clock_settime: ::c_long = 4000 + 262; pub const SYS_clock_gettime: ::c_long = 4000 + 263; pub const SYS_clock_getres: ::c_long = 4000 + 264; pub const SYS_clock_nanosleep: ::c_long = 4000 + 265; pub const SYS_tgkill: ::c_long = 4000 + 266; pub const SYS_utimes: ::c_long = 4000 + 267; pub const SYS_mbind: ::c_long = 4000 + 268; pub const SYS_get_mempolicy: ::c_long = 4000 + 269; pub const SYS_set_mempolicy: ::c_long = 4000 + 270; pub const SYS_mq_open: ::c_long = 4000 + 271; pub const SYS_mq_unlink: ::c_long = 4000 + 272; pub const SYS_mq_timedsend: ::c_long = 4000 + 273; pub const SYS_mq_timedreceive: ::c_long = 4000 + 274; pub const SYS_mq_notify: ::c_long = 4000 + 275; pub const SYS_mq_getsetattr: ::c_long = 4000 + 276; pub const SYS_vserver: ::c_long = 4000 + 277; pub const SYS_waitid: ::c_long = 4000 + 278; /* pub const SYS_sys_setaltroot: ::c_long = 4000 + 279; */ pub const SYS_add_key: ::c_long = 4000 + 280; pub const SYS_request_key: ::c_long = 4000 + 281; pub const SYS_keyctl: ::c_long = 4000 + 282; pub const SYS_set_thread_area: ::c_long = 4000 + 283; pub const SYS_inotify_init: ::c_long = 4000 + 284; pub const SYS_inotify_add_watch: ::c_long = 4000 + 285; pub const SYS_inotify_rm_watch: ::c_long = 4000 + 286; pub const SYS_migrate_pages: ::c_long = 4000 + 287; pub const SYS_openat: ::c_long = 4000 + 288; pub const SYS_mkdirat: ::c_long = 4000 + 289; pub const SYS_mknodat: ::c_long = 4000 + 290; pub const SYS_fchownat: ::c_long = 4000 + 291; pub const SYS_futimesat: ::c_long = 4000 + 292; pub const SYS_unlinkat: ::c_long = 4000 + 294; pub const SYS_renameat: ::c_long = 4000 + 295; pub const SYS_linkat: ::c_long = 4000 + 296; pub const SYS_symlinkat: ::c_long = 4000 + 297; pub const SYS_readlinkat: ::c_long = 4000 + 298; pub const SYS_fchmodat: ::c_long = 4000 + 299; pub const SYS_faccessat: ::c_long = 4000 + 300; pub const SYS_pselect6: ::c_long = 4000 + 301; pub const SYS_ppoll: ::c_long = 4000 + 302; pub const SYS_unshare: ::c_long = 4000 + 303; pub const SYS_splice: ::c_long = 4000 + 304; pub const SYS_sync_file_range: ::c_long = 4000 + 305; pub const SYS_tee: ::c_long = 4000 + 306; pub const SYS_vmsplice: ::c_long = 4000 + 307; pub const SYS_move_pages: ::c_long = 4000 + 308; pub const SYS_set_robust_list: ::c_long = 4000 + 309; pub const SYS_get_robust_list: ::c_long = 4000 + 310; pub const SYS_kexec_load: ::c_long = 4000 + 311; pub const SYS_getcpu: ::c_long = 4000 + 312; pub const SYS_epoll_pwait: ::c_long = 4000 + 313; pub const SYS_ioprio_set: ::c_long = 4000 + 314; pub const SYS_ioprio_get: ::c_long = 4000 + 315; pub const SYS_utimensat: ::c_long = 4000 + 316; pub const SYS_signalfd: ::c_long = 4000 + 317; pub const SYS_timerfd: ::c_long = 4000 + 318; pub const SYS_eventfd: ::c_long = 4000 + 319; pub const SYS_fallocate: ::c_long = 4000 + 320; pub const SYS_timerfd_create: ::c_long = 4000 + 321; pub const SYS_timerfd_gettime: ::c_long = 4000 + 322; pub const SYS_timerfd_settime: ::c_long = 4000 + 323; pub const SYS_signalfd4: ::c_long = 4000 + 324; pub const SYS_eventfd2: ::c_long = 4000 + 325; pub const SYS_epoll_create1: ::c_long = 4000 + 326; pub const SYS_dup3: ::c_long = 4000 + 327; pub const SYS_pipe2: ::c_long = 4000 + 328; pub const SYS_inotify_init1: ::c_long = 4000 + 329; pub const SYS_preadv: ::c_long = 4000 + 330; pub const SYS_pwritev: ::c_long = 4000 + 331; pub const SYS_rt_tgsigqueueinfo: ::c_long = 4000 + 332; pub const SYS_perf_event_open: ::c_long = 4000 + 333; pub const SYS_accept4: ::c_long = 4000 + 334; pub const SYS_recvmmsg: ::c_long = 4000 + 335; pub const SYS_fanotify_init: ::c_long = 4000 + 336; pub const SYS_fanotify_mark: ::c_long = 4000 + 337; pub const SYS_prlimit64: ::c_long = 4000 + 338; pub const SYS_name_to_handle_at: ::c_long = 4000 + 339; pub const SYS_open_by_handle_at: ::c_long = 4000 + 340; pub const SYS_clock_adjtime: ::c_long = 4000 + 341; pub const SYS_syncfs: ::c_long = 4000 + 342; pub const SYS_sendmmsg: ::c_long = 4000 + 343; pub const SYS_setns: ::c_long = 4000 + 344; pub const SYS_process_vm_readv: ::c_long = 4000 + 345; pub const SYS_process_vm_writev: ::c_long = 4000 + 346; pub const SYS_kcmp: ::c_long = 4000 + 347; pub const SYS_finit_module: ::c_long = 4000 + 348; pub const SYS_sched_setattr: ::c_long = 4000 + 349; pub const SYS_sched_getattr: ::c_long = 4000 + 350; pub const SYS_renameat2: ::c_long = 4000 + 351; pub const SYS_seccomp: ::c_long = 4000 + 352; pub const SYS_getrandom: ::c_long = 4000 + 353; pub const SYS_memfd_create: ::c_long = 4000 + 354; pub const SYS_bpf: ::c_long = 4000 + 355; pub const SYS_execveat: ::c_long = 4000 + 356; pub const SYS_userfaultfd: ::c_long = 4000 + 357; pub const SYS_membarrier: ::c_long = 4000 + 358; pub const SYS_mlock2: ::c_long = 4000 + 359; pub const SYS_copy_file_range: ::c_long = 4000 + 360; pub const SYS_preadv2: ::c_long = 4000 + 361; 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_statx: ::c_long = 4000 + 366; cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/musl/b32/mod.rs010064400007650000024000000027741353775267200205370ustar0000000000000000pub type c_long = i32; pub type c_ulong = u32; pub type nlink_t = u32; pub type blksize_t = ::c_long; pub type __u64 = ::c_ulonglong; s! { pub struct pthread_attr_t { __size: [u32; 9] } pub struct sigset_t { __val: [::c_ulong; 32], } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::c_int, pub msg_control: *mut ::c_void, pub msg_controllen: ::socklen_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::socklen_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct sem_t { __val: [::c_int; 4], } } 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; pub use self::x86::*; } else if #[cfg(any(target_arch = "mips"))] { mod mips; pub use self::mips::*; } else if #[cfg(any(target_arch = "arm"))] { mod arm; pub use self::arm::*; } else if #[cfg(any(target_arch = "powerpc"))] { mod powerpc; pub use self::powerpc::*; } else if #[cfg(any(target_arch = "hexagon"))] { mod hexagon; pub use self::hexagon::*; } else { // Unknown target_arch } } libc-0.2.66/src/unix/linux_like/linux/musl/b32/powerpc.rs010064400007650000024000000741031353775267200214320ustar0000000000000000pub type c_char = u8; pub type wchar_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, __st_rdev_padding: ::c_short, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 2], } pub struct stat64 { 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, __st_rdev_padding: ::c_short, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 2], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_int, __pad1: ::c_int, __pad2: ::c_longlong, __pad3: ::c_longlong } pub struct shmid_ds { pub shm_perm: ::ipc_perm, __unused1: ::c_int, pub shm_atime: ::time_t, __unused2: ::c_int, pub shm_dtime: ::time_t, __unused3: ::c_int, pub shm_ctime: ::time_t, __unused4: ::c_int, pub shm_segsz: ::size_t, pub shm_cpid: ::pid_t, pub shm_lpid: ::pid_t, pub shm_nattch: ::c_ulong, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, __unused1: ::c_int, pub msg_stime: ::time_t, __unused2: ::c_int, pub msg_rtime: ::time_t, __unused3: ::c_int, pub msg_ctime: ::time_t, __msg_cbytes: ::c_ulong, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct statfs { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub _pad: [::c_int; 29], _align: [usize; 0], } pub struct statfs64 { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, #[cfg(target_endian = "little")] pub f_fsid: ::c_ulong, __f_unused: ::c_int, #[cfg(target_endian = "big")] pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } } pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const SIGSTKSZ: ::size_t = 10240; pub const MINSIGSTKSZ: ::size_t = 4096; pub const O_DIRECT: ::c_int = 0x20000; pub const O_DIRECTORY: ::c_int = 0x4000; 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 MCL_CURRENT: ::c_int = 0x2000; pub const MCL_FUTURE: ::c_int = 0x4000; pub const CBAUD: ::tcflag_t = 0o0000377; pub const TAB1: ::c_int = 0x00000400; pub const TAB2: ::c_int = 0x00000800; pub const TAB3: ::c_int = 0x00000C00; pub const CR1: ::c_int = 0x00001000; pub const CR2: ::c_int = 0x00002000; pub const CR3: ::c_int = 0x00003000; pub const FF1: ::c_int = 0x00004000; pub const BS1: ::c_int = 0x00008000; pub const VT1: ::c_int = 0x00010000; pub const VWERASE: usize = 10; pub const VREPRINT: usize = 11; pub const VSUSP: usize = 12; pub const VSTART: usize = 13; pub const VSTOP: usize = 14; pub const VDISCARD: usize = 16; pub const VTIME: usize = 7; pub const IXON: ::tcflag_t = 0x00000200; pub const IXOFF: ::tcflag_t = 0x00000400; pub const ONLCR: ::tcflag_t = 0x00000002; pub const CSIZE: ::tcflag_t = 0x00000300; pub const CS6: ::tcflag_t = 0x00000100; pub const CS7: ::tcflag_t = 0x00000200; pub const CS8: ::tcflag_t = 0x00000300; pub const CSTOPB: ::tcflag_t = 0x00000400; pub const CREAD: ::tcflag_t = 0x00000800; pub const PARENB: ::tcflag_t = 0x00001000; pub const PARODD: ::tcflag_t = 0x00002000; pub const HUPCL: ::tcflag_t = 0x00004000; pub const CLOCAL: ::tcflag_t = 0x00008000; pub const ECHOKE: ::tcflag_t = 0x00000001; pub const ECHOE: ::tcflag_t = 0x00000002; pub const ECHOK: ::tcflag_t = 0x00000004; pub const ECHONL: ::tcflag_t = 0x00000010; pub const ECHOPRT: ::tcflag_t = 0x00000020; pub const ECHOCTL: ::tcflag_t = 0x00000040; pub const ISIG: ::tcflag_t = 0x00000080; pub const ICANON: ::tcflag_t = 0x00000100; pub const PENDIN: ::tcflag_t = 0x20000000; pub const NOFLSH: ::tcflag_t = 0x80000000; pub const CIBAUD: ::tcflag_t = 0o00077600000; pub const CBAUDEX: ::tcflag_t = 0o000020; pub const VSWTC: usize = 9; pub const OLCUC: ::tcflag_t = 0o000004; pub const NLDLY: ::tcflag_t = 0o001400; pub const CRDLY: ::tcflag_t = 0o030000; pub const TABDLY: ::tcflag_t = 0o006000; pub const BSDLY: ::tcflag_t = 0o100000; pub const FFDLY: ::tcflag_t = 0o040000; pub const VTDLY: ::tcflag_t = 0o200000; pub const XTABS: ::tcflag_t = 0o006000; pub const B57600: ::speed_t = 0o000020; pub const B115200: ::speed_t = 0o000021; pub const B230400: ::speed_t = 0o000022; pub const B460800: ::speed_t = 0o000023; pub const B500000: ::speed_t = 0o000024; pub const B576000: ::speed_t = 0o000025; pub const B921600: ::speed_t = 0o000026; pub const B1000000: ::speed_t = 0o000027; pub const B1152000: ::speed_t = 0o000030; pub const B1500000: ::speed_t = 0o000031; pub const B2000000: ::speed_t = 0o000032; pub const B2500000: ::speed_t = 0o000033; pub const B3000000: ::speed_t = 0o000034; pub const B3500000: ::speed_t = 0o000035; pub const B4000000: ::speed_t = 0o000036; 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 SOCK_NONBLOCK: ::c_int = 2048; 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 = 0x00080; pub const MAP_NORESERVE: ::c_int = 0x00040; pub const MAP_POPULATE: ::c_int = 0x08000; pub const MAP_NONBLOCK: ::c_int = 0x010000; pub const MAP_STACK: ::c_int = 0x020000; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOL_SOCKET: ::c_int = 1; 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 EDEADLOCK: ::c_int = 58; pub const EMULTIHOP: ::c_int = 72; 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 ENOTSUP: ::c_int = EOPNOTSUPP; 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 ERFKILL: ::c_int = 132; pub const EHWPOISON: ::c_int = 133; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_RCVLOWAT: ::c_int = 16; pub const SO_SNDLOWAT: ::c_int = 17; pub const SO_RCVTIMEO: ::c_int = 18; pub const SO_SNDTIMEO: ::c_int = 19; pub const SO_PASSCRED: ::c_int = 20; pub const SO_PEERCRED: ::c_int = 21; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; 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 EXTPROC: ::tcflag_t = 0x10000000; pub const MAP_HUGETLB: ::c_int = 0x040000; pub const F_GETLK: ::c_int = 12; pub const F_GETOWN: ::c_int = 9; pub const F_SETLK: ::c_int = 13; pub const F_SETLKW: ::c_int = 14; pub const F_SETOWN: ::c_int = 8; pub const VEOF: usize = 4; pub const VEOL: usize = 6; pub const VEOL2: usize = 8; 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 = 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; 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_time: ::c_long = 13; pub const SYS_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_break: ::c_long = 17; pub const SYS_oldstat: ::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_umount: ::c_long = 22; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_stime: ::c_long = 25; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_oldfstat: ::c_long = 28; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::c_long = 30; pub const SYS_stty: ::c_long = 31; pub const SYS_gtty: ::c_long = 32; pub const SYS_access: ::c_long = 33; pub const SYS_nice: ::c_long = 34; pub const SYS_ftime: ::c_long = 35; 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_prof: ::c_long = 44; pub const SYS_brk: ::c_long = 45; pub const SYS_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_signal: ::c_long = 48; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::c_long = 52; pub const SYS_lock: ::c_long = 53; pub const SYS_ioctl: ::c_long = 54; pub const SYS_fcntl: ::c_long = 55; pub const SYS_mpx: ::c_long = 56; pub const SYS_setpgid: ::c_long = 57; pub const SYS_ulimit: ::c_long = 58; pub const SYS_oldolduname: ::c_long = 59; 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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_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_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_select: ::c_long = 82; pub const SYS_symlink: ::c_long = 83; pub const SYS_oldlstat: ::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_readdir: ::c_long = 89; pub const SYS_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_fchown: ::c_long = 95; pub const SYS_getpriority: ::c_long = 96; pub const SYS_setpriority: ::c_long = 97; pub const SYS_profil: ::c_long = 98; pub const SYS_statfs: ::c_long = 99; pub const SYS_fstatfs: ::c_long = 100; pub const SYS_ioperm: ::c_long = 101; 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_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::c_long = 108; pub const SYS_olduname: ::c_long = 109; pub const SYS_iopl: ::c_long = 110; pub const SYS_vhangup: ::c_long = 111; pub const SYS_idle: ::c_long = 112; pub const SYS_vm86: ::c_long = 113; 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_uname: ::c_long = 122; pub const SYS_modify_ldt: ::c_long = 123; pub const SYS_adjtimex: ::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_afs_syscall: ::c_long = 137; pub const SYS_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; pub const SYS__newselect: ::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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_query_module: ::c_long = 166; pub const SYS_poll: ::c_long = 167; pub const SYS_nfsservctl: ::c_long = 168; pub const SYS_setresgid: ::c_long = 169; pub const SYS_getresgid: ::c_long = 170; pub const SYS_prctl: ::c_long = 171; pub const SYS_rt_sigreturn: ::c_long = 172; pub const SYS_rt_sigaction: ::c_long = 173; pub const SYS_rt_sigprocmask: ::c_long = 174; pub const SYS_rt_sigpending: ::c_long = 175; pub const SYS_rt_sigtimedwait: ::c_long = 176; pub const SYS_rt_sigqueueinfo: ::c_long = 177; pub const SYS_rt_sigsuspend: ::c_long = 178; pub const SYS_pread64: ::c_long = 179; pub const SYS_pwrite64: ::c_long = 180; pub const SYS_chown: ::c_long = 181; pub const SYS_getcwd: ::c_long = 182; pub const SYS_capget: ::c_long = 183; pub const SYS_capset: ::c_long = 184; pub const SYS_sigaltstack: ::c_long = 185; pub const SYS_sendfile: ::c_long = 186; pub const SYS_getpmsg: ::c_long = 187; pub const SYS_putpmsg: ::c_long = 188; pub const SYS_vfork: ::c_long = 189; pub const SYS_ugetrlimit: ::c_long = 190; pub const SYS_readahead: ::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_pciconfig_read: ::c_long = 198; pub const SYS_pciconfig_write: ::c_long = 199; pub const SYS_pciconfig_iobase: ::c_long = 200; pub const SYS_multiplexer: ::c_long = 201; pub const SYS_getdents64: ::c_long = 202; pub const SYS_pivot_root: ::c_long = 203; pub const SYS_fcntl64: ::c_long = 204; pub const SYS_madvise: ::c_long = 205; pub const SYS_mincore: ::c_long = 206; pub const SYS_gettid: ::c_long = 207; pub const SYS_tkill: ::c_long = 208; pub const SYS_setxattr: ::c_long = 209; pub const SYS_lsetxattr: ::c_long = 210; pub const SYS_fsetxattr: ::c_long = 211; pub const SYS_getxattr: ::c_long = 212; pub const SYS_lgetxattr: ::c_long = 213; pub const SYS_fgetxattr: ::c_long = 214; pub const SYS_listxattr: ::c_long = 215; pub const SYS_llistxattr: ::c_long = 216; pub const SYS_flistxattr: ::c_long = 217; pub const SYS_removexattr: ::c_long = 218; pub const SYS_lremovexattr: ::c_long = 219; pub const SYS_fremovexattr: ::c_long = 220; pub const SYS_futex: ::c_long = 221; pub const SYS_sched_setaffinity: ::c_long = 222; pub const SYS_sched_getaffinity: ::c_long = 223; pub const SYS_tuxcall: ::c_long = 225; pub const SYS_sendfile64: ::c_long = 226; pub const SYS_io_setup: ::c_long = 227; pub const SYS_io_destroy: ::c_long = 228; pub const SYS_io_getevents: ::c_long = 229; pub const SYS_io_submit: ::c_long = 230; pub const SYS_io_cancel: ::c_long = 231; pub const SYS_set_tid_address: ::c_long = 232; pub const SYS_fadvise64: ::c_long = 233; pub const SYS_exit_group: ::c_long = 234; pub const SYS_lookup_dcookie: ::c_long = 235; pub const SYS_epoll_create: ::c_long = 236; pub const SYS_epoll_ctl: ::c_long = 237; pub const SYS_epoll_wait: ::c_long = 238; pub const SYS_remap_file_pages: ::c_long = 239; pub const SYS_timer_create: ::c_long = 240; pub const SYS_timer_settime: ::c_long = 241; pub const SYS_timer_gettime: ::c_long = 242; pub const SYS_timer_getoverrun: ::c_long = 243; pub const SYS_timer_delete: ::c_long = 244; pub const SYS_clock_settime: ::c_long = 245; pub const SYS_clock_gettime: ::c_long = 246; pub const SYS_clock_getres: ::c_long = 247; pub const SYS_clock_nanosleep: ::c_long = 248; pub const SYS_swapcontext: ::c_long = 249; pub const SYS_tgkill: ::c_long = 250; pub const SYS_utimes: ::c_long = 251; pub const SYS_statfs64: ::c_long = 252; pub const SYS_fstatfs64: ::c_long = 253; pub const SYS_fadvise64_64: ::c_long = 254; pub const SYS_rtas: ::c_long = 255; pub const SYS_sys_debug_setcontext: ::c_long = 256; pub const SYS_migrate_pages: ::c_long = 258; pub const SYS_mbind: ::c_long = 259; pub const SYS_get_mempolicy: ::c_long = 260; pub const SYS_set_mempolicy: ::c_long = 261; pub const SYS_mq_open: ::c_long = 262; pub const SYS_mq_unlink: ::c_long = 263; pub const SYS_mq_timedsend: ::c_long = 264; pub const SYS_mq_timedreceive: ::c_long = 265; pub const SYS_mq_notify: ::c_long = 266; pub const SYS_mq_getsetattr: ::c_long = 267; pub const SYS_kexec_load: ::c_long = 268; pub const SYS_add_key: ::c_long = 269; pub const SYS_request_key: ::c_long = 270; pub const SYS_keyctl: ::c_long = 271; pub const SYS_waitid: ::c_long = 272; pub const SYS_ioprio_set: ::c_long = 273; pub const SYS_ioprio_get: ::c_long = 274; pub const SYS_inotify_init: ::c_long = 275; pub const SYS_inotify_add_watch: ::c_long = 276; pub const SYS_inotify_rm_watch: ::c_long = 277; pub const SYS_spu_run: ::c_long = 278; pub const SYS_spu_create: ::c_long = 279; pub const SYS_pselect6: ::c_long = 280; pub const SYS_ppoll: ::c_long = 281; pub const SYS_unshare: ::c_long = 282; pub const SYS_splice: ::c_long = 283; pub const SYS_tee: ::c_long = 284; pub const SYS_vmsplice: ::c_long = 285; pub const SYS_openat: ::c_long = 286; pub const SYS_mkdirat: ::c_long = 287; pub const SYS_mknodat: ::c_long = 288; pub const SYS_fchownat: ::c_long = 289; pub const SYS_futimesat: ::c_long = 290; pub const SYS_fstatat64: ::c_long = 291; pub const SYS_unlinkat: ::c_long = 292; pub const SYS_renameat: ::c_long = 293; pub const SYS_linkat: ::c_long = 294; pub const SYS_symlinkat: ::c_long = 295; pub const SYS_readlinkat: ::c_long = 296; pub const SYS_fchmodat: ::c_long = 297; pub const SYS_faccessat: ::c_long = 298; pub const SYS_get_robust_list: ::c_long = 299; pub const SYS_set_robust_list: ::c_long = 300; pub const SYS_move_pages: ::c_long = 301; pub const SYS_getcpu: ::c_long = 302; pub const SYS_epoll_pwait: ::c_long = 303; pub const SYS_utimensat: ::c_long = 304; pub const SYS_signalfd: ::c_long = 305; pub const SYS_timerfd_create: ::c_long = 306; pub const SYS_eventfd: ::c_long = 307; pub const SYS_sync_file_range2: ::c_long = 308; pub const SYS_fallocate: ::c_long = 309; pub const SYS_subpage_prot: ::c_long = 310; pub const SYS_timerfd_settime: ::c_long = 311; pub const SYS_timerfd_gettime: ::c_long = 312; pub const SYS_signalfd4: ::c_long = 313; pub const SYS_eventfd2: ::c_long = 314; pub const SYS_epoll_create1: ::c_long = 315; pub const SYS_dup3: ::c_long = 316; pub const SYS_pipe2: ::c_long = 317; pub const SYS_inotify_init1: ::c_long = 318; pub const SYS_perf_event_open: ::c_long = 319; pub const SYS_preadv: ::c_long = 320; pub const SYS_pwritev: ::c_long = 321; pub const SYS_rt_tgsigqueueinfo: ::c_long = 322; pub const SYS_fanotify_init: ::c_long = 323; pub const SYS_fanotify_mark: ::c_long = 324; pub const SYS_prlimit64: ::c_long = 325; pub const SYS_socket: ::c_long = 326; pub const SYS_bind: ::c_long = 327; pub const SYS_connect: ::c_long = 328; pub const SYS_listen: ::c_long = 329; pub const SYS_accept: ::c_long = 330; pub const SYS_getsockname: ::c_long = 331; pub const SYS_getpeername: ::c_long = 332; pub const SYS_socketpair: ::c_long = 333; pub const SYS_send: ::c_long = 334; pub const SYS_sendto: ::c_long = 335; pub const SYS_recv: ::c_long = 336; pub const SYS_recvfrom: ::c_long = 337; pub const SYS_shutdown: ::c_long = 338; pub const SYS_setsockopt: ::c_long = 339; pub const SYS_getsockopt: ::c_long = 340; pub const SYS_sendmsg: ::c_long = 341; pub const SYS_recvmsg: ::c_long = 342; pub const SYS_recvmmsg: ::c_long = 343; pub const SYS_accept4: ::c_long = 344; pub const SYS_name_to_handle_at: ::c_long = 345; pub const SYS_open_by_handle_at: ::c_long = 346; pub const SYS_clock_adjtime: ::c_long = 347; pub const SYS_syncfs: ::c_long = 348; pub const SYS_sendmmsg: ::c_long = 349; pub const SYS_setns: ::c_long = 350; pub const SYS_process_vm_readv: ::c_long = 351; pub const SYS_process_vm_writev: ::c_long = 352; pub const SYS_finit_module: ::c_long = 353; pub const SYS_kcmp: ::c_long = 354; pub const SYS_sched_setattr: ::c_long = 355; pub const SYS_sched_getattr: ::c_long = 356; pub const SYS_renameat2: ::c_long = 357; pub const SYS_seccomp: ::c_long = 358; pub const SYS_getrandom: ::c_long = 359; pub const SYS_memfd_create: ::c_long = 360; pub const SYS_bpf: ::c_long = 361; pub const SYS_execveat: ::c_long = 362; pub const SYS_switch_endian: ::c_long = 363; pub const SYS_userfaultfd: ::c_long = 364; pub const SYS_membarrier: ::c_long = 365; pub const SYS_mlock2: ::c_long = 378; pub const SYS_copy_file_range: ::c_long = 379; pub const SYS_preadv2: ::c_long = 380; pub const SYS_pwritev2: ::c_long = 381; pub const SYS_kexec_file_load: ::c_long = 382; pub const SYS_statx: ::c_long = 383; pub const SYS_pkey_alloc: ::c_long = 384; pub const SYS_pkey_free: ::c_long = 385; pub const SYS_pkey_mprotect: ::c_long = 386; extern "C" { pub fn getrandom( buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint, ) -> ::ssize_t; } libc-0.2.66/src/unix/linux_like/linux/musl/b32/x86/align.rs010064400007650000024000000002241355140103400214360ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(8))] pub struct max_align_t { priv_: [f64; 3] } } libc-0.2.66/src/unix/linux_like/linux/musl/b32/x86/mod.rs010064400007650000024000001013261357020644200211370ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; s! { pub struct stat { pub st_dev: ::dev_t, __st_dev_padding: ::c_int, __st_ino_truncated: ::c_long, 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, __st_rdev_padding: ::c_int, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, pub st_ino: ::ino_t, } pub struct stat64 { pub st_dev: ::dev_t, __st_dev_padding: ::c_int, __st_ino_truncated: ::c_long, 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, __st_rdev_padding: ::c_int, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, pub st_ino: ::ino_t, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_int, __unused1: ::c_long, __unused2: ::c_long } pub struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_segsz: ::size_t, pub shm_atime: ::time_t, __unused1: ::c_int, pub shm_dtime: ::time_t, __unused2: ::c_int, pub shm_ctime: ::time_t, __unused3: ::c_int, pub shm_cpid: ::pid_t, pub shm_lpid: ::pid_t, pub shm_nattch: ::c_ulong, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, __unused1: ::c_int, pub msg_rtime: ::time_t, __unused2: ::c_int, pub msg_ctime: ::time_t, __unused3: ::c_int, __msg_cbytes: ::c_ulong, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct statfs { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct mcontext_t { __private: [u32; 22] } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub _pad: [::c_int; 29], _align: [usize; 0], } pub struct statfs64 { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, __f_unused: ::c_int, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } } s_no_extra_traits! { 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, __private: [u8; 112], } } 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 && self .__private .iter() .zip(other.__private.iter()) .all(|(a,b)| a == b) } } 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_stack", &self.uc_stack) .field("uc_mcontext", &self.uc_mcontext) .field("uc_sigmask", &self.uc_sigmask) // Ignore __private field .finish() } } impl ::hash::Hash for ucontext_t { fn hash(&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); self.__private.hash(state); } } } } pub const SIGSTKSZ: ::size_t = 8192; pub const MINSIGSTKSZ: ::size_t = 2048; pub const O_DIRECT: ::c_int = 0x4000; pub const O_DIRECTORY: ::c_int = 0x10000; 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 MADV_SOFT_OFFLINE: ::c_int = 101; 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 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 SOCK_NONBLOCK: ::c_int = 2048; 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 SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOL_SOCKET: ::c_int = 1; 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 EDEADLOCK: ::c_int = EDEADLK; pub const EMULTIHOP: ::c_int = 72; 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 ENOTSUP: ::c_int = EOPNOTSUPP; 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 ERFKILL: ::c_int = 132; pub const EHWPOISON: ::c_int = 133; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; 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 EXTPROC: ::tcflag_t = 0x00010000; pub const MAP_HUGETLB: ::c_int = 0x040000; pub const MAP_32BIT: ::c_int = 0x0040; pub const F_GETLK: ::c_int = 12; pub const F_GETOWN: ::c_int = 9; pub const F_SETLK: ::c_int = 13; pub const F_SETLKW: ::c_int = 14; pub const F_SETOWN: ::c_int = 8; pub const VEOF: usize = 4; 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 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; 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_time: ::c_long = 13; pub const SYS_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_break: ::c_long = 17; pub const SYS_oldstat: ::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_umount: ::c_long = 22; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_stime: ::c_long = 25; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_oldfstat: ::c_long = 28; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::c_long = 30; pub const SYS_stty: ::c_long = 31; pub const SYS_gtty: ::c_long = 32; pub const SYS_access: ::c_long = 33; pub const SYS_nice: ::c_long = 34; pub const SYS_ftime: ::c_long = 35; 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_prof: ::c_long = 44; pub const SYS_brk: ::c_long = 45; pub const SYS_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_signal: ::c_long = 48; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::c_long = 52; pub const SYS_lock: ::c_long = 53; pub const SYS_ioctl: ::c_long = 54; pub const SYS_fcntl: ::c_long = 55; pub const SYS_mpx: ::c_long = 56; pub const SYS_setpgid: ::c_long = 57; pub const SYS_ulimit: ::c_long = 58; pub const SYS_oldolduname: ::c_long = 59; 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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_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_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_select: ::c_long = 82; pub const SYS_symlink: ::c_long = 83; pub const SYS_oldlstat: ::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_readdir: ::c_long = 89; pub const SYS_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_fchown: ::c_long = 95; pub const SYS_getpriority: ::c_long = 96; pub const SYS_setpriority: ::c_long = 97; pub const SYS_profil: ::c_long = 98; pub const SYS_statfs: ::c_long = 99; pub const SYS_fstatfs: ::c_long = 100; pub const SYS_ioperm: ::c_long = 101; 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_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::c_long = 108; pub const SYS_olduname: ::c_long = 109; pub const SYS_iopl: ::c_long = 110; pub const SYS_vhangup: ::c_long = 111; pub const SYS_idle: ::c_long = 112; pub const SYS_vm86old: ::c_long = 113; 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_uname: ::c_long = 122; pub const SYS_modify_ldt: ::c_long = 123; pub const SYS_adjtimex: ::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_afs_syscall: ::c_long = 137; pub const SYS_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; pub const SYS__newselect: ::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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_vm86: ::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_setresgid: ::c_long = 170; pub const SYS_getresgid: ::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: ::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_chown: ::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_ugetrlimit: ::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_lchown32: ::c_long = 198; pub const SYS_getuid32: ::c_long = 199; pub const SYS_getgid32: ::c_long = 200; pub const SYS_geteuid32: ::c_long = 201; pub const SYS_getegid32: ::c_long = 202; pub const SYS_setreuid32: ::c_long = 203; pub const SYS_setregid32: ::c_long = 204; pub const SYS_getgroups32: ::c_long = 205; pub const SYS_setgroups32: ::c_long = 206; pub const SYS_fchown32: ::c_long = 207; pub const SYS_setresuid32: ::c_long = 208; pub const SYS_getresuid32: ::c_long = 209; pub const SYS_setresgid32: ::c_long = 210; pub const SYS_getresgid32: ::c_long = 211; pub const SYS_chown32: ::c_long = 212; pub const SYS_setuid32: ::c_long = 213; pub const SYS_setgid32: ::c_long = 214; pub const SYS_setfsuid32: ::c_long = 215; pub const SYS_setfsgid32: ::c_long = 216; pub const SYS_pivot_root: ::c_long = 217; pub const SYS_mincore: ::c_long = 218; pub const SYS_madvise: ::c_long = 219; pub const SYS_getdents64: ::c_long = 220; pub const SYS_fcntl64: ::c_long = 221; pub const SYS_gettid: ::c_long = 224; pub const SYS_readahead: ::c_long = 225; pub const SYS_setxattr: ::c_long = 226; pub const SYS_lsetxattr: ::c_long = 227; pub const SYS_fsetxattr: ::c_long = 228; pub const SYS_getxattr: ::c_long = 229; pub const SYS_lgetxattr: ::c_long = 230; pub const SYS_fgetxattr: ::c_long = 231; pub const SYS_listxattr: ::c_long = 232; pub const SYS_llistxattr: ::c_long = 233; pub const SYS_flistxattr: ::c_long = 234; pub const SYS_removexattr: ::c_long = 235; pub const SYS_lremovexattr: ::c_long = 236; pub const SYS_fremovexattr: ::c_long = 237; pub const SYS_tkill: ::c_long = 238; pub const SYS_sendfile64: ::c_long = 239; pub const SYS_futex: ::c_long = 240; pub const SYS_sched_setaffinity: ::c_long = 241; pub const SYS_sched_getaffinity: ::c_long = 242; pub const SYS_set_thread_area: ::c_long = 243; pub const SYS_get_thread_area: ::c_long = 244; pub const SYS_io_setup: ::c_long = 245; pub const SYS_io_destroy: ::c_long = 246; pub const SYS_io_getevents: ::c_long = 247; pub const SYS_io_submit: ::c_long = 248; pub const SYS_io_cancel: ::c_long = 249; pub const SYS_fadvise64: ::c_long = 250; pub const SYS_exit_group: ::c_long = 252; pub const SYS_lookup_dcookie: ::c_long = 253; pub const SYS_epoll_create: ::c_long = 254; pub const SYS_epoll_ctl: ::c_long = 255; pub const SYS_epoll_wait: ::c_long = 256; pub const SYS_remap_file_pages: ::c_long = 257; pub const SYS_set_tid_address: ::c_long = 258; pub const SYS_timer_create: ::c_long = 259; pub const SYS_timer_settime: ::c_long = 260; pub const SYS_timer_gettime: ::c_long = 261; pub const SYS_timer_getoverrun: ::c_long = 262; pub const SYS_timer_delete: ::c_long = 263; pub const SYS_clock_settime: ::c_long = 264; pub const SYS_clock_gettime: ::c_long = 265; pub const SYS_clock_getres: ::c_long = 266; pub const SYS_clock_nanosleep: ::c_long = 267; pub const SYS_statfs64: ::c_long = 268; pub const SYS_fstatfs64: ::c_long = 269; pub const SYS_tgkill: ::c_long = 270; pub const SYS_utimes: ::c_long = 271; pub const SYS_fadvise64_64: ::c_long = 272; pub const SYS_vserver: ::c_long = 273; pub const SYS_mbind: ::c_long = 274; pub const SYS_get_mempolicy: ::c_long = 275; pub const SYS_set_mempolicy: ::c_long = 276; pub const SYS_mq_open: ::c_long = 277; pub const SYS_mq_unlink: ::c_long = 278; pub const SYS_mq_timedsend: ::c_long = 279; pub const SYS_mq_timedreceive: ::c_long = 280; pub const SYS_mq_notify: ::c_long = 281; pub const SYS_mq_getsetattr: ::c_long = 282; pub const SYS_kexec_load: ::c_long = 283; pub const SYS_waitid: ::c_long = 284; pub const SYS_add_key: ::c_long = 286; pub const SYS_request_key: ::c_long = 287; pub const SYS_keyctl: ::c_long = 288; pub const SYS_ioprio_set: ::c_long = 289; pub const SYS_ioprio_get: ::c_long = 290; pub const SYS_inotify_init: ::c_long = 291; pub const SYS_inotify_add_watch: ::c_long = 292; pub const SYS_inotify_rm_watch: ::c_long = 293; pub const SYS_migrate_pages: ::c_long = 294; pub const SYS_openat: ::c_long = 295; pub const SYS_mkdirat: ::c_long = 296; pub const SYS_mknodat: ::c_long = 297; pub const SYS_fchownat: ::c_long = 298; pub const SYS_futimesat: ::c_long = 299; pub const SYS_fstatat64: ::c_long = 300; pub const SYS_unlinkat: ::c_long = 301; pub const SYS_renameat: ::c_long = 302; pub const SYS_linkat: ::c_long = 303; pub const SYS_symlinkat: ::c_long = 304; pub const SYS_readlinkat: ::c_long = 305; pub const SYS_fchmodat: ::c_long = 306; pub const SYS_faccessat: ::c_long = 307; pub const SYS_pselect6: ::c_long = 308; pub const SYS_ppoll: ::c_long = 309; pub const SYS_unshare: ::c_long = 310; pub const SYS_set_robust_list: ::c_long = 311; pub const SYS_get_robust_list: ::c_long = 312; pub const SYS_splice: ::c_long = 313; pub const SYS_sync_file_range: ::c_long = 314; pub const SYS_tee: ::c_long = 315; pub const SYS_vmsplice: ::c_long = 316; pub const SYS_move_pages: ::c_long = 317; pub const SYS_getcpu: ::c_long = 318; pub const SYS_epoll_pwait: ::c_long = 319; pub const SYS_utimensat: ::c_long = 320; pub const SYS_signalfd: ::c_long = 321; pub const SYS_timerfd_create: ::c_long = 322; pub const SYS_eventfd: ::c_long = 323; pub const SYS_fallocate: ::c_long = 324; pub const SYS_timerfd_settime: ::c_long = 325; pub const SYS_timerfd_gettime: ::c_long = 326; pub const SYS_signalfd4: ::c_long = 327; pub const SYS_eventfd2: ::c_long = 328; pub const SYS_epoll_create1: ::c_long = 329; pub const SYS_dup3: ::c_long = 330; pub const SYS_pipe2: ::c_long = 331; pub const SYS_inotify_init1: ::c_long = 332; pub const SYS_preadv: ::c_long = 333; pub const SYS_pwritev: ::c_long = 334; pub const SYS_rt_tgsigqueueinfo: ::c_long = 335; pub const SYS_perf_event_open: ::c_long = 336; pub const SYS_recvmmsg: ::c_long = 337; pub const SYS_fanotify_init: ::c_long = 338; pub const SYS_fanotify_mark: ::c_long = 339; pub const SYS_prlimit64: ::c_long = 340; pub const SYS_name_to_handle_at: ::c_long = 341; pub const SYS_open_by_handle_at: ::c_long = 342; pub const SYS_clock_adjtime: ::c_long = 343; pub const SYS_syncfs: ::c_long = 344; pub const SYS_sendmmsg: ::c_long = 345; pub const SYS_setns: ::c_long = 346; pub const SYS_process_vm_readv: ::c_long = 347; pub const SYS_process_vm_writev: ::c_long = 348; pub const SYS_kcmp: ::c_long = 349; pub const SYS_finit_module: ::c_long = 350; pub const SYS_sched_setattr: ::c_long = 351; pub const SYS_sched_getattr: ::c_long = 352; pub const SYS_renameat2: ::c_long = 353; pub const SYS_seccomp: ::c_long = 354; pub const SYS_getrandom: ::c_long = 355; pub const SYS_memfd_create: ::c_long = 356; pub const SYS_bpf: ::c_long = 357; pub const SYS_execveat: ::c_long = 358; pub const SYS_socket: ::c_long = 359; pub const SYS_socketpair: ::c_long = 360; pub const SYS_bind: ::c_long = 361; pub const SYS_connect: ::c_long = 362; pub const SYS_listen: ::c_long = 363; pub const SYS_accept4: ::c_long = 364; pub const SYS_getsockopt: ::c_long = 365; pub const SYS_setsockopt: ::c_long = 366; pub const SYS_getsockname: ::c_long = 367; pub const SYS_getpeername: ::c_long = 368; pub const SYS_sendto: ::c_long = 369; pub const SYS_sendmsg: ::c_long = 370; pub const SYS_recvfrom: ::c_long = 371; pub const SYS_recvmsg: ::c_long = 372; pub const SYS_shutdown: ::c_long = 373; pub const SYS_userfaultfd: ::c_long = 374; pub const SYS_membarrier: ::c_long = 375; pub const SYS_mlock2: ::c_long = 376; pub const SYS_copy_file_range: ::c_long = 377; pub const SYS_preadv2: ::c_long = 378; pub const SYS_pwritev2: ::c_long = 379; pub const SYS_pkey_mprotect: ::c_long = 380; pub const SYS_pkey_alloc: ::c_long = 381; pub const SYS_pkey_free: ::c_long = 382; pub const SYS_statx: ::c_long = 383; // offsets in user_regs_structs, from sys/reg.h pub const EBX: ::c_int = 0; pub const ECX: ::c_int = 1; pub const EDX: ::c_int = 2; pub const ESI: ::c_int = 3; pub const EDI: ::c_int = 4; pub const EBP: ::c_int = 5; pub const EAX: ::c_int = 6; pub const DS: ::c_int = 7; pub const ES: ::c_int = 8; pub const FS: ::c_int = 9; pub const GS: ::c_int = 10; pub const ORIG_EAX: ::c_int = 11; pub const EIP: ::c_int = 12; pub const CS: ::c_int = 13; pub const EFL: ::c_int = 14; pub const UESP: ::c_int = 15; pub const SS: ::c_int = 16; extern "C" { pub fn getrandom( buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint, ) -> ::ssize_t; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/musl/b64/aarch64/align.rs010064400007650000024000000002251355140103400222470ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f32; 8] } } libc-0.2.66/src/unix/linux_like/linux/musl/b64/aarch64/mod.rs010064400007650000024000000564671357020644200217660ustar0000000000000000pub type c_char = u8; pub type __u64 = ::c_ulonglong; pub type wchar_t = u32; pub type nlink_t = u32; pub type blksize_t = ::c_int; 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, __pad0: ::c_ulong, pub st_size: ::off_t, pub st_blksize: ::blksize_t, __pad1: ::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_uint; 2], } pub struct stat64 { 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, __pad0: ::c_ulong, pub st_size: ::off_t, pub st_blksize: ::blksize_t, __pad1: ::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_uint; 2], } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_ushort, __unused1: ::c_ulong, __unused2: ::c_ulong, } } pub const O_APPEND: ::c_int = 1024; pub const O_DIRECT: ::c_int = 0x10000; pub const O_DIRECTORY: ::c_int = 0x4000; pub const O_LARGEFILE: ::c_int = 0x20000; pub const O_NOFOLLOW: ::c_int = 0x8000; 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 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 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 ENOTSUP: ::c_int = EOPNOTSUPP; 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 ERFKILL: ::c_int = 132; pub const EHWPOISON: ::c_int = 133; 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 SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOL_SOCKET: ::c_int = 1; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; 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 VEOF: usize = 4; pub const POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; pub const MINSIGSTKSZ: ::size_t = 6144; pub const SIGSTKSZ: ::size_t = 12288; pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const SYS_io_setup: ::c_long = 0; pub const SYS_io_destroy: ::c_long = 1; pub const SYS_io_submit: ::c_long = 2; pub const SYS_io_cancel: ::c_long = 3; pub const SYS_io_getevents: ::c_long = 4; 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_getcwd: ::c_long = 17; pub const SYS_lookup_dcookie: ::c_long = 18; pub const SYS_eventfd2: ::c_long = 19; pub const SYS_epoll_create1: ::c_long = 20; 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; pub const SYS_ioctl: ::c_long = 29; pub const SYS_ioprio_set: ::c_long = 30; pub const SYS_ioprio_get: ::c_long = 31; pub const SYS_flock: ::c_long = 32; pub const SYS_mknodat: ::c_long = 33; pub const SYS_mkdirat: ::c_long = 34; pub const SYS_unlinkat: ::c_long = 35; pub const SYS_symlinkat: ::c_long = 36; pub const SYS_linkat: ::c_long = 37; pub const SYS_renameat: ::c_long = 38; pub const SYS_umount2: ::c_long = 39; pub const SYS_mount: ::c_long = 40; pub const SYS_pivot_root: ::c_long = 41; pub const SYS_nfsservctl: ::c_long = 42; pub const SYS_fallocate: ::c_long = 47; pub const SYS_faccessat: ::c_long = 48; pub const SYS_chdir: ::c_long = 49; pub const SYS_fchdir: ::c_long = 50; pub const SYS_chroot: ::c_long = 51; pub const SYS_fchmod: ::c_long = 52; pub const SYS_fchmodat: ::c_long = 53; pub const SYS_fchownat: ::c_long = 54; pub const SYS_fchown: ::c_long = 55; pub const SYS_openat: ::c_long = 56; pub const SYS_close: ::c_long = 57; pub const SYS_vhangup: ::c_long = 58; pub const SYS_pipe2: ::c_long = 59; pub const SYS_quotactl: ::c_long = 60; pub const SYS_getdents64: ::c_long = 61; pub const SYS_lseek: ::c_long = 62; pub const SYS_read: ::c_long = 63; pub const SYS_write: ::c_long = 64; pub const SYS_readv: ::c_long = 65; pub const SYS_writev: ::c_long = 66; pub const SYS_pread64: ::c_long = 67; pub const SYS_pwrite64: ::c_long = 68; pub const SYS_preadv: ::c_long = 69; pub const SYS_pwritev: ::c_long = 70; pub const SYS_pselect6: ::c_long = 72; pub const SYS_ppoll: ::c_long = 73; pub const SYS_signalfd4: ::c_long = 74; pub const SYS_vmsplice: ::c_long = 75; pub const SYS_splice: ::c_long = 76; pub const SYS_tee: ::c_long = 77; pub const SYS_readlinkat: ::c_long = 78; pub const SYS_newfstatat: ::c_long = 79; pub const SYS_fstat: ::c_long = 80; pub const SYS_sync: ::c_long = 81; pub const SYS_fsync: ::c_long = 82; pub const SYS_fdatasync: ::c_long = 83; pub const SYS_sync_file_range: ::c_long = 84; pub const SYS_timerfd_create: ::c_long = 85; pub const SYS_timerfd_settime: ::c_long = 86; pub const SYS_timerfd_gettime: ::c_long = 87; pub const SYS_utimensat: ::c_long = 88; pub const SYS_acct: ::c_long = 89; pub const SYS_capget: ::c_long = 90; pub const SYS_capset: ::c_long = 91; pub const SYS_personality: ::c_long = 92; pub const SYS_exit: ::c_long = 93; pub const SYS_exit_group: ::c_long = 94; pub const SYS_waitid: ::c_long = 95; pub const SYS_set_tid_address: ::c_long = 96; pub const SYS_unshare: ::c_long = 97; pub const SYS_futex: ::c_long = 98; pub const SYS_set_robust_list: ::c_long = 99; pub const SYS_get_robust_list: ::c_long = 100; pub const SYS_nanosleep: ::c_long = 101; pub const SYS_getitimer: ::c_long = 102; pub const SYS_setitimer: ::c_long = 103; pub const SYS_kexec_load: ::c_long = 104; pub const SYS_init_module: ::c_long = 105; pub const SYS_delete_module: ::c_long = 106; pub const SYS_timer_create: ::c_long = 107; pub const SYS_timer_gettime: ::c_long = 108; pub const SYS_timer_getoverrun: ::c_long = 109; pub const SYS_timer_settime: ::c_long = 110; 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_syslog: ::c_long = 116; pub const SYS_ptrace: ::c_long = 117; pub const SYS_sched_setparam: ::c_long = 118; pub const SYS_sched_setscheduler: ::c_long = 119; pub const SYS_sched_getscheduler: ::c_long = 120; pub const SYS_sched_getparam: ::c_long = 121; pub const SYS_sched_setaffinity: ::c_long = 122; pub const SYS_sched_getaffinity: ::c_long = 123; pub const SYS_sched_yield: ::c_long = 124; 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_restart_syscall: ::c_long = 128; pub const SYS_kill: ::c_long = 129; pub const SYS_tkill: ::c_long = 130; pub const SYS_tgkill: ::c_long = 131; pub const SYS_sigaltstack: ::c_long = 132; pub const SYS_rt_sigsuspend: ::c_long = 133; pub const SYS_rt_sigaction: ::c_long = 134; pub const SYS_rt_sigprocmask: ::c_long = 135; 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_sigreturn: ::c_long = 139; pub const SYS_setpriority: ::c_long = 140; pub const SYS_getpriority: ::c_long = 141; pub const SYS_reboot: ::c_long = 142; pub const SYS_setregid: ::c_long = 143; pub const SYS_setgid: ::c_long = 144; pub const SYS_setreuid: ::c_long = 145; pub const SYS_setuid: ::c_long = 146; 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_setfsuid: ::c_long = 151; pub const SYS_setfsgid: ::c_long = 152; pub const SYS_times: ::c_long = 153; pub const SYS_setpgid: ::c_long = 154; pub const SYS_getpgid: ::c_long = 155; pub const SYS_getsid: ::c_long = 156; pub const SYS_setsid: ::c_long = 157; pub const SYS_getgroups: ::c_long = 158; pub const SYS_setgroups: ::c_long = 159; pub const SYS_uname: ::c_long = 160; pub const SYS_sethostname: ::c_long = 161; pub const SYS_setdomainname: ::c_long = 162; pub const SYS_getrlimit: ::c_long = 163; pub const SYS_setrlimit: ::c_long = 164; pub const SYS_getrusage: ::c_long = 165; pub const SYS_umask: ::c_long = 166; pub const SYS_prctl: ::c_long = 167; pub const SYS_getcpu: ::c_long = 168; pub const SYS_gettimeofday: ::c_long = 169; pub const SYS_settimeofday: ::c_long = 170; pub const SYS_adjtimex: ::c_long = 171; pub const SYS_getpid: ::c_long = 172; pub const SYS_getppid: ::c_long = 173; pub const SYS_getuid: ::c_long = 174; pub const SYS_geteuid: ::c_long = 175; pub const SYS_getgid: ::c_long = 176; pub const SYS_getegid: ::c_long = 177; pub const SYS_gettid: ::c_long = 178; pub const SYS_sysinfo: ::c_long = 179; 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_msgget: ::c_long = 186; pub const SYS_msgctl: ::c_long = 187; pub const SYS_msgrcv: ::c_long = 188; pub const SYS_msgsnd: ::c_long = 189; pub const SYS_semget: ::c_long = 190; pub const SYS_semctl: ::c_long = 191; pub const SYS_semtimedop: ::c_long = 192; pub const SYS_semop: ::c_long = 193; pub const SYS_shmget: ::c_long = 194; pub const SYS_shmctl: ::c_long = 195; pub const SYS_shmat: ::c_long = 196; pub const SYS_shmdt: ::c_long = 197; pub const SYS_socket: ::c_long = 198; pub const SYS_socketpair: ::c_long = 199; pub const SYS_bind: ::c_long = 200; pub const SYS_listen: ::c_long = 201; pub const SYS_accept: ::c_long = 202; pub const SYS_connect: ::c_long = 203; pub const SYS_getsockname: ::c_long = 204; pub const SYS_getpeername: ::c_long = 205; pub const SYS_sendto: ::c_long = 206; pub const SYS_recvfrom: ::c_long = 207; pub const SYS_setsockopt: ::c_long = 208; pub const SYS_getsockopt: ::c_long = 209; pub const SYS_shutdown: ::c_long = 210; pub const SYS_sendmsg: ::c_long = 211; pub const SYS_recvmsg: ::c_long = 212; pub const SYS_readahead: ::c_long = 213; pub const SYS_brk: ::c_long = 214; pub const SYS_munmap: ::c_long = 215; pub const SYS_mremap: ::c_long = 216; 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_clone: ::c_long = 220; pub const SYS_execve: ::c_long = 221; pub const SYS_mmap: ::c_long = 222; pub const SYS_swapon: ::c_long = 224; pub const SYS_swapoff: ::c_long = 225; pub const SYS_mprotect: ::c_long = 226; pub const SYS_msync: ::c_long = 227; 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_mincore: ::c_long = 232; pub const SYS_madvise: ::c_long = 233; pub const SYS_remap_file_pages: ::c_long = 234; pub const SYS_mbind: ::c_long = 235; pub const SYS_get_mempolicy: ::c_long = 236; pub const SYS_set_mempolicy: ::c_long = 237; pub const SYS_migrate_pages: ::c_long = 238; pub const SYS_move_pages: ::c_long = 239; pub const SYS_rt_tgsigqueueinfo: ::c_long = 240; pub const SYS_perf_event_open: ::c_long = 241; pub const SYS_accept4: ::c_long = 242; pub const SYS_recvmmsg: ::c_long = 243; pub const SYS_wait4: ::c_long = 260; pub const SYS_prlimit64: ::c_long = 261; pub const SYS_fanotify_init: ::c_long = 262; pub const SYS_fanotify_mark: ::c_long = 263; 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_setns: ::c_long = 268; pub const SYS_sendmmsg: ::c_long = 269; 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 RLIMIT_NLIMITS: ::c_int = 15; 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; 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 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; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; 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 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)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/musl/b64/mips64.rs010064400007650000024000000723061357020644200210670ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; pub type __u64 = ::c_ulong; pub type nlink_t = u64; pub type blksize_t = i64; s! { pub struct stat { pub st_dev: ::dev_t, __pad1: [::c_int; 3], 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_uint; 2], pub st_size: ::off_t, __pad3: ::c_int, 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_blksize: ::blksize_t, __pad4: ::c_uint, pub st_blocks: ::blkcnt_t, __pad5: [::c_int; 14], } pub struct stat64 { pub st_dev: ::dev_t, __pad1: [::c_int; 3], 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_uint; 2], pub st_size: ::off_t, __pad3: ::c_int, 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_blksize: ::blksize_t, __pad4: ::c_uint, pub st_blocks: ::blkcnt_t, __pad5: [::c_int; 14], } pub struct statfs { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 5], } pub struct statfs64 { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 5], } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_int, __pad1: ::c_int, __unused1: ::c_ulong, __unused2: ::c_ulong } } pub const SIGSTKSZ: ::size_t = 8192; pub const MINSIGSTKSZ: ::size_t = 2048; pub const SYS_read: ::c_long = 5000 + 0; pub const SYS_write: ::c_long = 5000 + 1; pub const SYS_open: ::c_long = 5000 + 2; pub const SYS_close: ::c_long = 5000 + 3; pub const SYS_stat: ::c_long = 5000 + 4; pub const SYS_fstat: ::c_long = 5000 + 5; pub const SYS_lstat: ::c_long = 5000 + 6; pub const SYS_poll: ::c_long = 5000 + 7; pub const SYS_lseek: ::c_long = 5000 + 8; pub const SYS_mmap: ::c_long = 5000 + 9; pub const SYS_mprotect: ::c_long = 5000 + 10; pub const SYS_munmap: ::c_long = 5000 + 11; pub const SYS_brk: ::c_long = 5000 + 12; pub const SYS_rt_sigaction: ::c_long = 5000 + 13; pub const SYS_rt_sigprocmask: ::c_long = 5000 + 14; pub const SYS_ioctl: ::c_long = 5000 + 15; pub const SYS_pread64: ::c_long = 5000 + 16; pub const SYS_pwrite64: ::c_long = 5000 + 17; pub const SYS_readv: ::c_long = 5000 + 18; pub const SYS_writev: ::c_long = 5000 + 19; pub const SYS_access: ::c_long = 5000 + 20; pub const SYS_pipe: ::c_long = 5000 + 21; pub const SYS__newselect: ::c_long = 5000 + 22; pub const SYS_sched_yield: ::c_long = 5000 + 23; pub const SYS_mremap: ::c_long = 5000 + 24; pub const SYS_msync: ::c_long = 5000 + 25; pub const SYS_mincore: ::c_long = 5000 + 26; pub const SYS_madvise: ::c_long = 5000 + 27; pub const SYS_shmget: ::c_long = 5000 + 28; pub const SYS_shmat: ::c_long = 5000 + 29; pub const SYS_shmctl: ::c_long = 5000 + 30; pub const SYS_dup: ::c_long = 5000 + 31; pub const SYS_dup2: ::c_long = 5000 + 32; pub const SYS_pause: ::c_long = 5000 + 33; pub const SYS_nanosleep: ::c_long = 5000 + 34; pub const SYS_getitimer: ::c_long = 5000 + 35; pub const SYS_setitimer: ::c_long = 5000 + 36; pub const SYS_alarm: ::c_long = 5000 + 37; pub const SYS_getpid: ::c_long = 5000 + 38; pub const SYS_sendfile: ::c_long = 5000 + 39; pub const SYS_socket: ::c_long = 5000 + 40; pub const SYS_connect: ::c_long = 5000 + 41; pub const SYS_accept: ::c_long = 5000 + 42; pub const SYS_sendto: ::c_long = 5000 + 43; pub const SYS_recvfrom: ::c_long = 5000 + 44; pub const SYS_sendmsg: ::c_long = 5000 + 45; pub const SYS_recvmsg: ::c_long = 5000 + 46; pub const SYS_shutdown: ::c_long = 5000 + 47; pub const SYS_bind: ::c_long = 5000 + 48; pub const SYS_listen: ::c_long = 5000 + 49; pub const SYS_getsockname: ::c_long = 5000 + 50; pub const SYS_getpeername: ::c_long = 5000 + 51; pub const SYS_socketpair: ::c_long = 5000 + 52; pub const SYS_setsockopt: ::c_long = 5000 + 53; pub const SYS_getsockopt: ::c_long = 5000 + 54; pub const SYS_clone: ::c_long = 5000 + 55; pub const SYS_fork: ::c_long = 5000 + 56; pub const SYS_execve: ::c_long = 5000 + 57; pub const SYS_exit: ::c_long = 5000 + 58; pub const SYS_wait4: ::c_long = 5000 + 59; pub const SYS_kill: ::c_long = 5000 + 60; pub const SYS_uname: ::c_long = 5000 + 61; pub const SYS_semget: ::c_long = 5000 + 62; pub const SYS_semop: ::c_long = 5000 + 63; pub const SYS_semctl: ::c_long = 5000 + 64; pub const SYS_shmdt: ::c_long = 5000 + 65; pub const SYS_msgget: ::c_long = 5000 + 66; pub const SYS_msgsnd: ::c_long = 5000 + 67; pub const SYS_msgrcv: ::c_long = 5000 + 68; pub const SYS_msgctl: ::c_long = 5000 + 69; pub const SYS_fcntl: ::c_long = 5000 + 70; pub const SYS_flock: ::c_long = 5000 + 71; pub const SYS_fsync: ::c_long = 5000 + 72; pub const SYS_fdatasync: ::c_long = 5000 + 73; pub const SYS_truncate: ::c_long = 5000 + 74; pub const SYS_ftruncate: ::c_long = 5000 + 75; pub const SYS_getdents: ::c_long = 5000 + 76; pub const SYS_getcwd: ::c_long = 5000 + 77; pub const SYS_chdir: ::c_long = 5000 + 78; pub const SYS_fchdir: ::c_long = 5000 + 79; pub const SYS_rename: ::c_long = 5000 + 80; pub const SYS_mkdir: ::c_long = 5000 + 81; pub const SYS_rmdir: ::c_long = 5000 + 82; pub const SYS_creat: ::c_long = 5000 + 83; pub const SYS_link: ::c_long = 5000 + 84; pub const SYS_unlink: ::c_long = 5000 + 85; pub const SYS_symlink: ::c_long = 5000 + 86; pub const SYS_readlink: ::c_long = 5000 + 87; pub const SYS_chmod: ::c_long = 5000 + 88; pub const SYS_fchmod: ::c_long = 5000 + 89; pub const SYS_chown: ::c_long = 5000 + 90; pub const SYS_fchown: ::c_long = 5000 + 91; pub const SYS_lchown: ::c_long = 5000 + 92; pub const SYS_umask: ::c_long = 5000 + 93; pub const SYS_gettimeofday: ::c_long = 5000 + 94; pub const SYS_getrlimit: ::c_long = 5000 + 95; pub const SYS_getrusage: ::c_long = 5000 + 96; pub const SYS_sysinfo: ::c_long = 5000 + 97; pub const SYS_times: ::c_long = 5000 + 98; pub const SYS_ptrace: ::c_long = 5000 + 99; pub const SYS_getuid: ::c_long = 5000 + 100; pub const SYS_syslog: ::c_long = 5000 + 101; pub const SYS_getgid: ::c_long = 5000 + 102; pub const SYS_setuid: ::c_long = 5000 + 103; pub const SYS_setgid: ::c_long = 5000 + 104; pub const SYS_geteuid: ::c_long = 5000 + 105; pub const SYS_getegid: ::c_long = 5000 + 106; pub const SYS_setpgid: ::c_long = 5000 + 107; pub const SYS_getppid: ::c_long = 5000 + 108; pub const SYS_getpgrp: ::c_long = 5000 + 109; pub const SYS_setsid: ::c_long = 5000 + 110; pub const SYS_setreuid: ::c_long = 5000 + 111; pub const SYS_setregid: ::c_long = 5000 + 112; pub const SYS_getgroups: ::c_long = 5000 + 113; pub const SYS_setgroups: ::c_long = 5000 + 114; pub const SYS_setresuid: ::c_long = 5000 + 115; pub const SYS_getresuid: ::c_long = 5000 + 116; pub const SYS_setresgid: ::c_long = 5000 + 117; pub const SYS_getresgid: ::c_long = 5000 + 118; pub const SYS_getpgid: ::c_long = 5000 + 119; pub const SYS_setfsuid: ::c_long = 5000 + 120; pub const SYS_setfsgid: ::c_long = 5000 + 121; pub const SYS_getsid: ::c_long = 5000 + 122; pub const SYS_capget: ::c_long = 5000 + 123; pub const SYS_capset: ::c_long = 5000 + 124; pub const SYS_rt_sigpending: ::c_long = 5000 + 125; pub const SYS_rt_sigtimedwait: ::c_long = 5000 + 126; pub const SYS_rt_sigqueueinfo: ::c_long = 5000 + 127; pub const SYS_rt_sigsuspend: ::c_long = 5000 + 128; pub const SYS_sigaltstack: ::c_long = 5000 + 129; pub const SYS_utime: ::c_long = 5000 + 130; pub const SYS_mknod: ::c_long = 5000 + 131; pub const SYS_personality: ::c_long = 5000 + 132; pub const SYS_ustat: ::c_long = 5000 + 133; pub const SYS_statfs: ::c_long = 5000 + 134; pub const SYS_fstatfs: ::c_long = 5000 + 135; pub const SYS_sysfs: ::c_long = 5000 + 136; pub const SYS_getpriority: ::c_long = 5000 + 137; pub const SYS_setpriority: ::c_long = 5000 + 138; pub const SYS_sched_setparam: ::c_long = 5000 + 139; pub const SYS_sched_getparam: ::c_long = 5000 + 140; pub const SYS_sched_setscheduler: ::c_long = 5000 + 141; pub const SYS_sched_getscheduler: ::c_long = 5000 + 142; pub const SYS_sched_get_priority_max: ::c_long = 5000 + 143; pub const SYS_sched_get_priority_min: ::c_long = 5000 + 144; pub const SYS_sched_rr_get_interval: ::c_long = 5000 + 145; pub const SYS_mlock: ::c_long = 5000 + 146; pub const SYS_munlock: ::c_long = 5000 + 147; pub const SYS_mlockall: ::c_long = 5000 + 148; pub const SYS_munlockall: ::c_long = 5000 + 149; pub const SYS_vhangup: ::c_long = 5000 + 150; pub const SYS_pivot_root: ::c_long = 5000 + 151; pub const SYS__sysctl: ::c_long = 5000 + 152; pub const SYS_prctl: ::c_long = 5000 + 153; pub const SYS_adjtimex: ::c_long = 5000 + 154; pub const SYS_setrlimit: ::c_long = 5000 + 155; pub const SYS_chroot: ::c_long = 5000 + 156; pub const SYS_sync: ::c_long = 5000 + 157; pub const SYS_acct: ::c_long = 5000 + 158; pub const SYS_settimeofday: ::c_long = 5000 + 159; pub const SYS_mount: ::c_long = 5000 + 160; pub const SYS_umount2: ::c_long = 5000 + 161; pub const SYS_swapon: ::c_long = 5000 + 162; pub const SYS_swapoff: ::c_long = 5000 + 163; pub const SYS_reboot: ::c_long = 5000 + 164; pub const SYS_sethostname: ::c_long = 5000 + 165; pub const SYS_setdomainname: ::c_long = 5000 + 166; pub const SYS_create_module: ::c_long = 5000 + 167; pub const SYS_init_module: ::c_long = 5000 + 168; pub const SYS_delete_module: ::c_long = 5000 + 169; pub const SYS_get_kernel_syms: ::c_long = 5000 + 170; pub const SYS_query_module: ::c_long = 5000 + 171; pub const SYS_quotactl: ::c_long = 5000 + 172; pub const SYS_nfsservctl: ::c_long = 5000 + 173; pub const SYS_getpmsg: ::c_long = 5000 + 174; pub const SYS_putpmsg: ::c_long = 5000 + 175; pub const SYS_afs_syscall: ::c_long = 5000 + 176; pub const SYS_gettid: ::c_long = 5000 + 178; pub const SYS_readahead: ::c_long = 5000 + 179; pub const SYS_setxattr: ::c_long = 5000 + 180; pub const SYS_lsetxattr: ::c_long = 5000 + 181; pub const SYS_fsetxattr: ::c_long = 5000 + 182; pub const SYS_getxattr: ::c_long = 5000 + 183; pub const SYS_lgetxattr: ::c_long = 5000 + 184; pub const SYS_fgetxattr: ::c_long = 5000 + 185; pub const SYS_listxattr: ::c_long = 5000 + 186; pub const SYS_llistxattr: ::c_long = 5000 + 187; pub const SYS_flistxattr: ::c_long = 5000 + 188; pub const SYS_removexattr: ::c_long = 5000 + 189; pub const SYS_lremovexattr: ::c_long = 5000 + 190; pub const SYS_fremovexattr: ::c_long = 5000 + 191; pub const SYS_tkill: ::c_long = 5000 + 192; pub const SYS_futex: ::c_long = 5000 + 194; pub const SYS_sched_setaffinity: ::c_long = 5000 + 195; pub const SYS_sched_getaffinity: ::c_long = 5000 + 196; pub const SYS_cacheflush: ::c_long = 5000 + 197; pub const SYS_cachectl: ::c_long = 5000 + 198; pub const SYS_sysmips: ::c_long = 5000 + 199; pub const SYS_io_setup: ::c_long = 5000 + 200; pub const SYS_io_destroy: ::c_long = 5000 + 201; pub const SYS_io_getevents: ::c_long = 5000 + 202; pub const SYS_io_submit: ::c_long = 5000 + 203; pub const SYS_io_cancel: ::c_long = 5000 + 204; pub const SYS_exit_group: ::c_long = 5000 + 205; pub const SYS_lookup_dcookie: ::c_long = 5000 + 206; pub const SYS_epoll_create: ::c_long = 5000 + 207; pub const SYS_epoll_ctl: ::c_long = 5000 + 208; pub const SYS_epoll_wait: ::c_long = 5000 + 209; pub const SYS_remap_file_pages: ::c_long = 5000 + 210; pub const SYS_rt_sigreturn: ::c_long = 5000 + 211; pub const SYS_set_tid_address: ::c_long = 5000 + 212; pub const SYS_restart_syscall: ::c_long = 5000 + 213; pub const SYS_semtimedop: ::c_long = 5000 + 214; pub const SYS_fadvise64: ::c_long = 5000 + 215; pub const SYS_timer_create: ::c_long = 5000 + 216; pub const SYS_timer_settime: ::c_long = 5000 + 217; pub const SYS_timer_gettime: ::c_long = 5000 + 218; pub const SYS_timer_getoverrun: ::c_long = 5000 + 219; pub const SYS_timer_delete: ::c_long = 5000 + 220; pub const SYS_clock_settime: ::c_long = 5000 + 221; pub const SYS_clock_gettime: ::c_long = 5000 + 222; pub const SYS_clock_getres: ::c_long = 5000 + 223; pub const SYS_clock_nanosleep: ::c_long = 5000 + 224; pub const SYS_tgkill: ::c_long = 5000 + 225; pub const SYS_utimes: ::c_long = 5000 + 226; pub const SYS_mbind: ::c_long = 5000 + 227; pub const SYS_get_mempolicy: ::c_long = 5000 + 228; pub const SYS_set_mempolicy: ::c_long = 5000 + 229; pub const SYS_mq_open: ::c_long = 5000 + 230; pub const SYS_mq_unlink: ::c_long = 5000 + 231; pub const SYS_mq_timedsend: ::c_long = 5000 + 232; pub const SYS_mq_timedreceive: ::c_long = 5000 + 233; pub const SYS_mq_notify: ::c_long = 5000 + 234; pub const SYS_mq_getsetattr: ::c_long = 5000 + 235; pub const SYS_vserver: ::c_long = 5000 + 236; pub const SYS_waitid: ::c_long = 5000 + 237; /* pub const SYS_sys_setaltroot: ::c_long = 5000 + 238; */ pub const SYS_add_key: ::c_long = 5000 + 239; pub const SYS_request_key: ::c_long = 5000 + 240; pub const SYS_keyctl: ::c_long = 5000 + 241; pub const SYS_set_thread_area: ::c_long = 5000 + 242; pub const SYS_inotify_init: ::c_long = 5000 + 243; pub const SYS_inotify_add_watch: ::c_long = 5000 + 244; pub const SYS_inotify_rm_watch: ::c_long = 5000 + 245; pub const SYS_migrate_pages: ::c_long = 5000 + 246; pub const SYS_openat: ::c_long = 5000 + 247; pub const SYS_mkdirat: ::c_long = 5000 + 248; pub const SYS_mknodat: ::c_long = 5000 + 249; pub const SYS_fchownat: ::c_long = 5000 + 250; pub const SYS_futimesat: ::c_long = 5000 + 251; pub const SYS_newfstatat: ::c_long = 5000 + 252; pub const SYS_unlinkat: ::c_long = 5000 + 253; pub const SYS_renameat: ::c_long = 5000 + 254; pub const SYS_linkat: ::c_long = 5000 + 255; pub const SYS_symlinkat: ::c_long = 5000 + 256; pub const SYS_readlinkat: ::c_long = 5000 + 257; pub const SYS_fchmodat: ::c_long = 5000 + 258; pub const SYS_faccessat: ::c_long = 5000 + 259; pub const SYS_pselect6: ::c_long = 5000 + 260; pub const SYS_ppoll: ::c_long = 5000 + 261; pub const SYS_unshare: ::c_long = 5000 + 262; pub const SYS_splice: ::c_long = 5000 + 263; pub const SYS_sync_file_range: ::c_long = 5000 + 264; pub const SYS_tee: ::c_long = 5000 + 265; pub const SYS_vmsplice: ::c_long = 5000 + 266; pub const SYS_move_pages: ::c_long = 5000 + 267; pub const SYS_set_robust_list: ::c_long = 5000 + 268; pub const SYS_get_robust_list: ::c_long = 5000 + 269; pub const SYS_kexec_load: ::c_long = 5000 + 270; pub const SYS_getcpu: ::c_long = 5000 + 271; pub const SYS_epoll_pwait: ::c_long = 5000 + 272; pub const SYS_ioprio_set: ::c_long = 5000 + 273; pub const SYS_ioprio_get: ::c_long = 5000 + 274; pub const SYS_utimensat: ::c_long = 5000 + 275; pub const SYS_signalfd: ::c_long = 5000 + 276; pub const SYS_timerfd: ::c_long = 5000 + 277; pub const SYS_eventfd: ::c_long = 5000 + 278; pub const SYS_fallocate: ::c_long = 5000 + 279; pub const SYS_timerfd_create: ::c_long = 5000 + 280; pub const SYS_timerfd_gettime: ::c_long = 5000 + 281; pub const SYS_timerfd_settime: ::c_long = 5000 + 282; pub const SYS_signalfd4: ::c_long = 5000 + 283; pub const SYS_eventfd2: ::c_long = 5000 + 284; pub const SYS_epoll_create1: ::c_long = 5000 + 285; pub const SYS_dup3: ::c_long = 5000 + 286; pub const SYS_pipe2: ::c_long = 5000 + 287; pub const SYS_inotify_init1: ::c_long = 5000 + 288; pub const SYS_preadv: ::c_long = 5000 + 289; pub const SYS_pwritev: ::c_long = 5000 + 290; pub const SYS_rt_tgsigqueueinfo: ::c_long = 5000 + 291; pub const SYS_perf_event_open: ::c_long = 5000 + 292; pub const SYS_accept4: ::c_long = 5000 + 293; pub const SYS_recvmmsg: ::c_long = 5000 + 294; pub const SYS_fanotify_init: ::c_long = 5000 + 295; pub const SYS_fanotify_mark: ::c_long = 5000 + 296; pub const SYS_prlimit64: ::c_long = 5000 + 297; pub const SYS_name_to_handle_at: ::c_long = 5000 + 298; pub const SYS_open_by_handle_at: ::c_long = 5000 + 299; pub const SYS_clock_adjtime: ::c_long = 5000 + 300; pub const SYS_syncfs: ::c_long = 5000 + 301; pub const SYS_sendmmsg: ::c_long = 5000 + 302; pub const SYS_setns: ::c_long = 5000 + 303; pub const SYS_process_vm_readv: ::c_long = 5000 + 304; pub const SYS_process_vm_writev: ::c_long = 5000 + 305; pub const SYS_kcmp: ::c_long = 5000 + 306; pub const SYS_finit_module: ::c_long = 5000 + 307; pub const SYS_getdents64: ::c_long = 5000 + 308; pub const SYS_sched_setattr: ::c_long = 5000 + 309; pub const SYS_sched_getattr: ::c_long = 5000 + 310; pub const SYS_renameat2: ::c_long = 5000 + 311; pub const SYS_seccomp: ::c_long = 5000 + 312; pub const SYS_getrandom: ::c_long = 5000 + 313; pub const SYS_memfd_create: ::c_long = 5000 + 314; pub const SYS_bpf: ::c_long = 5000 + 315; pub const SYS_execveat: ::c_long = 5000 + 316; pub const SYS_userfaultfd: ::c_long = 5000 + 317; pub const SYS_membarrier: ::c_long = 5000 + 318; pub const SYS_mlock2: ::c_long = 5000 + 319; pub const SYS_copy_file_range: ::c_long = 5000 + 320; pub const SYS_preadv2: ::c_long = 5000 + 321; pub const SYS_pwritev2: ::c_long = 5000 + 322; pub const SYS_pkey_mprotect: ::c_long = 5000 + 323; pub const SYS_pkey_alloc: ::c_long = 5000 + 324; pub const SYS_pkey_free: ::c_long = 5000 + 325; pub const SYS_statx: ::c_long = 5000 + 326; pub const O_DIRECT: ::c_int = 0x8000; pub const O_DIRECTORY: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x20000; pub const O_APPEND: ::c_int = 8; pub const O_CREAT: ::c_int = 256; pub const O_EXCL: ::c_int = 1024; pub const O_NOCTTY: ::c_int = 2048; pub const O_NONBLOCK: ::c_int = 128; pub const O_SYNC: ::c_int = 0x4010; pub const O_RSYNC: ::c_int = 0x4010; pub const O_DSYNC: ::c_int = 0x10; pub const O_ASYNC: ::c_int = 0x1000; pub const EDEADLK: ::c_int = 45; pub const ENAMETOOLONG: ::c_int = 78; pub const ENOLCK: ::c_int = 46; pub const ENOSYS: ::c_int = 89; pub const ENOTEMPTY: ::c_int = 93; pub const ELOOP: ::c_int = 90; pub const ENOMSG: ::c_int = 35; pub const EIDRM: ::c_int = 36; pub const ECHRNG: ::c_int = 37; pub const EL2NSYNC: ::c_int = 38; pub const EL3HLT: ::c_int = 39; pub const EL3RST: ::c_int = 40; pub const ELNRNG: ::c_int = 41; pub const EUNATCH: ::c_int = 42; pub const ENOCSI: ::c_int = 43; pub const EL2HLT: ::c_int = 44; pub const EBADE: ::c_int = 50; pub const EBADR: ::c_int = 51; 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; pub const EBADFD: ::c_int = 81; pub const EBADMSG: ::c_int = 77; pub const EREMCHG: ::c_int = 82; pub const ELIBACC: ::c_int = 83; pub const ELIBBAD: ::c_int = 84; pub const ELIBSCN: ::c_int = 85; pub const ELIBMAX: ::c_int = 86; pub const ELIBEXEC: ::c_int = 87; pub const EILSEQ: ::c_int = 88; pub const ERESTART: ::c_int = 91; pub const ESTRPIPE: ::c_int = 92; pub const EUSERS: ::c_int = 94; pub const ENOTSOCK: ::c_int = 95; pub const EDESTADDRREQ: ::c_int = 96; pub const EMSGSIZE: ::c_int = 97; pub const EPROTOTYPE: ::c_int = 98; 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 EPFNOSUPPORT: ::c_int = 123; pub const EAFNOSUPPORT: ::c_int = 124; pub const EADDRINUSE: ::c_int = 125; pub const EADDRNOTAVAIL: ::c_int = 126; pub const ENETDOWN: ::c_int = 127; pub const ENETUNREACH: ::c_int = 128; pub const ENETRESET: ::c_int = 129; pub const ECONNABORTED: ::c_int = 130; pub const ECONNRESET: ::c_int = 131; pub const ENOBUFS: ::c_int = 132; pub const EISCONN: ::c_int = 133; pub const ENOTCONN: ::c_int = 134; pub const ESHUTDOWN: ::c_int = 143; pub const ETOOMANYREFS: ::c_int = 144; pub const ETIMEDOUT: ::c_int = 145; pub const ECONNREFUSED: ::c_int = 146; pub const EHOSTDOWN: ::c_int = 147; pub const EHOSTUNREACH: ::c_int = 148; pub const EALREADY: ::c_int = 149; pub const EINPROGRESS: ::c_int = 150; pub const ESTALE: ::c_int = 151; pub const EUCLEAN: ::c_int = 135; pub const ENOTNAM: ::c_int = 137; pub const ENAVAIL: ::c_int = 138; pub const EISNAM: ::c_int = 139; pub const EREMOTEIO: ::c_int = 140; pub const EDQUOT: ::c_int = 1133; pub const ENOMEDIUM: ::c_int = 159; pub const EMEDIUMTYPE: ::c_int = 160; pub const ECANCELED: ::c_int = 158; pub const ENOKEY: ::c_int = 161; pub const EKEYEXPIRED: ::c_int = 162; pub const EKEYREVOKED: ::c_int = 163; pub const EKEYREJECTED: ::c_int = 164; pub const EOWNERDEAD: ::c_int = 165; pub const ENOTRECOVERABLE: ::c_int = 166; pub const ERFKILL: ::c_int = 167; pub const MAP_ANON: ::c_int = 0x800; pub const MAP_GROWSDOWN: ::c_int = 0x1000; pub const MAP_DENYWRITE: ::c_int = 0x2000; pub const MAP_EXECUTABLE: ::c_int = 0x4000; pub const MAP_LOCKED: ::c_int = 0x8000; pub const MAP_NORESERVE: ::c_int = 0x400; pub const MAP_POPULATE: ::c_int = 0x10000; pub const MAP_NONBLOCK: ::c_int = 0x20000; pub const MAP_STACK: ::c_int = 0x40000; pub const MAP_HUGETLB: ::c_int = 0x080000; pub const SOCK_STREAM: ::c_int = 2; pub const SOCK_DGRAM: ::c_int = 1; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; 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; pub const SO_ACCEPTCONN: ::c_int = 0x1009; pub const SO_PROTOCOL: ::c_int = 0x1028; pub const SO_DOMAIN: ::c_int = 0x1029; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_PASSCRED: ::c_int = 17; pub const SO_PEERCRED: ::c_int = 18; pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22; pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23; pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24; 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_PEERNAME: ::c_int = 28; pub const SO_PEERSEC: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 31; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PASSSEC: ::c_int = 34; pub const SO_TIMESTAMPNS: ::c_int = 35; pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS; pub const SO_WIFI_STATUS: ::c_int = 41; pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS; pub const SO_NOFCS: ::c_int = 43; pub const SO_LOCK_FILTER: ::c_int = 44; pub const SO_SELECT_ERR_QUEUE: ::c_int = 45; pub const SO_MAX_PACING_RATE: ::c_int = 47; pub const SO_BPF_EXTENSIONS: ::c_int = 48; pub const SO_INCOMING_CPU: ::c_int = 49; pub const SO_ATTACH_BPF: ::c_int = 50; pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER; 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; pub const SIGCHLD: ::c_int = 18; pub const SIGBUS: ::c_int = 10; pub const SIGTTIN: ::c_int = 26; pub const SIGTTOU: ::c_int = 27; pub const SIGXCPU: ::c_int = 30; pub const SIGXFSZ: ::c_int = 31; pub const SIGVTALRM: ::c_int = 28; pub const SIGPROF: ::c_int = 29; pub const SIGWINCH: ::c_int = 20; pub const SIGUSR1: ::c_int = 16; pub const SIGUSR2: ::c_int = 17; pub const SIGCONT: ::c_int = 25; pub const SIGSTOP: ::c_int = 23; 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; pub const SIG_UNBLOCK: ::c_int = 0x2; pub const POLLWRNORM: ::c_short = 0x004; pub const POLLWRBAND: ::c_short = 0x100; pub const VEOF: usize = 16; pub const VEOL: usize = 17; pub const VEOL2: usize = 6; pub const VMIN: usize = 4; pub const IEXTEN: ::tcflag_t = 0x00000100; pub const TOSTOP: ::tcflag_t = 0x00008000; pub const FLUSHO: ::tcflag_t = 0x00002000; pub const EXTPROC: ::tcflag_t = 0o200000; 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 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 MCL_CURRENT: ::c_int = 0x0001; pub const MCL_FUTURE: ::c_int = 0x0002; 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 BOTHER: ::speed_t = 0o010000; 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 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; } libc-0.2.66/src/unix/linux_like/linux/musl/b64/mod.rs010064400007650000024000000103761353775267200205410ustar0000000000000000pub type c_long = i64; pub type c_ulong = u64; s! { pub struct statfs64 { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct statvfs64 { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: u64, pub f_bfree: u64, pub f_bavail: u64, pub f_files: u64, pub f_ffree: u64, pub f_favail: u64, pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct pthread_attr_t { __size: [u64; 7] } pub struct sigset_t { __val: [::c_ulong; 16], } 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: ::c_ulong, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, pub msg_rtime: ::time_t, pub msg_ctime: ::time_t, __msg_cbytes: ::c_ulong, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __pad1: ::c_ulong, __pad2: ::c_ulong, } pub struct statfs { pub f_type: ::c_ulong, pub f_bsize: ::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_fsid: ::fsid_t, pub f_namelen: ::c_ulong, pub f_frsize: ::c_ulong, pub f_flags: ::c_ulong, pub f_spare: [::c_ulong; 4], } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, #[cfg(target_endian = "big")] __pad1: ::c_int, pub msg_iovlen: ::c_int, #[cfg(target_endian = "little")] __pad1: ::c_int, pub msg_control: *mut ::c_void, #[cfg(target_endian = "big")] __pad2: ::c_int, pub msg_controllen: ::socklen_t, #[cfg(target_endian = "little")] __pad2: ::c_int, pub msg_flags: ::c_int, } pub struct cmsghdr { #[cfg(target_endian = "big")] pub __pad1: ::c_int, pub cmsg_len: ::socklen_t, #[cfg(target_endian = "little")] pub __pad1: ::c_int, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct sem_t { __val: [::c_int; 8], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub _pad: [::c_int; 29], _align: [usize; 0], } } pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; 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 SOCK_NONBLOCK: ::c_int = 2048; pub const SOCK_SEQPACKET: ::c_int = 5; extern "C" { pub fn getrandom( buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint, ) -> ::ssize_t; } cfg_if! { if #[cfg(target_arch = "aarch64")] { mod aarch64; pub use self::aarch64::*; } else if #[cfg(target_arch = "mips64")] { mod mips64; pub use self::mips64::*; } else if #[cfg(any(target_arch = "powerpc64"))] { mod powerpc64; pub use self::powerpc64::*; } else if #[cfg(any(target_arch = "x86_64"))] { mod x86_64; pub use self::x86_64::*; } else { // Unknown target_arch } } libc-0.2.66/src/unix/linux_like/linux/musl/b64/powerpc64.rs010064400007650000024000000654721357020644200216040ustar0000000000000000pub type c_char = u8; pub type wchar_t = i32; pub type __u64 = ::c_ulong; pub type nlink_t = u64; pub type blksize_t = ::c_long; s! { pub struct stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 3], } pub struct stat64 { pub st_dev: ::dev_t, pub st_ino: ::ino64_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt64_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, __reserved: [::c_long; 3], } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_int, __unused1: ::c_long, __unused2: ::c_long } } pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MAP_32BIT: ::c_int = 0x0040; pub const O_APPEND: ::c_int = 1024; pub const O_DIRECT: ::c_int = 0x20000; pub const O_DIRECTORY: ::c_int = 0x4000; pub const O_LARGEFILE: ::c_int = 0x10000; pub const O_NOFOLLOW: ::c_int = 0x8000; 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 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 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 ENOTSUP: ::c_int = EOPNOTSUPP; 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 ERFKILL: ::c_int = 132; pub const EHWPOISON: ::c_int = 133; 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 SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOL_SOCKET: ::c_int = 1; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; 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 VEOF: usize = 4; pub const POLLWRNORM: ::c_short = 0x100; pub const POLLWRBAND: ::c_short = 0x200; pub const SIGSTKSZ: ::size_t = 10240; pub const MINSIGSTKSZ: ::size_t = 4096; // Syscall table 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_time: ::c_long = 13; pub const SYS_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_break: ::c_long = 17; pub const SYS_oldstat: ::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_umount: ::c_long = 22; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_stime: ::c_long = 25; pub const SYS_ptrace: ::c_long = 26; pub const SYS_alarm: ::c_long = 27; pub const SYS_oldfstat: ::c_long = 28; pub const SYS_pause: ::c_long = 29; pub const SYS_utime: ::c_long = 30; pub const SYS_stty: ::c_long = 31; pub const SYS_gtty: ::c_long = 32; pub const SYS_access: ::c_long = 33; pub const SYS_nice: ::c_long = 34; pub const SYS_ftime: ::c_long = 35; 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_prof: ::c_long = 44; pub const SYS_brk: ::c_long = 45; pub const SYS_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_signal: ::c_long = 48; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::c_long = 52; pub const SYS_lock: ::c_long = 53; pub const SYS_ioctl: ::c_long = 54; pub const SYS_fcntl: ::c_long = 55; pub const SYS_mpx: ::c_long = 56; pub const SYS_setpgid: ::c_long = 57; pub const SYS_ulimit: ::c_long = 58; pub const SYS_oldolduname: ::c_long = 59; 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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_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_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_select: ::c_long = 82; pub const SYS_symlink: ::c_long = 83; pub const SYS_oldlstat: ::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_readdir: ::c_long = 89; pub const SYS_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_fchown: ::c_long = 95; pub const SYS_getpriority: ::c_long = 96; pub const SYS_setpriority: ::c_long = 97; pub const SYS_profil: ::c_long = 98; pub const SYS_statfs: ::c_long = 99; pub const SYS_fstatfs: ::c_long = 100; pub const SYS_ioperm: ::c_long = 101; 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_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::c_long = 108; pub const SYS_olduname: ::c_long = 109; pub const SYS_iopl: ::c_long = 110; pub const SYS_vhangup: ::c_long = 111; pub const SYS_idle: ::c_long = 112; pub const SYS_vm86: ::c_long = 113; 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_uname: ::c_long = 122; pub const SYS_modify_ldt: ::c_long = 123; pub const SYS_adjtimex: ::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_afs_syscall: ::c_long = 137; /* Syscall for Andrew File System */ pub const SYS_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; pub const SYS__newselect: ::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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_query_module: ::c_long = 166; pub const SYS_poll: ::c_long = 167; pub const SYS_nfsservctl: ::c_long = 168; pub const SYS_setresgid: ::c_long = 169; pub const SYS_getresgid: ::c_long = 170; pub const SYS_prctl: ::c_long = 171; pub const SYS_rt_sigreturn: ::c_long = 172; pub const SYS_rt_sigaction: ::c_long = 173; pub const SYS_rt_sigprocmask: ::c_long = 174; pub const SYS_rt_sigpending: ::c_long = 175; pub const SYS_rt_sigtimedwait: ::c_long = 176; pub const SYS_rt_sigqueueinfo: ::c_long = 177; pub const SYS_rt_sigsuspend: ::c_long = 178; pub const SYS_pread64: ::c_long = 179; pub const SYS_pwrite64: ::c_long = 180; pub const SYS_chown: ::c_long = 181; pub const SYS_getcwd: ::c_long = 182; pub const SYS_capget: ::c_long = 183; pub const SYS_capset: ::c_long = 184; pub const SYS_sigaltstack: ::c_long = 185; pub const SYS_sendfile: ::c_long = 186; pub const SYS_getpmsg: ::c_long = 187; /* some people actually want streams */ pub const SYS_putpmsg: ::c_long = 188; /* some people actually want streams */ pub const SYS_vfork: ::c_long = 189; pub const SYS_ugetrlimit: ::c_long = 190; /* SuS compliant getrlimit */ pub const SYS_readahead: ::c_long = 191; pub const SYS_pciconfig_read: ::c_long = 198; pub const SYS_pciconfig_write: ::c_long = 199; pub const SYS_pciconfig_iobase: ::c_long = 200; pub const SYS_multiplexer: ::c_long = 201; pub const SYS_getdents64: ::c_long = 202; pub const SYS_pivot_root: ::c_long = 203; pub const SYS_madvise: ::c_long = 205; pub const SYS_mincore: ::c_long = 206; pub const SYS_gettid: ::c_long = 207; pub const SYS_tkill: ::c_long = 208; pub const SYS_setxattr: ::c_long = 209; pub const SYS_lsetxattr: ::c_long = 210; pub const SYS_fsetxattr: ::c_long = 211; pub const SYS_getxattr: ::c_long = 212; pub const SYS_lgetxattr: ::c_long = 213; pub const SYS_fgetxattr: ::c_long = 214; pub const SYS_listxattr: ::c_long = 215; pub const SYS_llistxattr: ::c_long = 216; pub const SYS_flistxattr: ::c_long = 217; pub const SYS_removexattr: ::c_long = 218; pub const SYS_lremovexattr: ::c_long = 219; pub const SYS_fremovexattr: ::c_long = 220; pub const SYS_futex: ::c_long = 221; pub const SYS_sched_setaffinity: ::c_long = 222; pub const SYS_sched_getaffinity: ::c_long = 223; pub const SYS_tuxcall: ::c_long = 225; pub const SYS_io_setup: ::c_long = 227; pub const SYS_io_destroy: ::c_long = 228; pub const SYS_io_getevents: ::c_long = 229; pub const SYS_io_submit: ::c_long = 230; pub const SYS_io_cancel: ::c_long = 231; pub const SYS_set_tid_address: ::c_long = 232; pub const SYS_exit_group: ::c_long = 234; pub const SYS_lookup_dcookie: ::c_long = 235; pub const SYS_epoll_create: ::c_long = 236; pub const SYS_epoll_ctl: ::c_long = 237; pub const SYS_epoll_wait: ::c_long = 238; pub const SYS_remap_file_pages: ::c_long = 239; pub const SYS_timer_create: ::c_long = 240; pub const SYS_timer_settime: ::c_long = 241; pub const SYS_timer_gettime: ::c_long = 242; pub const SYS_timer_getoverrun: ::c_long = 243; pub const SYS_timer_delete: ::c_long = 244; pub const SYS_clock_settime: ::c_long = 245; pub const SYS_clock_gettime: ::c_long = 246; pub const SYS_clock_getres: ::c_long = 247; pub const SYS_clock_nanosleep: ::c_long = 248; pub const SYS_swapcontext: ::c_long = 249; pub const SYS_tgkill: ::c_long = 250; pub const SYS_utimes: ::c_long = 251; pub const SYS_statfs64: ::c_long = 252; pub const SYS_fstatfs64: ::c_long = 253; pub const SYS_rtas: ::c_long = 255; pub const SYS_sys_debug_setcontext: ::c_long = 256; pub const SYS_migrate_pages: ::c_long = 258; pub const SYS_mbind: ::c_long = 259; pub const SYS_get_mempolicy: ::c_long = 260; pub const SYS_set_mempolicy: ::c_long = 261; pub const SYS_mq_open: ::c_long = 262; pub const SYS_mq_unlink: ::c_long = 263; pub const SYS_mq_timedsend: ::c_long = 264; pub const SYS_mq_timedreceive: ::c_long = 265; pub const SYS_mq_notify: ::c_long = 266; pub const SYS_mq_getsetattr: ::c_long = 267; pub const SYS_kexec_load: ::c_long = 268; pub const SYS_add_key: ::c_long = 269; pub const SYS_request_key: ::c_long = 270; pub const SYS_keyctl: ::c_long = 271; pub const SYS_waitid: ::c_long = 272; pub const SYS_ioprio_set: ::c_long = 273; pub const SYS_ioprio_get: ::c_long = 274; pub const SYS_inotify_init: ::c_long = 275; pub const SYS_inotify_add_watch: ::c_long = 276; pub const SYS_inotify_rm_watch: ::c_long = 277; pub const SYS_spu_run: ::c_long = 278; pub const SYS_spu_create: ::c_long = 279; pub const SYS_pselect6: ::c_long = 280; pub const SYS_ppoll: ::c_long = 281; pub const SYS_unshare: ::c_long = 282; pub const SYS_splice: ::c_long = 283; pub const SYS_tee: ::c_long = 284; pub const SYS_vmsplice: ::c_long = 285; pub const SYS_openat: ::c_long = 286; pub const SYS_mkdirat: ::c_long = 287; pub const SYS_mknodat: ::c_long = 288; pub const SYS_fchownat: ::c_long = 289; pub const SYS_futimesat: ::c_long = 290; pub const SYS_newfstatat: ::c_long = 291; pub const SYS_unlinkat: ::c_long = 292; pub const SYS_renameat: ::c_long = 293; pub const SYS_linkat: ::c_long = 294; pub const SYS_symlinkat: ::c_long = 295; pub const SYS_readlinkat: ::c_long = 296; pub const SYS_fchmodat: ::c_long = 297; pub const SYS_faccessat: ::c_long = 298; pub const SYS_get_robust_list: ::c_long = 299; pub const SYS_set_robust_list: ::c_long = 300; pub const SYS_move_pages: ::c_long = 301; pub const SYS_getcpu: ::c_long = 302; pub const SYS_epoll_pwait: ::c_long = 303; pub const SYS_utimensat: ::c_long = 304; pub const SYS_signalfd: ::c_long = 305; pub const SYS_timerfd_create: ::c_long = 306; pub const SYS_eventfd: ::c_long = 307; pub const SYS_sync_file_range2: ::c_long = 308; pub const SYS_fallocate: ::c_long = 309; pub const SYS_subpage_prot: ::c_long = 310; pub const SYS_timerfd_settime: ::c_long = 311; pub const SYS_timerfd_gettime: ::c_long = 312; pub const SYS_signalfd4: ::c_long = 313; pub const SYS_eventfd2: ::c_long = 314; pub const SYS_epoll_create1: ::c_long = 315; pub const SYS_dup3: ::c_long = 316; pub const SYS_pipe2: ::c_long = 317; pub const SYS_inotify_init1: ::c_long = 318; pub const SYS_perf_event_open: ::c_long = 319; pub const SYS_preadv: ::c_long = 320; pub const SYS_pwritev: ::c_long = 321; pub const SYS_rt_tgsigqueueinfo: ::c_long = 322; pub const SYS_fanotify_init: ::c_long = 323; pub const SYS_fanotify_mark: ::c_long = 324; pub const SYS_prlimit64: ::c_long = 325; pub const SYS_socket: ::c_long = 326; pub const SYS_bind: ::c_long = 327; pub const SYS_connect: ::c_long = 328; pub const SYS_listen: ::c_long = 329; pub const SYS_accept: ::c_long = 330; pub const SYS_getsockname: ::c_long = 331; pub const SYS_getpeername: ::c_long = 332; pub const SYS_socketpair: ::c_long = 333; pub const SYS_send: ::c_long = 334; pub const SYS_sendto: ::c_long = 335; pub const SYS_recv: ::c_long = 336; pub const SYS_recvfrom: ::c_long = 337; pub const SYS_shutdown: ::c_long = 338; pub const SYS_setsockopt: ::c_long = 339; pub const SYS_getsockopt: ::c_long = 340; pub const SYS_sendmsg: ::c_long = 341; pub const SYS_recvmsg: ::c_long = 342; pub const SYS_recvmmsg: ::c_long = 343; pub const SYS_accept4: ::c_long = 344; pub const SYS_name_to_handle_at: ::c_long = 345; pub const SYS_open_by_handle_at: ::c_long = 346; pub const SYS_clock_adjtime: ::c_long = 347; pub const SYS_syncfs: ::c_long = 348; pub const SYS_sendmmsg: ::c_long = 349; pub const SYS_setns: ::c_long = 350; pub const SYS_process_vm_readv: ::c_long = 351; pub const SYS_process_vm_writev: ::c_long = 352; pub const SYS_finit_module: ::c_long = 353; pub const SYS_kcmp: ::c_long = 354; pub const SYS_sched_setattr: ::c_long = 355; pub const SYS_sched_getattr: ::c_long = 356; pub const SYS_renameat2: ::c_long = 357; pub const SYS_seccomp: ::c_long = 358; pub const SYS_getrandom: ::c_long = 359; pub const SYS_memfd_create: ::c_long = 360; pub const SYS_bpf: ::c_long = 361; pub const SYS_execveat: ::c_long = 362; pub const SYS_switch_endian: ::c_long = 363; pub const SYS_userfaultfd: ::c_long = 364; pub const SYS_membarrier: ::c_long = 365; pub const SYS_mlock2: ::c_long = 378; pub const SYS_copy_file_range: ::c_long = 379; pub const SYS_preadv2: ::c_long = 380; pub const SYS_pwritev2: ::c_long = 381; pub const SYS_kexec_file_load: ::c_long = 382; pub const SYS_statx: ::c_long = 383; 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; pub const SO_PASSCRED: ::c_int = 20; pub const SO_PEERCRED: ::c_int = 21; pub const SO_RCVLOWAT: ::c_int = 16; pub const SO_SNDLOWAT: ::c_int = 17; pub const SO_RCVTIMEO: ::c_int = 18; pub const SO_SNDTIMEO: ::c_int = 19; pub const EXTPROC: ::tcflag_t = 0x10000000; pub const VEOL: usize = 6; pub const VEOL2: usize = 8; 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 TIOCINQ: ::c_int = ::FIONREAD; pub const MCL_CURRENT: ::c_int = 0x2000; pub const MCL_FUTURE: ::c_int = 0x4000; pub const CBAUD: ::tcflag_t = 0xff; pub const TAB1: ::c_int = 0x400; pub const TAB2: ::c_int = 0x800; pub const TAB3: ::c_int = 0xc00; pub const CR1: ::c_int = 0x1000; pub const CR2: ::c_int = 0x2000; pub const CR3: ::c_int = 0x3000; pub const FF1: ::c_int = 0x4000; pub const BS1: ::c_int = 0x8000; pub const VT1: ::c_int = 0x10000; pub const VWERASE: usize = 10; pub const VREPRINT: usize = 11; pub const VSUSP: usize = 12; pub const VSTART: usize = 13; pub const VSTOP: usize = 14; pub const VDISCARD: usize = 16; pub const VTIME: usize = 7; pub const IXON: ::tcflag_t = 0x00000200; pub const IXOFF: ::tcflag_t = 0x00000400; pub const ONLCR: ::tcflag_t = 0x2; pub const CSIZE: ::tcflag_t = 0x00000300; pub const CS6: ::tcflag_t = 0x00000100; pub const CS7: ::tcflag_t = 0x00000200; pub const CS8: ::tcflag_t = 0x00000300; pub const CSTOPB: ::tcflag_t = 0x00000400; pub const CREAD: ::tcflag_t = 0x00000800; pub const PARENB: ::tcflag_t = 0x00001000; pub const PARODD: ::tcflag_t = 0x00002000; pub const HUPCL: ::tcflag_t = 0x00004000; pub const CLOCAL: ::tcflag_t = 0x00008000; pub const ECHOKE: ::tcflag_t = 0x00000001; pub const ECHOE: ::tcflag_t = 0x00000002; pub const ECHOK: ::tcflag_t = 0x00000004; pub const ECHONL: ::tcflag_t = 0x00000010; pub const ECHOPRT: ::tcflag_t = 0x00000020; pub const ECHOCTL: ::tcflag_t = 0x00000040; pub const ISIG: ::tcflag_t = 0x00000080; pub const ICANON: ::tcflag_t = 0x00000100; pub const PENDIN: ::tcflag_t = 0x20000000; pub const NOFLSH: ::tcflag_t = 0x80000000; pub const CIBAUD: ::tcflag_t = 0o77600000; pub const CBAUDEX: ::tcflag_t = 0o0000020; pub const VSWTC: usize = 9; pub const OLCUC: ::tcflag_t = 0o000004; pub const NLDLY: ::tcflag_t = 0o0001400; pub const CRDLY: ::tcflag_t = 0o0030000; pub const TABDLY: ::tcflag_t = 0o0006000; pub const BSDLY: ::tcflag_t = 0o0100000; pub const FFDLY: ::tcflag_t = 0o0040000; pub const VTDLY: ::tcflag_t = 0o0200000; pub const XTABS: ::tcflag_t = 0o00006000; pub const B57600: ::speed_t = 0o00020; pub const B115200: ::speed_t = 0o00021; pub const B230400: ::speed_t = 0o00022; pub const B460800: ::speed_t = 0o00023; pub const B500000: ::speed_t = 0o00024; pub const B576000: ::speed_t = 0o00025; pub const B921600: ::speed_t = 0o00026; pub const B1000000: ::speed_t = 0o00027; pub const B1152000: ::speed_t = 0o00030; pub const B1500000: ::speed_t = 0o00031; pub const B2000000: ::speed_t = 0o00032; 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; } libc-0.2.66/src/unix/linux_like/linux/musl/b64/x86_64/align.rs010064400007650000024000000002251355140103400217550ustar0000000000000000s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f64; 4] } } libc-0.2.66/src/unix/linux_like/linux/musl/b64/x86_64/mod.rs010064400007650000024000001026111357020644200214530ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; pub type nlink_t = u64; pub type blksize_t = ::c_long; pub type __u64 = ::c_ulonglong; pub type greg_t = i64; s! { pub struct stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, __unused: [::c_long; 3], } pub struct stat64 { pub st_dev: ::dev_t, pub st_ino: ::ino64_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, __pad0: ::c_int, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt64_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, __reserved: [::c_long; 3], } pub struct user_regs_struct { pub r15: ::c_ulong, pub r14: ::c_ulong, pub r13: ::c_ulong, pub r12: ::c_ulong, pub rbp: ::c_ulong, pub rbx: ::c_ulong, pub r11: ::c_ulong, pub r10: ::c_ulong, pub r9: ::c_ulong, pub r8: ::c_ulong, pub rax: ::c_ulong, pub rcx: ::c_ulong, pub rdx: ::c_ulong, pub rsi: ::c_ulong, pub rdi: ::c_ulong, pub orig_rax: ::c_ulong, pub rip: ::c_ulong, pub cs: ::c_ulong, pub eflags: ::c_ulong, pub rsp: ::c_ulong, pub ss: ::c_ulong, pub fs_base: ::c_ulong, pub gs_base: ::c_ulong, pub ds: ::c_ulong, pub es: ::c_ulong, pub fs: ::c_ulong, pub gs: ::c_ulong, } pub struct user { pub regs: user_regs_struct, pub u_fpvalid: ::c_int, pub i387: user_fpregs_struct, pub u_tsize: ::c_ulong, pub u_dsize: ::c_ulong, pub u_ssize: ::c_ulong, pub start_code: ::c_ulong, pub start_stack: ::c_ulong, pub signal: ::c_long, __reserved: ::c_int, #[cfg(target_pointer_width = "32")] __pad1: u32, pub u_ar0: *mut user_regs_struct, #[cfg(target_pointer_width = "32")] __pad2: u32, pub u_fpstate: *mut user_fpregs_struct, pub magic: ::c_ulong, pub u_comm: [::c_char; 32], pub u_debugreg: [::c_ulong; 8], } // GitHub repo: ifduyue/musl/ // commit: b4b1e10364c8737a632be61582e05a8d3acf5690 // file: arch/x86_64/bits/signal.h#L80-L84 pub struct mcontext_t { pub gregs: [greg_t; 23], __private: [u64; 9], } pub struct ipc_perm { pub __ipc_perm_key: ::key_t, pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub __seq: ::c_int, __unused1: ::c_long, __unused2: ::c_long } } s_no_extra_traits! { pub struct user_fpregs_struct { pub cwd: ::c_ushort, pub swd: ::c_ushort, pub ftw: ::c_ushort, pub fop: ::c_ushort, pub rip: ::c_ulong, pub rdp: ::c_ulong, pub mxcsr: ::c_uint, pub mxcr_mask: ::c_uint, pub st_space: [::c_uint; 32], pub xmm_space: [::c_uint; 64], padding: [::c_uint; 24], } 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, __private: [u8; 512], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for user_fpregs_struct { fn eq(&self, other: &user_fpregs_struct) -> bool { self.cwd == other.cwd && self.swd == other.swd && self.ftw == other.ftw && self.fop == other.fop && self.rip == other.rip && self.rdp == other.rdp && self.mxcsr == other.mxcsr && self.mxcr_mask == other.mxcr_mask && self.st_space == other.st_space && self .xmm_space .iter() .zip(other.xmm_space.iter()) .all(|(a,b)| a == b) // Ignore padding field } } impl Eq for user_fpregs_struct {} impl ::fmt::Debug for user_fpregs_struct { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("user_fpregs_struct") .field("cwd", &self.cwd) .field("ftw", &self.ftw) .field("fop", &self.fop) .field("rip", &self.rip) .field("rdp", &self.rdp) .field("mxcsr", &self.mxcsr) .field("mxcr_mask", &self.mxcr_mask) .field("st_space", &self.st_space) // FIXME: .field("xmm_space", &self.xmm_space) // Ignore padding field .finish() } } impl ::hash::Hash for user_fpregs_struct { fn hash(&self, state: &mut H) { self.cwd.hash(state); self.ftw.hash(state); self.fop.hash(state); self.rip.hash(state); self.rdp.hash(state); self.mxcsr.hash(state); self.mxcr_mask.hash(state); self.st_space.hash(state); self.xmm_space.hash(state); // Ignore padding field } } 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 && self .__private .iter() .zip(other.__private.iter()) .all(|(a,b)| a == b) } } 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_stack", &self.uc_stack) .field("uc_mcontext", &self.uc_mcontext) .field("uc_sigmask", &self.uc_sigmask) // Ignore __private field .finish() } } impl ::hash::Hash for ucontext_t { fn hash(&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); self.__private.hash(state); } } } } // Syscall table pub const SYS_read: ::c_long = 0; pub const SYS_write: ::c_long = 1; pub const SYS_open: ::c_long = 2; pub const SYS_close: ::c_long = 3; pub const SYS_stat: ::c_long = 4; pub const SYS_fstat: ::c_long = 5; pub const SYS_lstat: ::c_long = 6; pub const SYS_poll: ::c_long = 7; pub const SYS_lseek: ::c_long = 8; pub const SYS_mmap: ::c_long = 9; pub const SYS_mprotect: ::c_long = 10; pub const SYS_munmap: ::c_long = 11; pub const SYS_brk: ::c_long = 12; pub const SYS_rt_sigaction: ::c_long = 13; pub const SYS_rt_sigprocmask: ::c_long = 14; pub const SYS_rt_sigreturn: ::c_long = 15; pub const SYS_ioctl: ::c_long = 16; pub const SYS_pread64: ::c_long = 17; pub const SYS_pwrite64: ::c_long = 18; pub const SYS_readv: ::c_long = 19; pub const SYS_writev: ::c_long = 20; pub const SYS_access: ::c_long = 21; pub const SYS_pipe: ::c_long = 22; pub const SYS_select: ::c_long = 23; pub const SYS_sched_yield: ::c_long = 24; pub const SYS_mremap: ::c_long = 25; pub const SYS_msync: ::c_long = 26; pub const SYS_mincore: ::c_long = 27; pub const SYS_madvise: ::c_long = 28; pub const SYS_shmget: ::c_long = 29; pub const SYS_shmat: ::c_long = 30; pub const SYS_shmctl: ::c_long = 31; pub const SYS_dup: ::c_long = 32; pub const SYS_dup2: ::c_long = 33; pub const SYS_pause: ::c_long = 34; pub const SYS_nanosleep: ::c_long = 35; pub const SYS_getitimer: ::c_long = 36; pub const SYS_alarm: ::c_long = 37; pub const SYS_setitimer: ::c_long = 38; pub const SYS_getpid: ::c_long = 39; pub const SYS_sendfile: ::c_long = 40; pub const SYS_socket: ::c_long = 41; pub const SYS_connect: ::c_long = 42; pub const SYS_accept: ::c_long = 43; pub const SYS_sendto: ::c_long = 44; pub const SYS_recvfrom: ::c_long = 45; pub const SYS_sendmsg: ::c_long = 46; pub const SYS_recvmsg: ::c_long = 47; pub const SYS_shutdown: ::c_long = 48; pub const SYS_bind: ::c_long = 49; pub const SYS_listen: ::c_long = 50; pub const SYS_getsockname: ::c_long = 51; pub const SYS_getpeername: ::c_long = 52; pub const SYS_socketpair: ::c_long = 53; pub const SYS_setsockopt: ::c_long = 54; pub const SYS_getsockopt: ::c_long = 55; pub const SYS_clone: ::c_long = 56; pub const SYS_fork: ::c_long = 57; pub const SYS_vfork: ::c_long = 58; pub const SYS_execve: ::c_long = 59; pub const SYS_exit: ::c_long = 60; pub const SYS_wait4: ::c_long = 61; pub const SYS_kill: ::c_long = 62; pub const SYS_uname: ::c_long = 63; pub const SYS_semget: ::c_long = 64; pub const SYS_semop: ::c_long = 65; pub const SYS_semctl: ::c_long = 66; pub const SYS_shmdt: ::c_long = 67; pub const SYS_msgget: ::c_long = 68; pub const SYS_msgsnd: ::c_long = 69; pub const SYS_msgrcv: ::c_long = 70; pub const SYS_msgctl: ::c_long = 71; pub const SYS_fcntl: ::c_long = 72; pub const SYS_flock: ::c_long = 73; pub const SYS_fsync: ::c_long = 74; pub const SYS_fdatasync: ::c_long = 75; pub const SYS_truncate: ::c_long = 76; pub const SYS_ftruncate: ::c_long = 77; pub const SYS_getdents: ::c_long = 78; pub const SYS_getcwd: ::c_long = 79; pub const SYS_chdir: ::c_long = 80; pub const SYS_fchdir: ::c_long = 81; pub const SYS_rename: ::c_long = 82; pub const SYS_mkdir: ::c_long = 83; pub const SYS_rmdir: ::c_long = 84; pub const SYS_creat: ::c_long = 85; pub const SYS_link: ::c_long = 86; pub const SYS_unlink: ::c_long = 87; pub const SYS_symlink: ::c_long = 88; pub const SYS_readlink: ::c_long = 89; pub const SYS_chmod: ::c_long = 90; pub const SYS_fchmod: ::c_long = 91; pub const SYS_chown: ::c_long = 92; pub const SYS_fchown: ::c_long = 93; pub const SYS_lchown: ::c_long = 94; pub const SYS_umask: ::c_long = 95; pub const SYS_gettimeofday: ::c_long = 96; pub const SYS_getrlimit: ::c_long = 97; pub const SYS_getrusage: ::c_long = 98; pub const SYS_sysinfo: ::c_long = 99; pub const SYS_times: ::c_long = 100; pub const SYS_ptrace: ::c_long = 101; pub const SYS_getuid: ::c_long = 102; pub const SYS_syslog: ::c_long = 103; pub const SYS_getgid: ::c_long = 104; pub const SYS_setuid: ::c_long = 105; pub const SYS_setgid: ::c_long = 106; pub const SYS_geteuid: ::c_long = 107; pub const SYS_getegid: ::c_long = 108; pub const SYS_setpgid: ::c_long = 109; pub const SYS_getppid: ::c_long = 110; pub const SYS_getpgrp: ::c_long = 111; pub const SYS_setsid: ::c_long = 112; pub const SYS_setreuid: ::c_long = 113; pub const SYS_setregid: ::c_long = 114; pub const SYS_getgroups: ::c_long = 115; pub const SYS_setgroups: ::c_long = 116; pub const SYS_setresuid: ::c_long = 117; pub const SYS_getresuid: ::c_long = 118; pub const SYS_setresgid: ::c_long = 119; pub const SYS_getresgid: ::c_long = 120; pub const SYS_getpgid: ::c_long = 121; pub const SYS_setfsuid: ::c_long = 122; pub const SYS_setfsgid: ::c_long = 123; pub const SYS_getsid: ::c_long = 124; pub const SYS_capget: ::c_long = 125; pub const SYS_capset: ::c_long = 126; pub const SYS_rt_sigpending: ::c_long = 127; pub const SYS_rt_sigtimedwait: ::c_long = 128; pub const SYS_rt_sigqueueinfo: ::c_long = 129; pub const SYS_rt_sigsuspend: ::c_long = 130; pub const SYS_sigaltstack: ::c_long = 131; pub const SYS_utime: ::c_long = 132; pub const SYS_mknod: ::c_long = 133; pub const SYS_uselib: ::c_long = 134; pub const SYS_personality: ::c_long = 135; pub const SYS_ustat: ::c_long = 136; pub const SYS_statfs: ::c_long = 137; pub const SYS_fstatfs: ::c_long = 138; pub const SYS_sysfs: ::c_long = 139; pub const SYS_getpriority: ::c_long = 140; pub const SYS_setpriority: ::c_long = 141; pub const SYS_sched_setparam: ::c_long = 142; pub const SYS_sched_getparam: ::c_long = 143; pub const SYS_sched_setscheduler: ::c_long = 144; pub const SYS_sched_getscheduler: ::c_long = 145; pub const SYS_sched_get_priority_max: ::c_long = 146; pub const SYS_sched_get_priority_min: ::c_long = 147; pub const SYS_sched_rr_get_interval: ::c_long = 148; pub const SYS_mlock: ::c_long = 149; pub const SYS_munlock: ::c_long = 150; pub const SYS_mlockall: ::c_long = 151; pub const SYS_munlockall: ::c_long = 152; pub const SYS_vhangup: ::c_long = 153; pub const SYS_modify_ldt: ::c_long = 154; pub const SYS_pivot_root: ::c_long = 155; pub const SYS__sysctl: ::c_long = 156; pub const SYS_prctl: ::c_long = 157; pub const SYS_arch_prctl: ::c_long = 158; pub const SYS_adjtimex: ::c_long = 159; pub const SYS_setrlimit: ::c_long = 160; pub const SYS_chroot: ::c_long = 161; pub const SYS_sync: ::c_long = 162; pub const SYS_acct: ::c_long = 163; pub const SYS_settimeofday: ::c_long = 164; pub const SYS_mount: ::c_long = 165; pub const SYS_umount2: ::c_long = 166; pub const SYS_swapon: ::c_long = 167; pub const SYS_swapoff: ::c_long = 168; pub const SYS_reboot: ::c_long = 169; pub const SYS_sethostname: ::c_long = 170; pub const SYS_setdomainname: ::c_long = 171; pub const SYS_iopl: ::c_long = 172; pub const SYS_ioperm: ::c_long = 173; pub const SYS_create_module: ::c_long = 174; pub const SYS_init_module: ::c_long = 175; pub const SYS_delete_module: ::c_long = 176; pub const SYS_get_kernel_syms: ::c_long = 177; pub const SYS_query_module: ::c_long = 178; pub const SYS_quotactl: ::c_long = 179; pub const SYS_nfsservctl: ::c_long = 180; pub const SYS_getpmsg: ::c_long = 181; pub const SYS_putpmsg: ::c_long = 182; pub const SYS_afs_syscall: ::c_long = 183; pub const SYS_tuxcall: ::c_long = 184; pub const SYS_security: ::c_long = 185; pub const SYS_gettid: ::c_long = 186; pub const SYS_readahead: ::c_long = 187; pub const SYS_setxattr: ::c_long = 188; pub const SYS_lsetxattr: ::c_long = 189; pub const SYS_fsetxattr: ::c_long = 190; pub const SYS_getxattr: ::c_long = 191; pub const SYS_lgetxattr: ::c_long = 192; pub const SYS_fgetxattr: ::c_long = 193; pub const SYS_listxattr: ::c_long = 194; pub const SYS_llistxattr: ::c_long = 195; pub const SYS_flistxattr: ::c_long = 196; pub const SYS_removexattr: ::c_long = 197; pub const SYS_lremovexattr: ::c_long = 198; pub const SYS_fremovexattr: ::c_long = 199; pub const SYS_tkill: ::c_long = 200; pub const SYS_time: ::c_long = 201; pub const SYS_futex: ::c_long = 202; pub const SYS_sched_setaffinity: ::c_long = 203; pub const SYS_sched_getaffinity: ::c_long = 204; pub const SYS_set_thread_area: ::c_long = 205; pub const SYS_io_setup: ::c_long = 206; pub const SYS_io_destroy: ::c_long = 207; pub const SYS_io_getevents: ::c_long = 208; pub const SYS_io_submit: ::c_long = 209; pub const SYS_io_cancel: ::c_long = 210; pub const SYS_get_thread_area: ::c_long = 211; pub const SYS_lookup_dcookie: ::c_long = 212; pub const SYS_epoll_create: ::c_long = 213; pub const SYS_epoll_ctl_old: ::c_long = 214; pub const SYS_epoll_wait_old: ::c_long = 215; pub const SYS_remap_file_pages: ::c_long = 216; pub const SYS_getdents64: ::c_long = 217; pub const SYS_set_tid_address: ::c_long = 218; pub const SYS_restart_syscall: ::c_long = 219; pub const SYS_semtimedop: ::c_long = 220; pub const SYS_fadvise64: ::c_long = 221; pub const SYS_timer_create: ::c_long = 222; pub const SYS_timer_settime: ::c_long = 223; pub const SYS_timer_gettime: ::c_long = 224; pub const SYS_timer_getoverrun: ::c_long = 225; pub const SYS_timer_delete: ::c_long = 226; pub const SYS_clock_settime: ::c_long = 227; pub const SYS_clock_gettime: ::c_long = 228; pub const SYS_clock_getres: ::c_long = 229; pub const SYS_clock_nanosleep: ::c_long = 230; pub const SYS_exit_group: ::c_long = 231; pub const SYS_epoll_wait: ::c_long = 232; pub const SYS_epoll_ctl: ::c_long = 233; pub const SYS_tgkill: ::c_long = 234; pub const SYS_utimes: ::c_long = 235; pub const SYS_vserver: ::c_long = 236; pub const SYS_mbind: ::c_long = 237; pub const SYS_set_mempolicy: ::c_long = 238; pub const SYS_get_mempolicy: ::c_long = 239; pub const SYS_mq_open: ::c_long = 240; pub const SYS_mq_unlink: ::c_long = 241; pub const SYS_mq_timedsend: ::c_long = 242; pub const SYS_mq_timedreceive: ::c_long = 243; pub const SYS_mq_notify: ::c_long = 244; pub const SYS_mq_getsetattr: ::c_long = 245; pub const SYS_kexec_load: ::c_long = 246; pub const SYS_waitid: ::c_long = 247; pub const SYS_add_key: ::c_long = 248; pub const SYS_request_key: ::c_long = 249; pub const SYS_keyctl: ::c_long = 250; pub const SYS_ioprio_set: ::c_long = 251; pub const SYS_ioprio_get: ::c_long = 252; pub const SYS_inotify_init: ::c_long = 253; pub const SYS_inotify_add_watch: ::c_long = 254; pub const SYS_inotify_rm_watch: ::c_long = 255; pub const SYS_migrate_pages: ::c_long = 256; pub const SYS_openat: ::c_long = 257; pub const SYS_mkdirat: ::c_long = 258; pub const SYS_mknodat: ::c_long = 259; pub const SYS_fchownat: ::c_long = 260; pub const SYS_futimesat: ::c_long = 261; pub const SYS_newfstatat: ::c_long = 262; pub const SYS_unlinkat: ::c_long = 263; pub const SYS_renameat: ::c_long = 264; pub const SYS_linkat: ::c_long = 265; pub const SYS_symlinkat: ::c_long = 266; pub const SYS_readlinkat: ::c_long = 267; pub const SYS_fchmodat: ::c_long = 268; pub const SYS_faccessat: ::c_long = 269; pub const SYS_pselect6: ::c_long = 270; pub const SYS_ppoll: ::c_long = 271; pub const SYS_unshare: ::c_long = 272; pub const SYS_set_robust_list: ::c_long = 273; pub const SYS_get_robust_list: ::c_long = 274; pub const SYS_splice: ::c_long = 275; pub const SYS_tee: ::c_long = 276; pub const SYS_sync_file_range: ::c_long = 277; pub const SYS_vmsplice: ::c_long = 278; pub const SYS_move_pages: ::c_long = 279; pub const SYS_utimensat: ::c_long = 280; pub const SYS_epoll_pwait: ::c_long = 281; pub const SYS_signalfd: ::c_long = 282; pub const SYS_timerfd_create: ::c_long = 283; pub const SYS_eventfd: ::c_long = 284; pub const SYS_fallocate: ::c_long = 285; pub const SYS_timerfd_settime: ::c_long = 286; pub const SYS_timerfd_gettime: ::c_long = 287; pub const SYS_accept4: ::c_long = 288; pub const SYS_signalfd4: ::c_long = 289; pub const SYS_eventfd2: ::c_long = 290; pub const SYS_epoll_create1: ::c_long = 291; pub const SYS_dup3: ::c_long = 292; pub const SYS_pipe2: ::c_long = 293; pub const SYS_inotify_init1: ::c_long = 294; pub const SYS_preadv: ::c_long = 295; pub const SYS_pwritev: ::c_long = 296; pub const SYS_rt_tgsigqueueinfo: ::c_long = 297; pub const SYS_perf_event_open: ::c_long = 298; pub const SYS_recvmmsg: ::c_long = 299; pub const SYS_fanotify_init: ::c_long = 300; pub const SYS_fanotify_mark: ::c_long = 301; pub const SYS_prlimit64: ::c_long = 302; pub const SYS_name_to_handle_at: ::c_long = 303; pub const SYS_open_by_handle_at: ::c_long = 304; pub const SYS_clock_adjtime: ::c_long = 305; pub const SYS_syncfs: ::c_long = 306; pub const SYS_sendmmsg: ::c_long = 307; pub const SYS_setns: ::c_long = 308; pub const SYS_getcpu: ::c_long = 309; pub const SYS_process_vm_readv: ::c_long = 310; pub const SYS_process_vm_writev: ::c_long = 311; pub const SYS_kcmp: ::c_long = 312; pub const SYS_finit_module: ::c_long = 313; pub const SYS_sched_setattr: ::c_long = 314; pub const SYS_sched_getattr: ::c_long = 315; pub const SYS_renameat2: ::c_long = 316; pub const SYS_seccomp: ::c_long = 317; pub const SYS_getrandom: ::c_long = 318; pub const SYS_memfd_create: ::c_long = 319; pub const SYS_kexec_file_load: ::c_long = 320; pub const SYS_bpf: ::c_long = 321; pub const SYS_execveat: ::c_long = 322; pub const SYS_userfaultfd: ::c_long = 323; pub const SYS_membarrier: ::c_long = 324; pub const SYS_mlock2: ::c_long = 325; pub const SYS_copy_file_range: ::c_long = 326; pub const SYS_preadv2: ::c_long = 327; pub const SYS_pwritev2: ::c_long = 328; pub const SYS_pkey_mprotect: ::c_long = 329; pub const SYS_pkey_alloc: ::c_long = 330; pub const SYS_pkey_free: ::c_long = 331; pub const SYS_statx: ::c_long = 332; // offsets in user_regs_structs, from sys/reg.h pub const R15: ::c_int = 0; pub const R14: ::c_int = 1; pub const R13: ::c_int = 2; pub const R12: ::c_int = 3; pub const RBP: ::c_int = 4; pub const RBX: ::c_int = 5; pub const R11: ::c_int = 6; pub const R10: ::c_int = 7; pub const R9: ::c_int = 8; pub const R8: ::c_int = 9; pub const RAX: ::c_int = 10; pub const RCX: ::c_int = 11; pub const RDX: ::c_int = 12; pub const RSI: ::c_int = 13; pub const RDI: ::c_int = 14; pub const ORIG_RAX: ::c_int = 15; pub const RIP: ::c_int = 16; pub const CS: ::c_int = 17; pub const EFLAGS: ::c_int = 18; pub const RSP: ::c_int = 19; pub const SS: ::c_int = 20; pub const FS_BASE: ::c_int = 21; pub const GS_BASE: ::c_int = 22; pub const DS: ::c_int = 23; pub const ES: ::c_int = 24; pub const FS: ::c_int = 25; pub const GS: ::c_int = 26; // offsets in mcontext_t.gregs from bits/signal.h // GitHub repo: ifduyue/musl/ // commit: b4b1e10364c8737a632be61582e05a8d3acf5690 // file: arch/x86_64/bits/signal.h#L9-L56 pub const REG_R8: ::c_int = 0; pub const REG_R9: ::c_int = 1; pub const REG_R10: ::c_int = 2; pub const REG_R11: ::c_int = 3; pub const REG_R12: ::c_int = 4; pub const REG_R13: ::c_int = 5; pub const REG_R14: ::c_int = 6; pub const REG_R15: ::c_int = 7; pub const REG_RDI: ::c_int = 8; pub const REG_RSI: ::c_int = 9; pub const REG_RBP: ::c_int = 10; pub const REG_RBX: ::c_int = 11; pub const REG_RDX: ::c_int = 12; pub const REG_RAX: ::c_int = 13; pub const REG_RCX: ::c_int = 14; pub const REG_RSP: ::c_int = 15; pub const REG_RIP: ::c_int = 16; pub const REG_EFL: ::c_int = 17; pub const REG_CSGSFS: ::c_int = 18; pub const REG_ERR: ::c_int = 19; pub const REG_TRAPNO: ::c_int = 20; pub const REG_OLDMASK: ::c_int = 21; pub const REG_CR2: ::c_int = 22; pub const MADV_SOFT_OFFLINE: ::c_int = 101; pub const MAP_32BIT: ::c_int = 0x0040; 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 TIOCGRS485: ::c_int = 0x542E; pub const TIOCSRS485: ::c_int = 0x542F; 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 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 ENOTSUP: ::c_int = EOPNOTSUPP; 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 ERFKILL: ::c_int = 132; pub const EHWPOISON: ::c_int = 133; 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 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 SOL_SOCKET: ::c_int = 1; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_TYPE: ::c_int = 3; pub const SO_ERROR: ::c_int = 4; pub const SO_DONTROUTE: ::c_int = 5; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_OOBINLINE: ::c_int = 10; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_LINGER: ::c_int = 13; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_ACCEPTCONN: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 32; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PROTOCOL: ::c_int = 38; pub const SO_DOMAIN: ::c_int = 39; 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 RLIMIT_NLIMITS: ::c_int = 15; 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; 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 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; pub const SO_PASSCRED: ::c_int = 16; pub const SO_PEERCRED: ::c_int = 17; pub const SO_RCVLOWAT: ::c_int = 18; pub const SO_SNDLOWAT: ::c_int = 19; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; 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 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)] { mod align; pub use self::align::*; } } libc-0.2.66/src/unix/linux_like/linux/musl/mod.rs010064400007650000024000000334571357020644200201350ustar0000000000000000pub type pthread_t = *mut ::c_void; pub type clock_t = c_long; pub type time_t = c_long; pub type suseconds_t = c_long; pub type ino_t = u64; pub type off_t = i64; pub type blkcnt_t = i64; pub type shmatt_t = ::c_ulong; pub type msgqnum_t = ::c_ulong; pub type msglen_t = ::c_ulong; pub type fsblkcnt_t = ::c_ulonglong; pub type fsfilcnt_t = ::c_ulonglong; pub type rlim_t = ::c_ulonglong; pub type flock64 = flock; impl siginfo_t { pub unsafe fn si_addr(&self) -> *mut ::c_void { #[repr(C)] struct siginfo_sigfault { _si_signo: ::c_int, _si_errno: ::c_int, _si_code: ::c_int, si_addr: *mut ::c_void, } (*(self as *const siginfo_t as *const siginfo_sigfault)).si_addr } pub unsafe fn si_value(&self) -> ::sigval { #[repr(C)] struct siginfo_si_value { _si_signo: ::c_int, _si_errno: ::c_int, _si_code: ::c_int, _si_timerid: ::c_int, _si_overrun: ::c_int, si_value: ::sigval, } (*(self as *const siginfo_t as *const siginfo_si_value)).si_value } } s! { pub struct aiocb { pub aio_fildes: ::c_int, pub aio_lio_opcode: ::c_int, pub aio_reqprio: ::c_int, pub aio_buf: *mut ::c_void, pub aio_nbytes: ::size_t, pub aio_sigevent: ::sigevent, __td: *mut ::c_void, __lock: [::c_int; 2], __err: ::c_int, __ret: ::ssize_t, pub aio_offset: off_t, __next: *mut ::c_void, __prev: *mut ::c_void, #[cfg(target_pointer_width = "32")] __dummy4: [::c_char; 24], #[cfg(target_pointer_width = "64")] __dummy4: [::c_char; 16], } pub struct sigaction { pub sa_sigaction: ::sighandler_t, pub sa_mask: ::sigset_t, pub sa_flags: ::c_int, pub sa_restorer: ::Option, } 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, #[cfg(target_endian = "little")] pub f_fsid: ::c_ulong, #[cfg(target_pointer_width = "32")] __f_unused: ::c_int, #[cfg(target_endian = "big")] pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct termios { 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; ::NCCS], pub __c_ispeed: ::speed_t, pub __c_ospeed: ::speed_t, } 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, } } s_no_extra_traits! { pub struct sysinfo { pub uptime: ::c_ulong, pub loads: [::c_ulong; 3], pub totalram: ::c_ulong, pub freeram: ::c_ulong, pub sharedram: ::c_ulong, pub bufferram: ::c_ulong, pub totalswap: ::c_ulong, pub freeswap: ::c_ulong, pub procs: ::c_ushort, pub pad: ::c_ushort, pub totalhigh: ::c_ulong, pub freehigh: ::c_ulong, pub mem_unit: ::c_uint, pub __reserved: [::c_char; 256], } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for sysinfo { fn eq(&self, other: &sysinfo) -> bool { self.uptime == other.uptime && self.loads == other.loads && self.totalram == other.totalram && self.freeram == other.freeram && self.sharedram == other.sharedram && self.bufferram == other.bufferram && self.totalswap == other.totalswap && self.freeswap == other.freeswap && self.procs == other.procs && self.pad == other.pad && self.totalhigh == other.totalhigh && self.freehigh == other.freehigh && self.mem_unit == other.mem_unit && self .__reserved .iter() .zip(other.__reserved.iter()) .all(|(a,b)| a == b) } } impl Eq for sysinfo {} impl ::fmt::Debug for sysinfo { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sysinfo") .field("uptime", &self.uptime) .field("loads", &self.loads) .field("totalram", &self.totalram) .field("freeram", &self.freeram) .field("sharedram", &self.sharedram) .field("bufferram", &self.bufferram) .field("totalswap", &self.totalswap) .field("freeswap", &self.freeswap) .field("procs", &self.procs) .field("pad", &self.pad) .field("totalhigh", &self.totalhigh) .field("freehigh", &self.freehigh) .field("mem_unit", &self.mem_unit) // FIXME: .field("__reserved", &self.__reserved) .finish() } } impl ::hash::Hash for sysinfo { fn hash(&self, state: &mut H) { self.uptime.hash(state); self.loads.hash(state); self.totalram.hash(state); self.freeram.hash(state); self.sharedram.hash(state); self.bufferram.hash(state); self.totalswap.hash(state); self.freeswap.hash(state); self.procs.hash(state); self.pad.hash(state); self.totalhigh.hash(state); self.freehigh.hash(state); self.mem_unit.hash(state); self.__reserved.hash(state); } } } } pub const MS_RMT_MASK: ::c_ulong = 0x02800051; pub const SFD_CLOEXEC: ::c_int = 0x080000; pub const NCCS: usize = 32; pub const O_TRUNC: ::c_int = 512; pub const O_NOATIME: ::c_int = 0o1000000; pub const O_CLOEXEC: ::c_int = 0x80000; pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY; 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 EDOTDOT: ::c_int = 73; pub const F_RDLCK: ::c_int = 0; pub const F_WRLCK: ::c_int = 1; pub const F_UNLCK: ::c_int = 2; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const BUFSIZ: ::c_uint = 1024; pub const TMP_MAX: ::c_uint = 10000; pub const FOPEN_MAX: ::c_uint = 1000; pub const O_PATH: ::c_int = 0o10000000; pub const O_EXEC: ::c_int = 0o10000000; pub const O_SEARCH: ::c_int = 0o10000000; pub const O_ACCMODE: ::c_int = 0o10000003; pub const O_NDELAY: ::c_int = O_NONBLOCK; pub const NI_MAXHOST: ::socklen_t = 255; pub const PTHREAD_STACK_MIN: ::size_t = 2048; pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const POSIX_MADV_DONTNEED: ::c_int = 4; pub const RLIM_INFINITY: ::rlim_t = !0; pub const RLIMIT_RTTIME: ::c_int = 15; 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; #[deprecated(since = "0.2.55", note = "Use SIGSYS instead")] pub const SIGUNUSED: ::c_int = ::SIGSYS; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8; pub const CPU_SETSIZE: ::c_int = 128; pub const PTRACE_TRACEME: ::c_int = 0; pub const PTRACE_PEEKTEXT: ::c_int = 1; pub const PTRACE_PEEKDATA: ::c_int = 2; pub const PTRACE_PEEKUSER: ::c_int = 3; pub const PTRACE_POKETEXT: ::c_int = 4; pub const PTRACE_POKEDATA: ::c_int = 5; pub const PTRACE_POKEUSER: ::c_int = 6; pub const PTRACE_CONT: ::c_int = 7; pub const PTRACE_KILL: ::c_int = 8; pub const PTRACE_SINGLESTEP: ::c_int = 9; pub const PTRACE_GETREGS: ::c_int = 12; pub const PTRACE_SETREGS: ::c_int = 13; pub const PTRACE_GETFPREGS: ::c_int = 14; pub const PTRACE_SETFPREGS: ::c_int = 15; pub const PTRACE_ATTACH: ::c_int = 16; pub const PTRACE_DETACH: ::c_int = 17; pub const PTRACE_GETFPXREGS: ::c_int = 18; pub const PTRACE_SETFPXREGS: ::c_int = 19; pub const PTRACE_SYSCALL: ::c_int = 24; 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_SEIZE: ::c_int = 0x4206; 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 SEEK_DATA: ::c_int = 3; pub const SEEK_HOLE: ::c_int = 4; pub const EFD_NONBLOCK: ::c_int = ::O_NONBLOCK; pub const SFD_NONBLOCK: ::c_int = ::O_NONBLOCK; pub const TCSANOW: ::c_int = 0; pub const TCSADRAIN: ::c_int = 1; pub const TCSAFLUSH: ::c_int = 2; pub const RTLD_GLOBAL: ::c_int = 0x100; pub const RTLD_NOLOAD: ::c_int = 0x4; // TODO(#247) Temporarily musl-specific (available since musl 0.9.12 / Linux // kernel 3.10). See also linux_like/mod.rs pub const CLOCK_SGI_CYCLE: ::clockid_t = 10; pub const CLOCK_TAI: ::clockid_t = 11; 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 SO_BINDTODEVICE: ::c_int = 25; pub const SO_TIMESTAMP: ::c_int = 29; pub const SO_MARK: ::c_int = 36; 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 RLIMIT_CPU: ::c_int = 0; pub const RLIMIT_FSIZE: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; pub const RLIMIT_STACK: ::c_int = 3; pub const RLIMIT_CORE: ::c_int = 4; pub const RLIMIT_LOCKS: ::c_int = 10; pub const RLIMIT_SIGPENDING: ::c_int = 11; pub const RLIMIT_MSGQUEUE: ::c_int = 12; pub const RLIMIT_NICE: ::c_int = 13; pub const RLIMIT_RTPRIO: ::c_int = 14; extern "C" { pub fn sendmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::c_uint, flags: ::c_uint, ) -> ::c_int; pub fn recvmmsg( sockfd: ::c_int, msgvec: *mut ::mmsghdr, vlen: ::c_uint, flags: ::c_uint, timeout: *mut ::timespec, ) -> ::c_int; pub fn getrlimit64(resource: ::c_int, rlim: *mut ::rlimit64) -> ::c_int; pub fn setrlimit64(resource: ::c_int, rlim: *const ::rlimit64) -> ::c_int; pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; pub fn prlimit( pid: ::pid_t, resource: ::c_int, new_limit: *const ::rlimit, old_limit: *mut ::rlimit, ) -> ::c_int; pub fn prlimit64( pid: ::pid_t, resource: ::c_int, new_limit: *const ::rlimit64, old_limit: *mut ::rlimit64, ) -> ::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; } cfg_if! { if #[cfg(any(target_arch = "x86_64", target_arch = "aarch64", target_arch = "mips64", target_arch = "powerpc64"))] { mod b64; pub use self::b64::*; } else if #[cfg(any(target_arch = "x86", target_arch = "mips", target_arch = "powerpc", target_arch = "hexagon", target_arch = "arm"))] { mod b32; pub use self::b32::*; } else { } } libc-0.2.66/src/unix/linux_like/linux/no_align.rs010064400007650000024000000066471357020644200201650ustar0000000000000000macro_rules! expand_align { () => { s! { pub struct pthread_mutexattr_t { #[cfg(any(target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64", all(target_arch = "aarch64", target_env = "musl")))] __align: [::c_int; 0], #[cfg(not(any(target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64", all(target_arch = "aarch64", target_env = "musl"))))] __align: [::c_long; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } pub struct pthread_rwlockattr_t { #[cfg(target_env = "musl")] __align: [::c_int; 0], #[cfg(not(target_env = "musl"))] __align: [::c_long; 0], size: [u8; ::__SIZEOF_PTHREAD_RWLOCKATTR_T], } pub struct pthread_condattr_t { __align: [::c_int; 0], size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } s_no_extra_traits! { pub struct pthread_cond_t { #[cfg(target_env = "musl")] __align: [*const ::c_void; 0], #[cfg(not(target_env = "musl"))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_COND_T], } pub struct pthread_mutex_t { #[cfg(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc", target_arch = "sparc", all(target_arch = "x86_64", target_pointer_width = "32")))] __align: [::c_long; 0], #[cfg(not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc", target_arch = "sparc", all(target_arch = "x86_64", target_pointer_width = "32"))))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } pub struct pthread_rwlock_t { #[cfg(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc", target_arch = "sparc", all(target_arch = "x86_64", target_pointer_width = "32")))] __align: [::c_long; 0], #[cfg(not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc", target_arch = "sparc", all(target_arch = "x86_64", target_pointer_width = "32"))))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } } }; } libc-0.2.66/src/unix/linux_like/mod.rs010064400007650000024000001426341357020644200160140ustar0000000000000000pub 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 key_t = ::c_int; pub type id_t = ::c_uint; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } s! { pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct ip_mreq_source { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, pub imr_sourceaddr: in_addr, } pub struct sockaddr { pub sa_family: sa_family_t, pub sa_data: [::c_char; 14], } pub struct sockaddr_in { pub sin_family: sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [u8; 8], } 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 addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: socklen_t, #[cfg(any(target_os = "linux", target_os = "emscripten"))] pub ai_addr: *mut ::sockaddr, pub ai_canonname: *mut c_char, #[cfg(target_os = "android")] pub ai_addr: *mut ::sockaddr, pub ai_next: *mut addrinfo, } pub struct sockaddr_ll { pub sll_family: ::c_ushort, pub sll_protocol: ::c_ushort, pub sll_ifindex: ::c_int, pub sll_hatype: ::c_ushort, pub sll_pkttype: ::c_uchar, pub sll_halen: ::c_uchar, pub sll_addr: [::c_uchar; 8] } pub struct fd_set { fds_bits: [::c_ulong; FD_SETSIZE / ULONG_SIZE], } 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: *const ::c_char, } pub struct sched_param { pub sched_priority: ::c_int, #[cfg(any(target_env = "musl", target_os = "emscripten"))] pub sched_ss_low_priority: ::c_int, #[cfg(any(target_env = "musl", target_os = "emscripten"))] pub sched_ss_repl_period: ::timespec, #[cfg(any(target_env = "musl", target_os = "emscripten"))] pub sched_ss_init_budget: ::timespec, #[cfg(any(target_env = "musl", target_os = "emscripten"))] pub sched_ss_max_repl: ::c_int, } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } 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_p_sep_by_space: ::c_char, pub int_n_cs_precedes: ::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 in_pktinfo { pub ipi_ifindex: ::c_int, pub ipi_spec_dst: ::in_addr, pub ipi_addr: ::in_addr, } 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_ifu: *mut ::sockaddr, // FIXME This should be a union pub ifa_data: *mut ::c_void } pub struct in6_rtmsg { rtmsg_dst: ::in6_addr, rtmsg_src: ::in6_addr, rtmsg_gateway: ::in6_addr, rtmsg_type: u32, rtmsg_dst_len: u16, rtmsg_src_len: u16, rtmsg_metric: u32, rtmsg_info: ::c_ulong, rtmsg_flags: u32, rtmsg_ifindex: ::c_int, } pub struct arpreq { pub arp_pa: ::sockaddr, pub arp_ha: ::sockaddr, pub arp_flags: ::c_int, pub arp_netmask: ::sockaddr, pub arp_dev: [::c_char; 16], } pub struct arpreq_old { pub arp_pa: ::sockaddr, pub arp_ha: ::sockaddr, pub arp_flags: ::c_int, pub arp_netmask: ::sockaddr, } pub struct arphdr { pub ar_hrd: u16, pub ar_pro: u16, pub ar_hln: u8, pub ar_pln: u8, pub ar_op: u16, } pub struct mmsghdr { pub msg_hdr: ::msghdr, pub msg_len: ::c_uint, } } s_no_extra_traits! { #[cfg_attr( any( all( target_arch = "x86", not(target_env = "musl"), not(target_os = "android")), target_arch = "x86_64"), repr(packed))] pub struct epoll_event { pub events: u32, pub u64: u64, } pub struct sockaddr_un { pub sun_family: sa_family_t, pub sun_path: [::c_char; 108] } pub struct sockaddr_storage { pub ss_family: sa_family_t, __ss_align: ::size_t, #[cfg(target_pointer_width = "32")] __ss_pad2: [u8; 128 - 2 * 4], #[cfg(target_pointer_width = "64")] __ss_pad2: [u8; 128 - 2 * 8], } pub struct utsname { pub sysname: [::c_char; 65], pub nodename: [::c_char; 65], pub release: [::c_char; 65], pub version: [::c_char; 65], pub machine: [::c_char; 65], pub domainname: [::c_char; 65] } pub struct sigevent { pub sigev_value: ::sigval, pub sigev_signo: ::c_int, pub sigev_notify: ::c_int, // Actually a union. We only expose sigev_notify_thread_id because it's // the most useful member pub sigev_notify_thread_id: ::c_int, #[cfg(target_pointer_width = "64")] __unused1: [::c_int; 11], #[cfg(target_pointer_width = "32")] __unused1: [::c_int; 12] } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for epoll_event { fn eq(&self, other: &epoll_event) -> bool { self.events == other.events && self.u64 == other.u64 } } impl Eq for epoll_event {} impl ::fmt::Debug for epoll_event { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { let events = self.events; let u64 = self.u64; f.debug_struct("epoll_event") .field("events", &events) .field("u64", &u64) .finish() } } impl ::hash::Hash for epoll_event { fn hash(&self, state: &mut H) { let events = self.events; let u64 = self.u64; events.hash(state); u64.hash(state); } } impl PartialEq for sockaddr_un { fn eq(&self, other: &sockaddr_un) -> bool { self.sun_family == other.sun_family && self .sun_path .iter() .zip(other.sun_path.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_un {} impl ::fmt::Debug for sockaddr_un { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_un") .field("sun_family", &self.sun_family) // FIXME: .field("sun_path", &self.sun_path) .finish() } } impl ::hash::Hash for sockaddr_un { fn hash(&self, state: &mut H) { self.sun_family.hash(state); self.sun_path.hash(state); } } impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.ss_family == other.ss_family && self .__ss_pad2 .iter() .zip(other.__ss_pad2.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_family", &self.ss_family) .field("__ss_align", &self.__ss_align) // FIXME: .field("__ss_pad2", &self.__ss_pad2) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.ss_family.hash(state); self.__ss_pad2.hash(state); } } impl PartialEq for utsname { fn eq(&self, other: &utsname) -> bool { self.sysname .iter() .zip(other.sysname.iter()) .all(|(a, b)| a == b) && self .nodename .iter() .zip(other.nodename.iter()) .all(|(a, b)| a == b) && self .release .iter() .zip(other.release.iter()) .all(|(a, b)| a == b) && self .version .iter() .zip(other.version.iter()) .all(|(a, b)| a == b) && self .machine .iter() .zip(other.machine.iter()) .all(|(a, b)| a == b) && self .domainname .iter() .zip(other.domainname.iter()) .all(|(a, b)| a == b) } } impl Eq for utsname {} impl ::fmt::Debug for utsname { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utsname") // FIXME: .field("sysname", &self.sysname) // FIXME: .field("nodename", &self.nodename) // FIXME: .field("release", &self.release) // FIXME: .field("version", &self.version) // FIXME: .field("machine", &self.machine) // FIXME: .field("domainname", &self.domainname) .finish() } } impl ::hash::Hash for utsname { fn hash(&self, state: &mut H) { self.sysname.hash(state); self.nodename.hash(state); self.release.hash(state); self.version.hash(state); self.machine.hash(state); self.domainname.hash(state); } } impl PartialEq for sigevent { fn eq(&self, other: &sigevent) -> bool { self.sigev_value == other.sigev_value && self.sigev_signo == other.sigev_signo && self.sigev_notify == other.sigev_notify && self.sigev_notify_thread_id == other.sigev_notify_thread_id } } impl Eq for sigevent {} impl ::fmt::Debug for sigevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigevent") .field("sigev_value", &self.sigev_value) .field("sigev_signo", &self.sigev_signo) .field("sigev_notify", &self.sigev_notify) .field("sigev_notify_thread_id", &self.sigev_notify_thread_id) .finish() } } impl ::hash::Hash for sigevent { fn hash(&self, state: &mut H) { self.sigev_value.hash(state); self.sigev_signo.hash(state); self.sigev_notify.hash(state); self.sigev_notify_thread_id.hash(state); } } } } // intentionally not public, only used for fd_set cfg_if! { if #[cfg(target_pointer_width = "32")] { const ULONG_SIZE: usize = 32; } else if #[cfg(target_pointer_width = "64")] { const ULONG_SIZE: usize = 64; } else { // Unknown target_pointer_width } } pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; pub const RAND_MAX: ::c_int = 2147483647; 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 F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; // Linux-specific fcntls pub const F_SETLEASE: ::c_int = 1024; pub const F_GETLEASE: ::c_int = 1025; pub const F_NOTIFY: ::c_int = 1026; pub const F_CANCELLK: ::c_int = 1029; pub const F_DUPFD_CLOEXEC: ::c_int = 1030; pub const F_SETPIPE_SZ: ::c_int = 1031; pub const F_GETPIPE_SZ: ::c_int = 1032; pub const F_ADD_SEALS: ::c_int = 1033; pub const F_GET_SEALS: ::c_int = 1034; 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; // TODO(#235): Include file sealing fcntls once we have a way to verify them. pub const SIGTRAP: ::c_int = 5; pub const PTHREAD_CREATE_JOINABLE: ::c_int = 0; pub const PTHREAD_CREATE_DETACHED: ::c_int = 1; pub const CLOCK_REALTIME: ::clockid_t = 0; pub const CLOCK_MONOTONIC: ::clockid_t = 1; pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 2; pub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 3; pub const CLOCK_MONOTONIC_RAW: ::clockid_t = 4; pub const CLOCK_REALTIME_COARSE: ::clockid_t = 5; pub const CLOCK_MONOTONIC_COARSE: ::clockid_t = 6; pub const CLOCK_BOOTTIME: ::clockid_t = 7; pub const CLOCK_REALTIME_ALARM: ::clockid_t = 8; pub const CLOCK_BOOTTIME_ALARM: ::clockid_t = 9; // TODO(#247) Someday our Travis shall have glibc 2.21 (released in Sep // 2014.) See also musl/mod.rs // pub const CLOCK_SGI_CYCLE: ::clockid_t = 10; // pub const CLOCK_TAI: ::clockid_t = 11; pub const TIMER_ABSTIME: ::c_int = 1; pub const RUSAGE_SELF: ::c_int = 0; pub const O_RDONLY: ::c_int = 0; pub const O_WRONLY: ::c_int = 1; pub const O_RDWR: ::c_int = 2; pub const SOCK_CLOEXEC: ::c_int = O_CLOEXEC; pub const S_IFIFO: ::mode_t = 4096; pub const S_IFCHR: ::mode_t = 8192; pub const S_IFBLK: ::mode_t = 24576; pub const S_IFDIR: ::mode_t = 16384; 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 = 61440; pub const S_IRWXU: ::mode_t = 448; pub const S_IXUSR: ::mode_t = 64; pub const S_IWUSR: ::mode_t = 128; pub const S_IRUSR: ::mode_t = 256; pub const S_IRWXG: ::mode_t = 56; pub const S_IXGRP: ::mode_t = 8; pub const S_IWGRP: ::mode_t = 16; pub const S_IRGRP: ::mode_t = 32; pub const S_IRWXO: ::mode_t = 7; pub const S_IXOTH: ::mode_t = 1; pub const S_IWOTH: ::mode_t = 2; pub const S_IROTH: ::mode_t = 4; pub const F_OK: ::c_int = 0; pub const R_OK: ::c_int = 4; pub const W_OK: ::c_int = 2; pub const X_OK: ::c_int = 1; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::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 SIGABRT: ::c_int = 6; pub const SIGFPE: ::c_int = 8; pub const SIGKILL: ::c_int = 9; pub const SIGSEGV: ::c_int = 11; pub const SIGPIPE: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const PROT_NONE: ::c_int = 0; pub const PROT_READ: ::c_int = 1; pub const PROT_WRITE: ::c_int = 2; pub const PROT_EXEC: ::c_int = 4; pub const LC_CTYPE: ::c_int = 0; pub const LC_NUMERIC: ::c_int = 1; pub const LC_TIME: ::c_int = 2; pub const LC_COLLATE: ::c_int = 3; pub const LC_MONETARY: ::c_int = 4; pub const LC_MESSAGES: ::c_int = 5; pub const LC_ALL: ::c_int = 6; pub const LC_CTYPE_MASK: ::c_int = (1 << LC_CTYPE); pub const LC_NUMERIC_MASK: ::c_int = (1 << LC_NUMERIC); pub const LC_TIME_MASK: ::c_int = (1 << LC_TIME); pub const LC_COLLATE_MASK: ::c_int = (1 << LC_COLLATE); pub const LC_MONETARY_MASK: ::c_int = (1 << LC_MONETARY); pub const LC_MESSAGES_MASK: ::c_int = (1 << LC_MESSAGES); // LC_ALL_MASK defined per platform pub const MAP_FILE: ::c_int = 0x0000; pub const MAP_SHARED: ::c_int = 0x0001; pub const MAP_PRIVATE: ::c_int = 0x0002; pub const MAP_FIXED: ::c_int = 0x0010; pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void; // MS_ flags for msync(2) pub const MS_ASYNC: ::c_int = 0x0001; pub const MS_INVALIDATE: ::c_int = 0x0002; pub const MS_SYNC: ::c_int = 0x0004; // MS_ flags for mount(2) pub const MS_RDONLY: ::c_ulong = 0x01; pub const MS_NOSUID: ::c_ulong = 0x02; pub const MS_NODEV: ::c_ulong = 0x04; pub const MS_NOEXEC: ::c_ulong = 0x08; pub const MS_SYNCHRONOUS: ::c_ulong = 0x10; pub const MS_REMOUNT: ::c_ulong = 0x20; pub const MS_MANDLOCK: ::c_ulong = 0x40; pub const MS_DIRSYNC: ::c_ulong = 0x80; pub const MS_NOATIME: ::c_ulong = 0x0400; pub const MS_NODIRATIME: ::c_ulong = 0x0800; pub const MS_BIND: ::c_ulong = 0x1000; pub const MS_MOVE: ::c_ulong = 0x2000; pub const MS_REC: ::c_ulong = 0x4000; pub const MS_SILENT: ::c_ulong = 0x8000; pub const MS_POSIXACL: ::c_ulong = 0x010000; pub const MS_UNBINDABLE: ::c_ulong = 0x020000; pub const MS_PRIVATE: ::c_ulong = 0x040000; pub const MS_SLAVE: ::c_ulong = 0x080000; pub const MS_SHARED: ::c_ulong = 0x100000; 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_ACTIVE: ::c_ulong = 0x40000000; pub const MS_MGC_VAL: ::c_ulong = 0xc0ed0000; pub const MS_MGC_MSK: ::c_ulong = 0xffff0000; 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 EWOULDBLOCK: ::c_int = EAGAIN; pub const SCM_RIGHTS: ::c_int = 0x01; pub const SCM_CREDENTIALS: ::c_int = 0x02; pub const PROT_GROWSDOWN: ::c_int = 0x1000000; pub const PROT_GROWSUP: ::c_int = 0x2000000; pub const MAP_TYPE: ::c_int = 0x000f; pub const MADV_NORMAL: ::c_int = 0; pub const MADV_RANDOM: ::c_int = 1; pub const MADV_SEQUENTIAL: ::c_int = 2; pub const MADV_WILLNEED: ::c_int = 3; pub const MADV_DONTNEED: ::c_int = 4; pub const MADV_FREE: ::c_int = 8; pub const MADV_REMOVE: ::c_int = 9; pub const MADV_DONTFORK: ::c_int = 10; pub const MADV_DOFORK: ::c_int = 11; pub const MADV_MERGEABLE: ::c_int = 12; pub const MADV_UNMERGEABLE: ::c_int = 13; pub const MADV_HUGEPAGE: ::c_int = 14; pub const MADV_NOHUGEPAGE: ::c_int = 15; pub const MADV_DONTDUMP: ::c_int = 16; pub const MADV_DODUMP: ::c_int = 17; pub const MADV_HWPOISON: ::c_int = 100; pub const IFF_UP: ::c_int = 0x1; pub const IFF_BROADCAST: ::c_int = 0x2; pub const IFF_DEBUG: ::c_int = 0x4; pub const IFF_LOOPBACK: ::c_int = 0x8; pub const IFF_POINTOPOINT: ::c_int = 0x10; pub const IFF_NOTRAILERS: ::c_int = 0x20; pub const IFF_RUNNING: ::c_int = 0x40; pub const IFF_NOARP: ::c_int = 0x80; pub const IFF_PROMISC: ::c_int = 0x100; pub const IFF_ALLMULTI: ::c_int = 0x200; pub const IFF_MASTER: ::c_int = 0x400; pub const IFF_SLAVE: ::c_int = 0x800; pub const IFF_MULTICAST: ::c_int = 0x1000; pub const IFF_PORTSEL: ::c_int = 0x2000; pub const IFF_AUTOMEDIA: ::c_int = 0x4000; pub const IFF_DYNAMIC: ::c_int = 0x8000; pub const SOL_IP: ::c_int = 0; pub const SOL_TCP: ::c_int = 6; pub const SOL_UDP: ::c_int = 17; pub const SOL_IPV6: ::c_int = 41; pub const SOL_ICMPV6: ::c_int = 58; pub const SOL_RAW: ::c_int = 255; pub const SOL_DECNET: ::c_int = 261; pub const SOL_X25: ::c_int = 262; pub const SOL_PACKET: ::c_int = 263; pub const SOL_ATM: ::c_int = 264; pub const SOL_AAL: ::c_int = 265; pub const SOL_IRDA: ::c_int = 266; pub const SOL_NETBEUI: ::c_int = 267; pub const SOL_LLC: ::c_int = 268; pub const SOL_DCCP: ::c_int = 269; pub const SOL_NETLINK: ::c_int = 270; pub const SOL_TIPC: ::c_int = 271; pub const SOL_BLUETOOTH: ::c_int = 274; pub const SOL_ALG: ::c_int = 279; pub const AF_UNSPEC: ::c_int = 0; pub const AF_UNIX: ::c_int = 1; pub const AF_LOCAL: ::c_int = 1; pub const AF_INET: ::c_int = 2; pub const AF_AX25: ::c_int = 3; pub const AF_IPX: ::c_int = 4; pub const AF_APPLETALK: ::c_int = 5; pub const AF_NETROM: ::c_int = 6; pub const AF_BRIDGE: ::c_int = 7; pub const AF_ATMPVC: ::c_int = 8; pub const AF_X25: ::c_int = 9; pub const AF_INET6: ::c_int = 10; pub const AF_ROSE: ::c_int = 11; pub const AF_DECnet: ::c_int = 12; pub const AF_NETBEUI: ::c_int = 13; pub const AF_SECURITY: ::c_int = 14; pub const AF_KEY: ::c_int = 15; pub const AF_NETLINK: ::c_int = 16; pub const AF_ROUTE: ::c_int = AF_NETLINK; pub const AF_PACKET: ::c_int = 17; pub const AF_ASH: ::c_int = 18; pub const AF_ECONET: ::c_int = 19; pub const AF_ATMSVC: ::c_int = 20; pub const AF_RDS: ::c_int = 21; pub const AF_SNA: ::c_int = 22; pub const AF_IRDA: ::c_int = 23; pub const AF_PPPOX: ::c_int = 24; pub const AF_WANPIPE: ::c_int = 25; pub const AF_LLC: ::c_int = 26; pub const AF_CAN: ::c_int = 29; pub const AF_TIPC: ::c_int = 30; pub const AF_BLUETOOTH: ::c_int = 31; pub const AF_IUCV: ::c_int = 32; pub const AF_RXRPC: ::c_int = 33; pub const AF_ISDN: ::c_int = 34; pub const AF_PHONET: ::c_int = 35; pub const AF_IEEE802154: ::c_int = 36; pub const AF_CAIF: ::c_int = 37; pub const AF_ALG: ::c_int = 38; pub const PF_UNSPEC: ::c_int = AF_UNSPEC; pub const PF_UNIX: ::c_int = AF_UNIX; pub const PF_LOCAL: ::c_int = AF_LOCAL; pub const PF_INET: ::c_int = AF_INET; pub const PF_AX25: ::c_int = AF_AX25; pub const PF_IPX: ::c_int = AF_IPX; pub const PF_APPLETALK: ::c_int = AF_APPLETALK; pub const PF_NETROM: ::c_int = AF_NETROM; pub const PF_BRIDGE: ::c_int = AF_BRIDGE; pub const PF_ATMPVC: ::c_int = AF_ATMPVC; pub const PF_X25: ::c_int = AF_X25; pub const PF_INET6: ::c_int = AF_INET6; pub const PF_ROSE: ::c_int = AF_ROSE; pub const PF_DECnet: ::c_int = AF_DECnet; pub const PF_NETBEUI: ::c_int = AF_NETBEUI; pub const PF_SECURITY: ::c_int = AF_SECURITY; pub const PF_KEY: ::c_int = AF_KEY; pub const PF_NETLINK: ::c_int = AF_NETLINK; pub const PF_ROUTE: ::c_int = AF_ROUTE; pub const PF_PACKET: ::c_int = AF_PACKET; pub const PF_ASH: ::c_int = AF_ASH; pub const PF_ECONET: ::c_int = AF_ECONET; pub const PF_ATMSVC: ::c_int = AF_ATMSVC; pub const PF_RDS: ::c_int = AF_RDS; pub const PF_SNA: ::c_int = AF_SNA; pub const PF_IRDA: ::c_int = AF_IRDA; pub const PF_PPPOX: ::c_int = AF_PPPOX; pub const PF_WANPIPE: ::c_int = AF_WANPIPE; pub const PF_LLC: ::c_int = AF_LLC; pub const PF_CAN: ::c_int = AF_CAN; pub const PF_TIPC: ::c_int = AF_TIPC; pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH; pub const PF_IUCV: ::c_int = AF_IUCV; pub const PF_RXRPC: ::c_int = AF_RXRPC; pub const PF_ISDN: ::c_int = AF_ISDN; pub const PF_PHONET: ::c_int = AF_PHONET; pub const PF_IEEE802154: ::c_int = AF_IEEE802154; pub const PF_CAIF: ::c_int = AF_CAIF; pub const PF_ALG: ::c_int = AF_ALG; pub const SOMAXCONN: ::c_int = 128; pub const MSG_OOB: ::c_int = 1; pub const MSG_PEEK: ::c_int = 2; pub const MSG_DONTROUTE: ::c_int = 4; pub const MSG_CTRUNC: ::c_int = 8; pub const MSG_TRUNC: ::c_int = 0x20; pub const MSG_DONTWAIT: ::c_int = 0x40; pub const MSG_EOR: ::c_int = 0x80; pub const MSG_WAITALL: ::c_int = 0x100; pub const MSG_FIN: ::c_int = 0x200; pub const MSG_SYN: ::c_int = 0x400; pub const MSG_CONFIRM: ::c_int = 0x800; pub const MSG_RST: ::c_int = 0x1000; pub const MSG_ERRQUEUE: ::c_int = 0x2000; pub const MSG_NOSIGNAL: ::c_int = 0x4000; pub const MSG_MORE: ::c_int = 0x8000; pub const MSG_WAITFORONE: ::c_int = 0x10000; pub const MSG_FASTOPEN: ::c_int = 0x20000000; pub const MSG_CMSG_CLOEXEC: ::c_int = 0x40000000; 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_MULTICAST_IF: ::c_int = 32; pub const IP_MULTICAST_TTL: ::c_int = 33; pub const IP_MULTICAST_LOOP: ::c_int = 34; pub const IP_TOS: ::c_int = 1; pub const IP_TTL: ::c_int = 2; pub const IP_HDRINCL: ::c_int = 3; pub const IP_PKTINFO: ::c_int = 8; pub const IP_RECVTOS: ::c_int = 13; pub const IP_RECVERR: ::c_int = 11; pub const IP_ADD_MEMBERSHIP: ::c_int = 35; pub const IP_DROP_MEMBERSHIP: ::c_int = 36; pub const IP_ADD_SOURCE_MEMBERSHIP: ::c_int = 39; pub const IP_DROP_SOURCE_MEMBERSHIP: ::c_int = 40; pub const IP_TRANSPARENT: ::c_int = 19; pub const IPV6_ADDRFORM: ::c_int = 1; pub const IPV6_2292PKTINFO: ::c_int = 2; pub const IPV6_2292HOPOPTS: ::c_int = 3; pub const IPV6_2292DSTOPTS: ::c_int = 4; pub const IPV6_2292RTHDR: ::c_int = 5; pub const IPV6_2292PKTOPTIONS: ::c_int = 6; pub const IPV6_CHECKSUM: ::c_int = 7; pub const IPV6_2292HOPLIMIT: ::c_int = 8; pub const IPV6_NEXTHOP: ::c_int = 9; pub const IPV6_FLOWINFO: ::c_int = 11; pub const IPV6_UNICAST_HOPS: ::c_int = 16; pub const IPV6_MULTICAST_IF: ::c_int = 17; pub const IPV6_MULTICAST_HOPS: ::c_int = 18; pub const IPV6_MULTICAST_LOOP: ::c_int = 19; pub const IPV6_ADD_MEMBERSHIP: ::c_int = 20; pub const IPV6_DROP_MEMBERSHIP: ::c_int = 21; pub const IPV6_ROUTER_ALERT: ::c_int = 22; pub const IPV6_MTU_DISCOVER: ::c_int = 23; pub const IPV6_MTU: ::c_int = 24; pub const IPV6_RECVERR: ::c_int = 25; pub const IPV6_V6ONLY: ::c_int = 26; pub const IPV6_JOIN_ANYCAST: ::c_int = 27; pub const IPV6_LEAVE_ANYCAST: ::c_int = 28; pub const IPV6_RECVPKTINFO: ::c_int = 49; pub const IPV6_PKTINFO: ::c_int = 50; pub const IPV6_RECVTCLASS: ::c_int = 66; pub const IPV6_TCLASS: ::c_int = 67; pub const TCP_NODELAY: ::c_int = 1; pub const TCP_MAXSEG: ::c_int = 2; pub const TCP_CORK: ::c_int = 3; pub const TCP_KEEPIDLE: ::c_int = 4; pub const TCP_KEEPINTVL: ::c_int = 5; pub const TCP_KEEPCNT: ::c_int = 6; pub const TCP_SYNCNT: ::c_int = 7; pub const TCP_LINGER2: ::c_int = 8; pub const TCP_DEFER_ACCEPT: ::c_int = 9; 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 SO_DEBUG: ::c_int = 1; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const LOCK_SH: ::c_int = 1; pub const LOCK_EX: ::c_int = 2; pub const LOCK_NB: ::c_int = 4; pub const LOCK_UN: ::c_int = 8; pub const SS_ONSTACK: ::c_int = 1; pub const SS_DISABLE: ::c_int = 2; pub const PATH_MAX: ::c_int = 4096; 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 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 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_DETACH: ::c_int = 0x2; pub const MNT_EXPIRE: ::c_int = 0x4; pub const Q_GETFMT: ::c_int = 0x800004; pub const Q_GETINFO: ::c_int = 0x800005; pub const Q_SETINFO: ::c_int = 0x800006; pub const QIF_BLIMITS: u32 = 1; pub const QIF_SPACE: u32 = 2; pub const QIF_ILIMITS: u32 = 4; pub const QIF_INODES: u32 = 8; pub const QIF_BTIME: u32 = 16; pub const QIF_ITIME: u32 = 32; pub const QIF_LIMITS: u32 = 5; 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; pub const Q_GETQUOTA: ::c_int = 0x800007; pub const Q_SETQUOTA: ::c_int = 0x800008; pub const TCIOFF: ::c_int = 2; pub const TCION: ::c_int = 3; pub const TCOOFF: ::c_int = 0; pub const TCOON: ::c_int = 1; pub const TCIFLUSH: ::c_int = 0; pub const TCOFLUSH: ::c_int = 1; pub const TCIOFLUSH: ::c_int = 2; pub const NL0: ::tcflag_t = 0x00000000; pub const NL1: ::tcflag_t = 0x00000100; pub const TAB0: ::tcflag_t = 0x00000000; pub const CR0: ::tcflag_t = 0x00000000; pub const FF0: ::tcflag_t = 0x00000000; pub const BS0: ::tcflag_t = 0x00000000; pub const VT0: ::tcflag_t = 0x00000000; pub const VERASE: usize = 2; pub const VKILL: usize = 3; pub const VINTR: usize = 0; pub const VQUIT: usize = 1; pub const VLNEXT: usize = 15; pub const IGNBRK: ::tcflag_t = 0x00000001; pub const BRKINT: ::tcflag_t = 0x00000002; pub const IGNPAR: ::tcflag_t = 0x00000004; pub const PARMRK: ::tcflag_t = 0x00000008; pub const INPCK: ::tcflag_t = 0x00000010; pub const ISTRIP: ::tcflag_t = 0x00000020; pub const INLCR: ::tcflag_t = 0x00000040; pub const IGNCR: ::tcflag_t = 0x00000080; pub const ICRNL: ::tcflag_t = 0x00000100; pub const IXANY: ::tcflag_t = 0x00000800; pub const IMAXBEL: ::tcflag_t = 0x00002000; pub const OPOST: ::tcflag_t = 0x1; pub const CS5: ::tcflag_t = 0x00000000; pub const CRTSCTS: ::tcflag_t = 0x80000000; pub const ECHO: ::tcflag_t = 0x00000008; pub const OCRNL: ::tcflag_t = 0o000010; pub const ONOCR: ::tcflag_t = 0o000020; pub const ONLRET: ::tcflag_t = 0o000040; pub const OFILL: ::tcflag_t = 0o000100; pub const OFDEL: ::tcflag_t = 0o000200; pub const CLONE_VM: ::c_int = 0x100; pub const CLONE_FS: ::c_int = 0x200; pub const CLONE_FILES: ::c_int = 0x400; pub const CLONE_SIGHAND: ::c_int = 0x800; pub const CLONE_PTRACE: ::c_int = 0x2000; pub const CLONE_VFORK: ::c_int = 0x4000; pub const CLONE_PARENT: ::c_int = 0x8000; pub const CLONE_THREAD: ::c_int = 0x10000; pub const CLONE_NEWNS: ::c_int = 0x20000; pub const CLONE_SYSVSEM: ::c_int = 0x40000; pub const CLONE_SETTLS: ::c_int = 0x80000; pub const CLONE_PARENT_SETTID: ::c_int = 0x100000; 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_NEWUTS: ::c_int = 0x04000000; pub const CLONE_NEWIPC: ::c_int = 0x08000000; pub const CLONE_NEWUSER: ::c_int = 0x10000000; pub const CLONE_NEWPID: ::c_int = 0x20000000; pub const CLONE_NEWNET: ::c_int = 0x40000000; pub const CLONE_IO: ::c_int = 0x80000000; pub const CLONE_NEWCGROUP: ::c_int = 0x02000000; pub const WNOHANG: ::c_int = 0x00000001; pub const WUNTRACED: ::c_int = 0x00000002; pub const WSTOPPED: ::c_int = WUNTRACED; pub const WEXITED: ::c_int = 0x00000004; pub const WCONTINUED: ::c_int = 0x00000008; pub const WNOWAIT: ::c_int = 0x01000000; // Options set using PTRACE_SETOPTIONS. pub const PTRACE_O_TRACESYSGOOD: ::c_int = 0x00000001; pub const PTRACE_O_TRACEFORK: ::c_int = 0x00000002; pub const PTRACE_O_TRACEVFORK: ::c_int = 0x00000004; pub const PTRACE_O_TRACECLONE: ::c_int = 0x00000008; 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_EXITKILL: ::c_int = 0x00100000; pub const PTRACE_O_SUSPEND_SECCOMP: ::c_int = 0x00200000; 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; pub const PTRACE_EVENT_VFORK: ::c_int = 2; pub const PTRACE_EVENT_CLONE: ::c_int = 3; pub const PTRACE_EVENT_EXEC: ::c_int = 4; pub const PTRACE_EVENT_VFORK_DONE: ::c_int = 5; pub const PTRACE_EVENT_EXIT: ::c_int = 6; pub const PTRACE_EVENT_SECCOMP: ::c_int = 7; // PTRACE_EVENT_STOP was added to glibc in 2.26 // pub const PTRACE_EVENT_STOP: ::c_int = 128; pub const __WNOTHREAD: ::c_int = 0x20000000; pub const __WALL: ::c_int = 0x40000000; pub const __WCLONE: ::c_int = 0x80000000; pub const SPLICE_F_MOVE: ::c_uint = 0x01; pub const SPLICE_F_NONBLOCK: ::c_uint = 0x02; pub const SPLICE_F_MORE: ::c_uint = 0x04; pub const SPLICE_F_GIFT: ::c_uint = 0x08; pub const RTLD_LOCAL: ::c_int = 0; pub const RTLD_LAZY: ::c_int = 1; pub const POSIX_FADV_NORMAL: ::c_int = 0; pub const POSIX_FADV_RANDOM: ::c_int = 1; pub const POSIX_FADV_SEQUENTIAL: ::c_int = 2; pub const POSIX_FADV_WILLNEED: ::c_int = 3; pub const AT_FDCWD: ::c_int = -100; pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x100; pub const AT_REMOVEDIR: ::c_int = 0x200; pub const AT_SYMLINK_FOLLOW: ::c_int = 0x400; pub const AT_NO_AUTOMOUNT: ::c_int = 0x800; pub const AT_EMPTY_PATH: ::c_int = 0x1000; pub const LOG_CRON: ::c_int = 9 << 3; pub const LOG_AUTHPRIV: ::c_int = 10 << 3; pub const LOG_FTP: ::c_int = 11 << 3; pub const LOG_PERROR: ::c_int = 0x20; pub const PIPE_BUF: usize = 4096; pub const SI_LOAD_SHIFT: ::c_uint = 16; pub const SIGEV_SIGNAL: ::c_int = 0; pub const SIGEV_NONE: ::c_int = 1; pub const SIGEV_THREAD: ::c_int = 2; pub const P_ALL: idtype_t = 0; pub const P_PID: idtype_t = 1; pub const P_PGID: idtype_t = 2; pub const UTIME_OMIT: c_long = 1073741822; pub const UTIME_NOW: c_long = 1073741823; pub const POLLIN: ::c_short = 0x1; pub const POLLPRI: ::c_short = 0x2; pub const POLLOUT: ::c_short = 0x4; pub const POLLERR: ::c_short = 0x8; pub const POLLHUP: ::c_short = 0x10; pub const POLLNVAL: ::c_short = 0x20; pub const POLLRDNORM: ::c_short = 0x040; pub const POLLRDBAND: ::c_short = 0x080; pub const IPTOS_LOWDELAY: u8 = 0x10; pub const IPTOS_THROUGHPUT: u8 = 0x08; pub const IPTOS_RELIABILITY: u8 = 0x04; pub const IPTOS_MINCOST: u8 = 0x02; pub const IPTOS_PREC_NETCONTROL: u8 = 0xe0; pub const IPTOS_PREC_INTERNETCONTROL: u8 = 0xc0; pub const IPTOS_PREC_CRITIC_ECP: u8 = 0xa0; pub const IPTOS_PREC_FLASHOVERRIDE: u8 = 0x80; pub const IPTOS_PREC_FLASH: u8 = 0x60; pub const IPTOS_PREC_IMMEDIATE: u8 = 0x40; pub const IPTOS_PREC_PRIORITY: u8 = 0x20; pub const IPTOS_PREC_ROUTINE: u8 = 0x00; pub const IPTOS_ECN_MASK: u8 = 0x03; pub const IPTOS_ECN_ECT1: u8 = 0x01; pub const IPTOS_ECN_ECT0: u8 = 0x02; pub const IPTOS_ECN_CE: u8 = 0x03; pub const IPOPT_COPY: u8 = 0x80; pub const IPOPT_CLASS_MASK: u8 = 0x60; pub const IPOPT_NUMBER_MASK: u8 = 0x1f; pub const IPOPT_CONTROL: u8 = 0x00; pub const IPOPT_RESERVED1: u8 = 0x20; pub const IPOPT_MEASUREMENT: u8 = 0x40; pub const IPOPT_RESERVED2: u8 = 0x60; pub const IPOPT_END: u8 = (0 | IPOPT_CONTROL); pub const IPOPT_NOOP: u8 = (1 | IPOPT_CONTROL); pub const IPOPT_SEC: u8 = (2 | IPOPT_CONTROL | IPOPT_COPY); pub const IPOPT_LSRR: u8 = (3 | IPOPT_CONTROL | IPOPT_COPY); pub const IPOPT_TIMESTAMP: u8 = (4 | IPOPT_MEASUREMENT); pub const IPOPT_RR: u8 = (7 | IPOPT_CONTROL); pub const IPOPT_SID: u8 = (8 | IPOPT_CONTROL | IPOPT_COPY); pub const IPOPT_SSRR: u8 = (9 | IPOPT_CONTROL | IPOPT_COPY); pub const IPOPT_RA: u8 = (20 | IPOPT_CONTROL | IPOPT_COPY); pub const IPVERSION: u8 = 4; pub const MAXTTL: u8 = 255; pub const IPDEFTTL: u8 = 64; pub const IPOPT_OPTVAL: u8 = 0; pub const IPOPT_OLEN: u8 = 1; pub const IPOPT_OFFSET: u8 = 2; pub const IPOPT_MINOFF: u8 = 4; pub const MAX_IPOPTLEN: u8 = 40; pub const IPOPT_NOP: u8 = IPOPT_NOOP; pub const IPOPT_EOL: u8 = IPOPT_END; pub const IPOPT_TS: u8 = IPOPT_TIMESTAMP; pub const IPOPT_TS_TSONLY: u8 = 0; pub const IPOPT_TS_TSANDADDR: u8 = 1; pub const IPOPT_TS_PRESPEC: u8 = 3; pub const ARPOP_RREQUEST: u16 = 3; pub const ARPOP_RREPLY: u16 = 4; pub const ARPOP_InREQUEST: u16 = 8; pub const ARPOP_InREPLY: u16 = 9; pub const ARPOP_NAK: u16 = 10; pub const ATF_NETMASK: ::c_int = 0x20; pub const ATF_DONTPUB: ::c_int = 0x40; pub const ARPHRD_NETROM: u16 = 0; pub const ARPHRD_ETHER: u16 = 1; pub const ARPHRD_EETHER: u16 = 2; pub const ARPHRD_AX25: u16 = 3; pub const ARPHRD_PRONET: u16 = 4; pub const ARPHRD_CHAOS: u16 = 5; pub const ARPHRD_IEEE802: u16 = 6; pub const ARPHRD_ARCNET: u16 = 7; pub const ARPHRD_APPLETLK: u16 = 8; pub const ARPHRD_DLCI: u16 = 15; pub const ARPHRD_ATM: u16 = 19; pub const ARPHRD_METRICOM: u16 = 23; pub const ARPHRD_IEEE1394: u16 = 24; pub const ARPHRD_EUI64: u16 = 27; pub const ARPHRD_INFINIBAND: u16 = 32; pub const ARPHRD_SLIP: u16 = 256; pub const ARPHRD_CSLIP: u16 = 257; pub const ARPHRD_SLIP6: u16 = 258; pub const ARPHRD_CSLIP6: u16 = 259; pub const ARPHRD_RSRVD: u16 = 260; 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_PPP: u16 = 512; pub const ARPHRD_CISCO: u16 = 513; pub const ARPHRD_HDLC: u16 = ARPHRD_CISCO; pub const ARPHRD_LAPB: u16 = 516; pub const ARPHRD_DDCMP: u16 = 517; pub const ARPHRD_RAWHDLC: u16 = 518; pub const ARPHRD_TUNNEL: u16 = 768; pub const ARPHRD_TUNNEL6: u16 = 769; pub const ARPHRD_FRAD: u16 = 770; pub const ARPHRD_SKIP: u16 = 771; pub const ARPHRD_LOOPBACK: u16 = 772; pub const ARPHRD_LOCALTLK: u16 = 773; pub const ARPHRD_FDDI: u16 = 774; pub const ARPHRD_BIF: u16 = 775; pub const ARPHRD_SIT: u16 = 776; pub const ARPHRD_IPDDP: u16 = 777; pub const ARPHRD_IPGRE: u16 = 778; pub const ARPHRD_PIMREG: u16 = 779; pub const ARPHRD_HIPPI: u16 = 780; pub const ARPHRD_ASH: u16 = 781; pub const ARPHRD_ECONET: u16 = 782; pub const ARPHRD_IRDA: u16 = 783; pub const ARPHRD_FCPP: u16 = 784; pub const ARPHRD_FCAL: u16 = 785; pub const ARPHRD_FCPL: u16 = 786; pub const ARPHRD_FCFABRIC: u16 = 787; pub const ARPHRD_IEEE802_TR: u16 = 800; pub const ARPHRD_IEEE80211: u16 = 801; pub const ARPHRD_IEEE80211_PRISM: u16 = 802; pub const ARPHRD_IEEE80211_RADIOTAP: u16 = 803; pub const ARPHRD_IEEE802154: u16 = 804; pub const ARPHRD_VOID: u16 = 0xFFFF; pub const ARPHRD_NONE: u16 = 0xFFFE; const_fn! { {const} fn CMSG_ALIGN(len: usize) -> usize { len + ::mem::size_of::() - 1 & !(::mem::size_of::() - 1) } } f! { pub fn CMSG_FIRSTHDR(mhdr: *const msghdr) -> *mut cmsghdr { if (*mhdr).msg_controllen as usize >= ::mem::size_of::() { (*mhdr).msg_control as *mut cmsghdr } else { 0 as *mut cmsghdr } } pub fn CMSG_DATA(cmsg: *const cmsghdr) -> *mut ::c_uchar { cmsg.offset(1) as *mut ::c_uchar } pub {const} fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { (CMSG_ALIGN(length as usize) + CMSG_ALIGN(::mem::size_of::())) as ::c_uint } pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { CMSG_ALIGN(::mem::size_of::()) as ::c_uint + length } pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () { let fd = fd as usize; let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; (*set).fds_bits[fd / size] &= !(1 << (fd % size)); return } 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 } pub fn FD_SET(fd: ::c_int, set: *mut fd_set) -> () { let fd = fd as usize; let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; (*set).fds_bits[fd / size] |= 1 << (fd % size); return } pub fn FD_ZERO(set: *mut fd_set) -> () { for slot in (*set).fds_bits.iter_mut() { *slot = 0; } } pub fn WIFSTOPPED(status: ::c_int) -> bool { (status & 0xff) == 0x7f } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WIFCONTINUED(status: ::c_int) -> bool { status == 0xffff } pub fn WIFSIGNALED(status: ::c_int) -> bool { ((status & 0x7f) + 1) as i8 >= 2 } pub fn WTERMSIG(status: ::c_int) -> ::c_int { status & 0x7f } pub fn WIFEXITED(status: ::c_int) -> bool { (status & 0x7f) == 0 } pub fn WEXITSTATUS(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WCOREDUMP(status: ::c_int) -> bool { (status & 0x80) != 0 } pub fn QCMD(cmd: ::c_int, type_: ::c_int) -> ::c_int { (cmd << 8) | (type_ & 0x00ff) } pub fn IPOPT_COPIED(o: u8) -> u8 { o & IPOPT_COPY } pub fn IPOPT_CLASS(o: u8) -> u8 { o & IPOPT_CLASS_MASK } pub fn IPOPT_NUMBER(o: u8) -> u8 { o & IPOPT_NUMBER_MASK } pub fn IPTOS_ECN(x: u8) -> u8 { x & ::IPTOS_ECN_MASK } } extern "C" { 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; pub fn mincore( addr: *mut ::c_void, len: ::size_t, vec: *mut ::c_uchar, ) -> ::c_int; pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_settime( clk_id: ::clockid_t, tp: *const ::timespec, ) -> ::c_int; pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; pub fn pthread_getattr_np( native: ::pthread_t, attr: *mut ::pthread_attr_t, ) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, stacksize: *mut ::size_t, ) -> ::c_int; pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; pub fn setgroups(ngroups: ::size_t, ptr: *const ::gid_t) -> ::c_int; pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int; pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int; pub fn statfs64(path: *const ::c_char, buf: *mut statfs64) -> ::c_int; pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int; pub fn fstatfs64(fd: ::c_int, buf: *mut statfs64) -> ::c_int; pub fn statvfs64(path: *const ::c_char, buf: *mut statvfs64) -> ::c_int; pub fn fstatvfs64(fd: ::c_int, buf: *mut statvfs64) -> ::c_int; pub fn memrchr( cx: *const ::c_void, c: ::c_int, n: ::size_t, ) -> *mut ::c_void; pub fn posix_fadvise( fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int, ) -> ::c_int; pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int; pub fn utimensat( dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int, ) -> ::c_int; pub fn duplocale(base: ::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 uselocale(loc: ::locale_t) -> ::locale_t; pub fn creat64(path: *const c_char, mode: mode_t) -> ::c_int; pub fn fstat64(fildes: ::c_int, buf: *mut stat64) -> ::c_int; pub fn fstatat64( dirfd: ::c_int, pathname: *const c_char, buf: *mut stat64, flags: ::c_int, ) -> ::c_int; pub fn ftruncate64(fd: ::c_int, length: off64_t) -> ::c_int; pub fn lseek64(fd: ::c_int, offset: off64_t, whence: ::c_int) -> off64_t; pub fn lstat64(path: *const c_char, buf: *mut stat64) -> ::c_int; pub fn mmap64( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, flags: ::c_int, fd: ::c_int, offset: off64_t, ) -> *mut ::c_void; pub fn open64(path: *const c_char, oflag: ::c_int, ...) -> ::c_int; pub fn openat64( fd: ::c_int, path: *const c_char, oflag: ::c_int, ... ) -> ::c_int; pub fn pread64( fd: ::c_int, buf: *mut ::c_void, count: ::size_t, offset: off64_t, ) -> ::ssize_t; pub fn preadv64( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off64_t, ) -> ::ssize_t; pub fn pwrite64( fd: ::c_int, buf: *const ::c_void, count: ::size_t, offset: off64_t, ) -> ::ssize_t; pub fn pwritev64( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off64_t, ) -> ::ssize_t; pub fn readdir64(dirp: *mut ::DIR) -> *mut ::dirent64; pub fn readdir64_r( dirp: *mut ::DIR, entry: *mut ::dirent64, result: *mut *mut ::dirent64, ) -> ::c_int; pub fn stat64(path: *const c_char, buf: *mut stat64) -> ::c_int; pub fn truncate64(path: *const c_char, length: off64_t) -> ::c_int; pub fn mknodat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, dev: dev_t, ) -> ::c_int; pub fn pthread_condattr_getclock( attr: *const pthread_condattr_t, clock_id: *mut clockid_t, ) -> ::c_int; pub fn pthread_condattr_setclock( attr: *mut pthread_condattr_t, clock_id: ::clockid_t, ) -> ::c_int; pub fn pthread_condattr_setpshared( attr: *mut pthread_condattr_t, pshared: ::c_int, ) -> ::c_int; pub fn accept4( fd: ::c_int, addr: *mut ::sockaddr, len: *mut ::socklen_t, flg: ::c_int, ) -> ::c_int; pub fn pthread_mutexattr_setpshared( attr: *mut pthread_mutexattr_t, pshared: ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_getpshared( attr: *const pthread_rwlockattr_t, val: *mut ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_setpshared( attr: *mut pthread_rwlockattr_t, val: ::c_int, ) -> ::c_int; pub fn ptsname_r( fd: ::c_int, buf: *mut ::c_char, buflen: ::size_t, ) -> ::c_int; pub fn clearenv() -> ::c_int; pub fn waitid( idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int, ) -> ::c_int; pub fn setreuid(ruid: ::uid_t, euid: ::uid_t) -> ::c_int; pub fn setregid(rgid: ::gid_t, egid: ::gid_t) -> ::c_int; pub fn getresuid( ruid: *mut ::uid_t, euid: *mut ::uid_t, suid: *mut ::uid_t, ) -> ::c_int; pub fn getresgid( rgid: *mut ::gid_t, egid: *mut ::gid_t, sgid: *mut ::gid_t, ) -> ::c_int; pub fn acct(filename: *const ::c_char) -> ::c_int; pub fn brk(addr: *mut ::c_void) -> ::c_int; pub fn sbrk(increment: ::intptr_t) -> *mut ::c_void; #[deprecated( since = "0.2.66", note = "causes memory corruption, see rust-lang/libc#1596" )] pub fn vfork() -> ::pid_t; 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 wait4( pid: ::pid_t, status: *mut ::c_int, options: ::c_int, rusage: *mut ::rusage, ) -> ::pid_t; pub fn openpty( amaster: *mut ::c_int, aslave: *mut ::c_int, name: *mut ::c_char, termp: *const termios, winp: *const ::winsize, ) -> ::c_int; pub fn forkpty( amaster: *mut ::c_int, name: *mut ::c_char, termp: *const termios, winp: *const ::winsize, ) -> ::pid_t; pub fn login_tty(fd: ::c_int) -> ::c_int; pub fn execvpe( file: *const ::c_char, argv: *const *const ::c_char, envp: *const *const ::c_char, ) -> ::c_int; pub fn fexecve( fd: ::c_int, argv: *const *const ::c_char, envp: *const *const ::c_char, ) -> ::c_int; pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int; pub fn freeifaddrs(ifa: *mut ::ifaddrs); pub fn bind( socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t, ) -> ::c_int; pub fn writev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn readv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn sendmsg( fd: ::c_int, msg: *const ::msghdr, flags: ::c_int, ) -> ::ssize_t; pub fn recvmsg( fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int, ) -> ::ssize_t; pub fn uname(buf: *mut ::utsname) -> ::c_int; } cfg_if! { if #[cfg(target_os = "emscripten")] { mod emscripten; pub use self::emscripten::*; } else if #[cfg(target_os = "linux")] { mod linux; pub use self::linux::*; } else if #[cfg(target_os = "android")] { mod android; pub use self::android::*; } else { // Unknown target_os } } libc-0.2.66/src/unix/mod.rs010064400007650000024000001463371354141541700136570ustar0000000000000000//! Definitions found commonly among almost all Unix derivatives //! //! More functions and definitions can be found in the more specific modules //! according to the platform in question. 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 size_t = usize; pub type ptrdiff_t = isize; pub type intptr_t = isize; pub type uintptr_t = usize; pub type ssize_t = isize; pub type pid_t = i32; pub type uid_t = u32; pub type gid_t = u32; pub type in_addr_t = u32; pub type in_port_t = u16; pub type sighandler_t = ::size_t; pub type cc_t = ::c_uchar; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum DIR {} impl ::Copy for DIR {} impl ::Clone for DIR { fn clone(&self) -> DIR { *self } } pub type locale_t = *mut ::c_void; s! { pub struct group { pub gr_name: *mut ::c_char, pub gr_passwd: *mut ::c_char, pub gr_gid: ::gid_t, pub gr_mem: *mut *mut ::c_char, } pub struct utimbuf { pub actime: time_t, pub modtime: time_t, } pub struct timeval { pub tv_sec: time_t, pub tv_usec: suseconds_t, } // linux x32 compatibility // See https://sourceware.org/bugzilla/show_bug.cgi?id=16437 pub struct timespec { pub tv_sec: time_t, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] pub tv_nsec: i64, #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))] pub tv_nsec: ::c_long, } pub struct rlimit { pub rlim_cur: rlim_t, pub rlim_max: rlim_t, } pub struct rusage { pub ru_utime: timeval, pub ru_stime: timeval, pub ru_maxrss: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad1: u32, pub ru_ixrss: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad2: u32, pub ru_idrss: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad3: u32, pub ru_isrss: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad4: u32, pub ru_minflt: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad5: u32, pub ru_majflt: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad6: u32, pub ru_nswap: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad7: u32, pub ru_inblock: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad8: u32, pub ru_oublock: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad9: u32, pub ru_msgsnd: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad10: u32, pub ru_msgrcv: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad11: u32, pub ru_nsignals: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad12: u32, pub ru_nvcsw: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad13: u32, pub ru_nivcsw: c_long, #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))] __pad14: u32, #[cfg(any(target_env = "musl", target_os = "emscripten"))] __reserved: [c_long; 16], } pub struct ipv6_mreq { pub ipv6mr_multiaddr: in6_addr, #[cfg(target_os = "android")] pub ipv6mr_interface: ::c_int, #[cfg(not(target_os = "android"))] pub ipv6mr_interface: ::c_uint, } pub struct hostent { pub h_name: *mut ::c_char, pub h_aliases: *mut *mut ::c_char, pub h_addrtype: ::c_int, pub h_length: ::c_int, pub h_addr_list: *mut *mut ::c_char, } pub struct iovec { pub iov_base: *mut ::c_void, pub iov_len: ::size_t, } pub struct pollfd { pub fd: ::c_int, pub events: ::c_short, pub revents: ::c_short, } pub struct winsize { pub ws_row: ::c_ushort, pub ws_col: ::c_ushort, pub ws_xpixel: ::c_ushort, pub ws_ypixel: ::c_ushort, } pub struct linger { pub l_onoff: ::c_int, pub l_linger: ::c_int, } pub struct sigval { // Actually a union of an int and a void* pub sival_ptr: *mut ::c_void } // pub struct itimerval { pub it_interval: ::timeval, pub it_value: ::timeval, } // pub struct tms { pub tms_utime: ::clock_t, pub tms_stime: ::clock_t, pub tms_cutime: ::clock_t, pub tms_cstime: ::clock_t, } pub struct servent { pub s_name: *mut ::c_char, pub s_aliases: *mut *mut ::c_char, pub s_port: ::c_int, pub s_proto: *mut ::c_char, } pub struct protoent { pub p_name: *mut ::c_char, pub p_aliases: *mut *mut ::c_char, pub p_proto: ::c_int, } } pub const INT_MIN: c_int = -2147483648; pub const INT_MAX: c_int = 2147483647; 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; pub const DT_BLK: u8 = 6; pub const DT_REG: u8 = 8; pub const DT_LNK: u8 = 10; pub const DT_SOCK: u8 = 12; cfg_if! { if #[cfg(not(target_os = "redox"))] { pub const FD_CLOEXEC: ::c_int = 0x1; } } pub const USRQUOTA: ::c_int = 0; pub const GRPQUOTA: ::c_int = 1; pub const SIGIOT: ::c_int = 6; pub const S_ISUID: ::mode_t = 0x800; pub const S_ISGID: ::mode_t = 0x400; pub const S_ISVTX: ::mode_t = 0x200; pub const IF_NAMESIZE: ::size_t = 16; pub const IFNAMSIZ: ::size_t = IF_NAMESIZE; pub const LOG_EMERG: ::c_int = 0; pub const LOG_ALERT: ::c_int = 1; pub const LOG_CRIT: ::c_int = 2; pub const LOG_ERR: ::c_int = 3; pub const LOG_WARNING: ::c_int = 4; pub const LOG_NOTICE: ::c_int = 5; pub const LOG_INFO: ::c_int = 6; pub const LOG_DEBUG: ::c_int = 7; pub const LOG_KERN: ::c_int = 0; pub const LOG_USER: ::c_int = 1 << 3; pub const LOG_MAIL: ::c_int = 2 << 3; pub const LOG_DAEMON: ::c_int = 3 << 3; pub const LOG_AUTH: ::c_int = 4 << 3; pub const LOG_SYSLOG: ::c_int = 5 << 3; pub const LOG_LPR: ::c_int = 6 << 3; pub const LOG_NEWS: ::c_int = 7 << 3; pub const LOG_UUCP: ::c_int = 8 << 3; pub const LOG_LOCAL0: ::c_int = 16 << 3; pub const LOG_LOCAL1: ::c_int = 17 << 3; pub const LOG_LOCAL2: ::c_int = 18 << 3; pub const LOG_LOCAL3: ::c_int = 19 << 3; pub const LOG_LOCAL4: ::c_int = 20 << 3; pub const LOG_LOCAL5: ::c_int = 21 << 3; pub const LOG_LOCAL6: ::c_int = 22 << 3; pub const LOG_LOCAL7: ::c_int = 23 << 3; pub const LOG_PID: ::c_int = 0x01; pub const LOG_CONS: ::c_int = 0x02; pub const LOG_ODELAY: ::c_int = 0x04; pub const LOG_NDELAY: ::c_int = 0x08; pub const LOG_NOWAIT: ::c_int = 0x10; pub const LOG_PRIMASK: ::c_int = 7; pub const LOG_FACMASK: ::c_int = 0x3f8; pub const PRIO_PROCESS: ::c_int = 0; pub const PRIO_PGRP: ::c_int = 1; pub const PRIO_USER: ::c_int = 2; pub const PRIO_MIN: ::c_int = -20; pub const PRIO_MAX: ::c_int = 20; pub const IPPROTO_ICMP: ::c_int = 1; pub const IPPROTO_ICMPV6: ::c_int = 58; pub const IPPROTO_TCP: ::c_int = 6; pub const IPPROTO_UDP: ::c_int = 17; pub const IPPROTO_IP: ::c_int = 0; pub const IPPROTO_IPV6: ::c_int = 41; pub const INADDR_LOOPBACK: in_addr_t = 2130706433; pub const INADDR_ANY: in_addr_t = 0; pub const INADDR_BROADCAST: in_addr_t = 4294967295; pub const INADDR_NONE: in_addr_t = 4294967295; pub const ARPOP_REQUEST: u16 = 1; pub const ARPOP_REPLY: u16 = 2; pub const ATF_COM: ::c_int = 0x02; pub const ATF_PERM: ::c_int = 0x04; pub const ATF_PUBL: ::c_int = 0x08; pub const ATF_USETRAILERS: ::c_int = 0x10; cfg_if! { 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(target_env = "musl")] { #[cfg_attr(feature = "rustc-dep-of-std", 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"))))] extern {} } else if #[cfg(target_os = "emscripten")] { #[link(name = "c")] extern {} } else if #[cfg(all(target_os = "netbsd", feature = "rustc-dep-of-std", target_vendor = "rumprun"))] { // Since we don't use -nodefaultlibs on Rumprun, libc is always pulled // in automatically by the linker. We avoid passing it explicitly, as it // causes some versions of binutils to crash with an assertion failure. #[link(name = "m")] extern {} } else if #[cfg(any(target_os = "macos", target_os = "ios", target_os = "android", target_os = "openbsd"))] { #[link(name = "c")] #[link(name = "m")] extern {} } else if #[cfg(target_os = "haiku")] { #[link(name = "root")] #[link(name = "network")] extern {} } else if #[cfg(target_env = "newlib")] { #[link(name = "c")] #[link(name = "m")] extern {} } else if #[cfg(target_os = "hermit")] { // no_default_libraries is set to false for HermitCore, so only a link // to "pthread" needs to be added. #[link(name = "pthread")] extern {} } else if #[cfg(target_env = "illumos")] { #[link(name = "c")] #[link(name = "m")] extern {} } else if #[cfg(target_os = "redox")] { #[cfg_attr(feature = "rustc-dep-of-std", 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"))))] extern {} } else { #[link(name = "c")] #[link(name = "m")] #[link(name = "rt")] #[link(name = "pthread")] extern {} } } #[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 {} // TODO: fill this out with a struct impl ::Copy for fpos_t {} impl ::Clone for fpos_t { fn clone(&self) -> fpos_t { *self } } extern "C" { 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; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "fopen$UNIX2003" )] pub fn fopen(filename: *const c_char, mode: *const c_char) -> *mut FILE; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "freopen$UNIX2003" )] pub fn freopen( filename: *const c_char, mode: *const c_char, file: *mut FILE, ) -> *mut FILE; pub fn fflush(file: *mut FILE) -> c_int; pub fn fclose(file: *mut FILE) -> c_int; pub fn remove(filename: *const c_char) -> c_int; pub fn rename(oldname: *const c_char, newname: *const c_char) -> c_int; pub fn tmpfile() -> *mut FILE; pub fn setvbuf( stream: *mut FILE, buffer: *mut c_char, mode: c_int, size: size_t, ) -> c_int; pub fn setbuf(stream: *mut FILE, buf: *mut c_char); pub fn getchar() -> c_int; pub fn putchar(c: c_int) -> c_int; pub fn fgetc(stream: *mut FILE) -> c_int; pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char; pub fn fputc(c: c_int, stream: *mut FILE) -> c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "fputs$UNIX2003" )] pub fn fputs(s: *const c_char, stream: *mut FILE) -> c_int; pub fn puts(s: *const c_char) -> c_int; pub fn ungetc(c: c_int, stream: *mut FILE) -> c_int; pub fn fread( ptr: *mut c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "fwrite$UNIX2003" )] pub fn fwrite( ptr: *const c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int; pub fn ftell(stream: *mut FILE) -> c_long; pub fn rewind(stream: *mut FILE); #[cfg_attr(target_os = "netbsd", link_name = "__fgetpos50")] pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> c_int; #[cfg_attr(target_os = "netbsd", link_name = "__fsetpos50")] pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> c_int; 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 atoi(s: *const c_char) -> c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "strtod$UNIX2003" )] pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double; 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; pub fn malloc(size: size_t) -> *mut c_void; pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void; pub fn free(p: *mut c_void); pub fn abort() -> !; pub fn exit(status: c_int) -> !; pub fn _exit(status: c_int) -> !; pub fn atexit(cb: extern "C" fn()) -> c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "system$UNIX2003" )] pub fn system(s: *const c_char) -> c_int; pub fn getenv(s: *const c_char) -> *mut c_char; pub fn strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char; pub fn strncpy( dst: *mut c_char, src: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char; pub fn strncat( s: *mut c_char, ct: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int; pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strdup(cs: *const c_char) -> *mut c_char; pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strcasecmp(s1: *const c_char, s2: *const c_char) -> c_int; pub fn strncasecmp( s1: *const c_char, s2: *const c_char, n: size_t, ) -> c_int; pub fn strlen(cs: *const c_char) -> size_t; pub fn strnlen(cs: *const c_char, maxlen: size_t) -> size_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "strerror$UNIX2003" )] pub fn strerror(n: c_int) -> *mut c_char; pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char; pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t; pub fn wcslen(buf: *const wchar_t) -> size_t; pub fn wcstombs( dest: *mut c_char, src: *const wchar_t, n: size_t, ) -> ::size_t; pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void; pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int; pub fn memcpy( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memmove( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void; } extern "C" { #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam50")] pub fn getpwnam(name: *const ::c_char) -> *mut passwd; #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid50")] pub fn getpwuid(uid: ::uid_t) -> *mut passwd; pub fn fprintf( stream: *mut ::FILE, format: *const ::c_char, ... ) -> ::c_int; pub fn printf(format: *const ::c_char, ...) -> ::c_int; pub fn snprintf( s: *mut ::c_char, n: ::size_t, format: *const ::c_char, ... ) -> ::c_int; pub fn sprintf(s: *mut ::c_char, format: *const ::c_char, ...) -> ::c_int; #[cfg_attr(target_os = "linux", link_name = "__isoc99_fscanf")] pub fn fscanf( stream: *mut ::FILE, format: *const ::c_char, ... ) -> ::c_int; #[cfg_attr(target_os = "linux", link_name = "__isoc99_scanf")] pub fn scanf(format: *const ::c_char, ...) -> ::c_int; #[cfg_attr(target_os = "linux", link_name = "__isoc99_sscanf")] pub fn sscanf(s: *const ::c_char, format: *const ::c_char, ...) -> ::c_int; pub fn getchar_unlocked() -> ::c_int; pub fn putchar_unlocked(c: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__socket30")] #[cfg_attr(target_os = "illumos", link_name = "__xnet_socket")] pub fn socket(domain: ::c_int, ty: ::c_int, protocol: ::c_int) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "connect$UNIX2003" )] #[cfg_attr(target_os = "illumos", link_name = "__xnet_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 = "illumos", link_name = "__xnet_listen")] pub fn listen(socket: ::c_int, backlog: ::c_int) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "accept$UNIX2003" )] pub fn accept( socket: ::c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "getpeername$UNIX2003" )] pub fn getpeername( socket: ::c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "getsockname$UNIX2003" )] pub fn getsockname( socket: ::c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> ::c_int; pub fn setsockopt( socket: ::c_int, level: ::c_int, name: ::c_int, value: *const ::c_void, option_len: socklen_t, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "socketpair$UNIX2003" )] #[cfg_attr(target_os = "illumos", link_name = "__xnet_socketpair")] pub fn socketpair( domain: ::c_int, type_: ::c_int, protocol: ::c_int, socket_vector: *mut ::c_int, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sendto$UNIX2003" )] #[cfg_attr(target_os = "illumos", link_name = "__xnet_sendto")] pub fn sendto( socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int, addr: *const sockaddr, addrlen: socklen_t, ) -> ::ssize_t; pub fn shutdown(socket: ::c_int, how: ::c_int) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "chmod$UNIX2003" )] pub fn chmod(path: *const c_char, mode: mode_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "fchmod$UNIX2003" )] pub fn fchmod(fd: ::c_int, mode: mode_t) -> ::c_int; #[cfg_attr(target_os = "macos", link_name = "fstat$INODE64")] #[cfg_attr(target_os = "netbsd", link_name = "__fstat50")] #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "fstat@FBSD_1.0" )] pub fn fstat(fildes: ::c_int, buf: *mut stat) -> ::c_int; pub fn mkdir(path: *const c_char, mode: mode_t) -> ::c_int; #[cfg_attr(target_os = "macos", link_name = "stat$INODE64")] #[cfg_attr(target_os = "netbsd", link_name = "__stat50")] #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "stat@FBSD_1.0" )] pub fn stat(path: *const c_char, buf: *mut stat) -> ::c_int; pub fn pclose(stream: *mut ::FILE) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "fdopen$UNIX2003" )] pub fn fdopen(fd: ::c_int, mode: *const c_char) -> *mut ::FILE; pub fn fileno(stream: *mut ::FILE) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "open$UNIX2003" )] pub fn open(path: *const c_char, oflag: ::c_int, ...) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "creat$UNIX2003" )] pub fn creat(path: *const c_char, mode: mode_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "fcntl$UNIX2003" )] pub fn fcntl(fd: ::c_int, cmd: ::c_int, ...) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86_64"), link_name = "opendir$INODE64" )] #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "opendir$INODE64$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__opendir30")] pub fn opendir(dirname: *const c_char) -> *mut ::DIR; #[cfg_attr(target_os = "macos", link_name = "readdir$INODE64")] #[cfg_attr(target_os = "netbsd", link_name = "__readdir30")] #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "readdir@FBSD_1.0" )] pub fn readdir(dirp: *mut ::DIR) -> *mut ::dirent; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "closedir$UNIX2003" )] pub fn closedir(dirp: *mut ::DIR) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86_64"), link_name = "rewinddir$INODE64" )] #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "rewinddir$INODE64$UNIX2003" )] pub fn rewinddir(dirp: *mut ::DIR); pub fn fchmodat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, flags: ::c_int, ) -> ::c_int; pub fn fchown(fd: ::c_int, owner: ::uid_t, group: ::gid_t) -> ::c_int; pub fn fchownat( dirfd: ::c_int, pathname: *const ::c_char, owner: ::uid_t, group: ::gid_t, flags: ::c_int, ) -> ::c_int; #[cfg_attr(target_os = "macos", link_name = "fstatat$INODE64")] #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "fstatat@FBSD_1.1" )] pub fn fstatat( dirfd: ::c_int, pathname: *const ::c_char, buf: *mut stat, flags: ::c_int, ) -> ::c_int; pub fn linkat( olddirfd: ::c_int, oldpath: *const ::c_char, newdirfd: ::c_int, newpath: *const ::c_char, flags: ::c_int, ) -> ::c_int; pub fn renameat( olddirfd: ::c_int, oldpath: *const ::c_char, newdirfd: ::c_int, newpath: *const ::c_char, ) -> ::c_int; pub fn symlinkat( target: *const ::c_char, newdirfd: ::c_int, linkpath: *const ::c_char, ) -> ::c_int; pub fn unlinkat( dirfd: ::c_int, pathname: *const ::c_char, flags: ::c_int, ) -> ::c_int; pub fn access(path: *const c_char, amode: ::c_int) -> ::c_int; pub fn alarm(seconds: ::c_uint) -> ::c_uint; pub fn chdir(dir: *const c_char) -> ::c_int; pub fn fchdir(dirfd: ::c_int) -> ::c_int; pub fn chown(path: *const c_char, uid: uid_t, gid: gid_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "lchown$UNIX2003" )] pub fn lchown(path: *const c_char, uid: uid_t, gid: gid_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "close$NOCANCEL$UNIX2003" )] #[cfg_attr( all(target_os = "macos", target_arch = "x86_64"), link_name = "close$NOCANCEL" )] pub fn close(fd: ::c_int) -> ::c_int; pub fn dup(fd: ::c_int) -> ::c_int; pub fn dup2(src: ::c_int, dst: ::c_int) -> ::c_int; pub fn execl(path: *const c_char, arg0: *const c_char, ...) -> ::c_int; pub fn execle( path: *const ::c_char, arg0: *const ::c_char, ... ) -> ::c_int; pub fn execlp( file: *const ::c_char, arg0: *const ::c_char, ... ) -> ::c_int; pub fn execv(prog: *const c_char, argv: *const *const c_char) -> ::c_int; pub fn execve( prog: *const c_char, argv: *const *const c_char, envp: *const *const c_char, ) -> ::c_int; pub fn execvp(c: *const c_char, argv: *const *const c_char) -> ::c_int; pub fn fork() -> pid_t; pub fn fpathconf(filedes: ::c_int, name: ::c_int) -> c_long; pub fn getcwd(buf: *mut c_char, size: ::size_t) -> *mut c_char; pub fn getegid() -> gid_t; pub fn geteuid() -> uid_t; pub fn getgid() -> gid_t; pub fn getgroups(ngroups_max: ::c_int, groups: *mut gid_t) -> ::c_int; pub fn getlogin() -> *mut c_char; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "getopt$UNIX2003" )] pub fn getopt( argc: ::c_int, argv: *const *mut c_char, optstr: *const c_char, ) -> ::c_int; pub fn getpgid(pid: pid_t) -> pid_t; pub fn getpgrp() -> pid_t; pub fn getpid() -> pid_t; pub fn getppid() -> pid_t; pub fn getuid() -> uid_t; pub fn isatty(fd: ::c_int) -> ::c_int; pub fn link(src: *const c_char, dst: *const c_char) -> ::c_int; pub fn lseek(fd: ::c_int, offset: off_t, whence: ::c_int) -> off_t; pub fn pathconf(path: *const c_char, name: ::c_int) -> c_long; pub fn pipe(fds: *mut ::c_int) -> ::c_int; pub fn posix_memalign( memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "read$UNIX2003" )] pub fn read(fd: ::c_int, buf: *mut ::c_void, count: ::size_t) -> ::ssize_t; pub fn rmdir(path: *const c_char) -> ::c_int; pub fn seteuid(uid: uid_t) -> ::c_int; pub fn setegid(gid: gid_t) -> ::c_int; pub fn setgid(gid: gid_t) -> ::c_int; pub fn setpgid(pid: pid_t, pgid: pid_t) -> ::c_int; pub fn setsid() -> pid_t; pub fn setuid(uid: uid_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sleep$UNIX2003" )] pub fn sleep(secs: ::c_uint) -> ::c_uint; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "nanosleep$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__nanosleep50")] pub fn nanosleep(rqtp: *const timespec, rmtp: *mut timespec) -> ::c_int; pub fn tcgetpgrp(fd: ::c_int) -> pid_t; pub fn tcsetpgrp(fd: ::c_int, pgrp: ::pid_t) -> ::c_int; pub fn ttyname(fd: ::c_int) -> *mut c_char; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "ttyname_r$UNIX2003" )] pub fn ttyname_r( fd: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::c_int; pub fn unlink(c: *const c_char) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "wait$UNIX2003" )] pub fn wait(status: *mut ::c_int) -> pid_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "waitpid$UNIX2003" )] pub fn waitpid( pid: pid_t, status: *mut ::c_int, options: ::c_int, ) -> pid_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "write$UNIX2003" )] pub fn write( fd: ::c_int, buf: *const ::c_void, count: ::size_t, ) -> ::ssize_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pread$UNIX2003" )] pub fn pread( fd: ::c_int, buf: *mut ::c_void, count: ::size_t, offset: off_t, ) -> ::ssize_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pwrite$UNIX2003" )] pub fn pwrite( fd: ::c_int, buf: *const ::c_void, count: ::size_t, offset: off_t, ) -> ::ssize_t; pub fn umask(mask: mode_t) -> mode_t; #[cfg_attr(target_os = "netbsd", link_name = "__utime50")] pub fn utime(file: *const c_char, buf: *const utimbuf) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "kill$UNIX2003" )] pub fn kill(pid: pid_t, sig: ::c_int) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "killpg$UNIX2003" )] pub fn killpg(pgrp: pid_t, sig: ::c_int) -> ::c_int; pub fn mlock(addr: *const ::c_void, len: ::size_t) -> ::c_int; pub fn munlock(addr: *const ::c_void, len: ::size_t) -> ::c_int; pub fn mlockall(flags: ::c_int) -> ::c_int; pub fn munlockall() -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "mmap$UNIX2003" )] pub fn mmap( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, flags: ::c_int, fd: ::c_int, offset: off_t, ) -> *mut ::c_void; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "munmap$UNIX2003" )] pub fn munmap(addr: *mut ::c_void, len: ::size_t) -> ::c_int; pub fn if_nametoindex(ifname: *const c_char) -> ::c_uint; pub fn if_indextoname( ifindex: ::c_uint, ifname: *mut ::c_char, ) -> *mut ::c_char; #[cfg_attr(target_os = "macos", link_name = "lstat$INODE64")] #[cfg_attr(target_os = "netbsd", link_name = "__lstat50")] #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "lstat@FBSD_1.0" )] pub fn lstat(path: *const c_char, buf: *mut stat) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "fsync$UNIX2003" )] pub fn fsync(fd: ::c_int) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "setenv$UNIX2003" )] pub fn setenv( name: *const c_char, val: *const c_char, overwrite: ::c_int, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "unsetenv$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__unsetenv13")] pub fn unsetenv(name: *const c_char) -> ::c_int; pub fn symlink(path1: *const c_char, path2: *const c_char) -> ::c_int; pub fn ftruncate(fd: ::c_int, length: off_t) -> ::c_int; pub fn signal(signum: ::c_int, handler: sighandler_t) -> sighandler_t; #[cfg_attr(target_os = "netbsd", link_name = "__getrusage50")] pub fn getrusage(resource: ::c_int, usage: *mut rusage) -> ::c_int; #[cfg_attr( any(target_os = "macos", target_os = "ios"), link_name = "realpath$DARWIN_EXTSN" )] pub fn realpath( pathname: *const ::c_char, resolved: *mut ::c_char, ) -> *mut ::c_char; pub fn flock(fd: ::c_int, operation: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__times13")] pub fn times(buf: *mut ::tms) -> ::clock_t; pub fn pthread_self() -> ::pthread_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_join$UNIX2003" )] pub fn pthread_join( native: ::pthread_t, value: *mut *mut ::c_void, ) -> ::c_int; pub fn pthread_exit(value: *mut ::c_void) -> !; pub fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int; pub fn pthread_attr_destroy(attr: *mut ::pthread_attr_t) -> ::c_int; pub fn pthread_attr_setstacksize( attr: *mut ::pthread_attr_t, stack_size: ::size_t, ) -> ::c_int; pub fn pthread_attr_setdetachstate( attr: *mut ::pthread_attr_t, state: ::c_int, ) -> ::c_int; pub fn pthread_detach(thread: ::pthread_t) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__libc_thr_yield")] pub fn sched_yield() -> ::c_int; pub fn pthread_key_create( key: *mut pthread_key_t, dtor: ::Option, ) -> ::c_int; pub fn pthread_key_delete(key: pthread_key_t) -> ::c_int; pub fn pthread_getspecific(key: pthread_key_t) -> *mut ::c_void; pub fn pthread_setspecific( key: pthread_key_t, value: *const ::c_void, ) -> ::c_int; pub fn pthread_mutex_init( lock: *mut pthread_mutex_t, attr: *const pthread_mutexattr_t, ) -> ::c_int; pub fn pthread_mutex_destroy(lock: *mut pthread_mutex_t) -> ::c_int; pub fn pthread_mutex_lock(lock: *mut pthread_mutex_t) -> ::c_int; pub fn pthread_mutex_trylock(lock: *mut pthread_mutex_t) -> ::c_int; pub fn pthread_mutex_unlock(lock: *mut pthread_mutex_t) -> ::c_int; pub fn pthread_mutexattr_init(attr: *mut pthread_mutexattr_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_mutexattr_destroy$UNIX2003" )] pub fn pthread_mutexattr_destroy( attr: *mut pthread_mutexattr_t, ) -> ::c_int; pub fn pthread_mutexattr_settype( attr: *mut pthread_mutexattr_t, _type: ::c_int, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_cond_init$UNIX2003" )] pub fn pthread_cond_init( cond: *mut pthread_cond_t, attr: *const pthread_condattr_t, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_cond_wait$UNIX2003" )] pub fn pthread_cond_wait( cond: *mut pthread_cond_t, lock: *mut pthread_mutex_t, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_cond_timedwait$UNIX2003" )] pub fn pthread_cond_timedwait( cond: *mut pthread_cond_t, lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn pthread_cond_signal(cond: *mut pthread_cond_t) -> ::c_int; pub fn pthread_cond_broadcast(cond: *mut pthread_cond_t) -> ::c_int; pub fn pthread_cond_destroy(cond: *mut pthread_cond_t) -> ::c_int; pub fn pthread_condattr_init(attr: *mut pthread_condattr_t) -> ::c_int; pub fn pthread_condattr_destroy(attr: *mut pthread_condattr_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_rwlock_init$UNIX2003" )] pub fn pthread_rwlock_init( lock: *mut pthread_rwlock_t, attr: *const pthread_rwlockattr_t, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_rwlock_destroy$UNIX2003" )] pub fn pthread_rwlock_destroy(lock: *mut pthread_rwlock_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_rwlock_rdlock$UNIX2003" )] pub fn pthread_rwlock_rdlock(lock: *mut pthread_rwlock_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_rwlock_tryrdlock$UNIX2003" )] pub fn pthread_rwlock_tryrdlock(lock: *mut pthread_rwlock_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_rwlock_wrlock$UNIX2003" )] pub fn pthread_rwlock_wrlock(lock: *mut pthread_rwlock_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_rwlock_trywrlock$UNIX2003" )] pub fn pthread_rwlock_trywrlock(lock: *mut pthread_rwlock_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_rwlock_unlock$UNIX2003" )] pub fn pthread_rwlock_unlock(lock: *mut pthread_rwlock_t) -> ::c_int; pub fn pthread_rwlockattr_init(attr: *mut pthread_rwlockattr_t) -> ::c_int; pub fn pthread_rwlockattr_destroy( attr: *mut pthread_rwlockattr_t, ) -> ::c_int; #[cfg_attr(target_os = "illumos", link_name = "__xnet_getsockopt")] pub fn getsockopt( sockfd: ::c_int, level: ::c_int, optname: ::c_int, optval: *mut ::c_void, optlen: *mut ::socklen_t, ) -> ::c_int; pub fn raise(signum: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__sigaction14")] pub fn sigaction( signum: ::c_int, act: *const sigaction, oldact: *mut sigaction, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__utimes50")] pub fn utimes( filename: *const ::c_char, times: *const ::timeval, ) -> ::c_int; pub fn dlopen(filename: *const ::c_char, flag: ::c_int) -> *mut ::c_void; pub fn dlerror() -> *mut ::c_char; pub fn dlsym( handle: *mut ::c_void, symbol: *const ::c_char, ) -> *mut ::c_void; pub fn dlclose(handle: *mut ::c_void) -> ::c_int; pub fn dladdr(addr: *const ::c_void, info: *mut Dl_info) -> ::c_int; pub fn getaddrinfo( node: *const c_char, service: *const c_char, hints: *const addrinfo, res: *mut *mut addrinfo, ) -> ::c_int; pub fn freeaddrinfo(res: *mut addrinfo); pub fn gai_strerror(errcode: ::c_int) -> *const ::c_char; #[cfg_attr( any( all(target_os = "linux", not(target_env = "musl")), target_os = "freebsd", target_os = "dragonfly", target_os = "haiku" ), link_name = "__res_init" )] #[cfg_attr( any(target_os = "macos", target_os = "ios"), link_name = "res_9_init" )] pub fn res_init() -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__gmtime_r50")] pub fn gmtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm; #[cfg_attr(target_os = "netbsd", link_name = "__localtime_r50")] pub fn localtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "mktime$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__mktime50")] pub fn mktime(tm: *mut tm) -> time_t; #[cfg_attr(target_os = "netbsd", link_name = "__time50")] pub fn time(time: *mut time_t) -> time_t; #[cfg_attr(target_os = "netbsd", link_name = "__gmtime50")] pub fn gmtime(time_p: *const time_t) -> *mut tm; #[cfg_attr(target_os = "netbsd", link_name = "__locatime50")] pub fn localtime(time_p: *const time_t) -> *mut tm; #[cfg_attr(target_os = "netbsd", link_name = "__difftime50")] pub fn difftime(time1: time_t, time0: time_t) -> ::c_double; #[cfg_attr(target_os = "netbsd", link_name = "__mknod50")] #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "mknod@FBSD_1.0" )] pub fn mknod( pathname: *const ::c_char, mode: ::mode_t, dev: ::dev_t, ) -> ::c_int; pub fn gethostname(name: *mut ::c_char, len: ::size_t) -> ::c_int; pub fn getservbyname( name: *const ::c_char, proto: *const ::c_char, ) -> *mut servent; pub fn getprotobyname(name: *const ::c_char) -> *mut protoent; pub fn getprotobynumber(proto: ::c_int) -> *mut protoent; pub fn chroot(name: *const ::c_char) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "usleep$UNIX2003" )] pub fn usleep(secs: ::c_uint) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "send$UNIX2003" )] 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" )] 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"), link_name = "putenv$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__putenv50")] pub fn putenv(string: *mut c_char) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "poll$UNIX2003" )] pub fn poll(fds: *mut pollfd, nfds: nfds_t, timeout: ::c_int) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86_64"), link_name = "select$1050" )] #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "select$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__select50")] pub fn select( nfds: ::c_int, readfs: *mut fd_set, writefds: *mut fd_set, errorfds: *mut fd_set, timeout: *mut timeval, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__setlocale50")] pub fn setlocale( category: ::c_int, locale: *const ::c_char, ) -> *mut ::c_char; pub fn localeconv() -> *mut lconv; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sem_wait$UNIX2003" )] pub fn sem_wait(sem: *mut sem_t) -> ::c_int; pub fn sem_trywait(sem: *mut sem_t) -> ::c_int; pub fn sem_post(sem: *mut sem_t) -> ::c_int; pub fn statvfs(path: *const c_char, buf: *mut statvfs) -> ::c_int; pub fn fstatvfs(fd: ::c_int, buf: *mut statvfs) -> ::c_int; pub fn readlink( path: *const c_char, buf: *mut c_char, bufsz: ::size_t, ) -> ::ssize_t; #[cfg_attr(target_os = "netbsd", link_name = "__sigemptyset14")] pub fn sigemptyset(set: *mut sigset_t) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__sigaddset14")] pub fn sigaddset(set: *mut sigset_t, signum: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__sigfillset14")] pub fn sigfillset(set: *mut sigset_t) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__sigdelset14")] pub fn sigdelset(set: *mut sigset_t, signum: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__sigismember14")] pub fn sigismember(set: *const sigset_t, signum: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__sigprocmask14")] pub fn sigprocmask( how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__sigpending14")] pub fn sigpending(set: *mut sigset_t) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__timegm50")] pub fn timegm(tm: *mut ::tm) -> time_t; pub fn sysconf(name: ::c_int) -> ::c_long; pub fn mkfifo(path: *const c_char, mode: mode_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86_64"), link_name = "pselect$1050" )] #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pselect$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__pselect50")] pub fn pselect( nfds: ::c_int, readfs: *mut fd_set, writefds: *mut fd_set, errorfds: *mut fd_set, timeout: *const timespec, sigmask: *const sigset_t, ) -> ::c_int; pub fn fseeko( stream: *mut ::FILE, offset: ::off_t, whence: ::c_int, ) -> ::c_int; pub fn ftello(stream: *mut ::FILE) -> ::off_t; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "tcdrain$UNIX2003" )] pub fn tcdrain(fd: ::c_int) -> ::c_int; pub fn cfgetispeed(termios: *const ::termios) -> ::speed_t; pub fn cfgetospeed(termios: *const ::termios) -> ::speed_t; pub fn cfsetispeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int; pub fn cfsetospeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int; pub fn tcgetattr(fd: ::c_int, termios: *mut ::termios) -> ::c_int; pub fn tcsetattr( fd: ::c_int, optional_actions: ::c_int, termios: *const ::termios, ) -> ::c_int; pub fn tcflow(fd: ::c_int, action: ::c_int) -> ::c_int; pub fn tcflush(fd: ::c_int, action: ::c_int) -> ::c_int; pub fn tcgetsid(fd: ::c_int) -> ::pid_t; pub fn tcsendbreak(fd: ::c_int, duration: ::c_int) -> ::c_int; pub fn mkstemp(template: *mut ::c_char) -> ::c_int; pub fn mkdtemp(template: *mut ::c_char) -> *mut ::c_char; pub fn tmpnam(ptr: *mut ::c_char) -> *mut ::c_char; pub fn openlog(ident: *const ::c_char, logopt: ::c_int, facility: ::c_int); pub fn closelog(); pub fn setlogmask(maskpri: ::c_int) -> ::c_int; #[cfg_attr(target_os = "macos", link_name = "syslog$DARWIN_EXTSN")] pub fn syslog(priority: ::c_int, message: *const ::c_char, ...); #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "nice$UNIX2003" )] pub fn nice(incr: ::c_int) -> ::c_int; pub fn grantpt(fd: ::c_int) -> ::c_int; pub fn posix_openpt(flags: ::c_int) -> ::c_int; pub fn ptsname(fd: ::c_int) -> *mut ::c_char; pub fn unlockpt(fd: ::c_int) -> ::c_int; pub fn strcasestr(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn getline( lineptr: *mut *mut c_char, n: *mut size_t, stream: *mut FILE, ) -> ssize_t; } cfg_if! { if #[cfg(not(target_os = "redox"))] { extern { pub fn getsid(pid: pid_t) -> pid_t; pub fn truncate(path: *const c_char, length: off_t) -> ::c_int; #[cfg_attr(all(target_os = "macos", target_arch = "x86"), link_name = "pause$UNIX2003")] pub fn pause() -> ::c_int; pub fn readlinkat(dirfd: ::c_int, pathname: *const ::c_char, buf: *mut ::c_char, bufsiz: ::size_t) -> ::ssize_t; pub fn mkdirat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int; pub fn openat(dirfd: ::c_int, pathname: *const ::c_char, flags: ::c_int, ...) -> ::c_int; #[cfg_attr(all(target_os = "macos", target_arch = "x86_64"), link_name = "fdopendir$INODE64")] #[cfg_attr(all(target_os = "macos", target_arch = "x86"), link_name = "fdopendir$INODE64$UNIX2003")] pub fn fdopendir(fd: ::c_int) -> *mut ::DIR; #[cfg_attr(target_os = "macos", link_name = "readdir_r$INODE64")] #[cfg_attr(target_os = "netbsd", link_name = "__readdir_r30")] #[cfg_attr( all(target_os = "freebsd", any(freebsd11, freebsd10)), link_name = "readdir_r@FBSD_1.0" )] /// The 64-bit libc on Solaris and illumos only has readdir_r. If a /// 32-bit Solaris or illumos target is ever created, it should use /// __posix_readdir_r. See libc(3LIB) on Solaris or illumos: /// https://illumos.org/man/3lib/libc /// https://docs.oracle.com/cd/E36784_01/html/E36873/libc-3lib.html /// https://www.unix.com/man-page/opensolaris/3LIB/libc/ pub fn readdir_r(dirp: *mut ::DIR, entry: *mut ::dirent, result: *mut *mut ::dirent) -> ::c_int; } } } cfg_if! { if #[cfg(not(any(target_os = "solaris", target_os = "illumos")))] { extern { pub fn cfmakeraw(termios: *mut ::termios); pub fn cfsetspeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int; } } } cfg_if! { if #[cfg(target_env = "uclibc")] { mod uclibc; pub use self::uclibc::*; } else if #[cfg(target_env = "newlib")] { mod newlib; pub use self::newlib::*; } else if #[cfg(any(target_os = "linux", target_os = "android", target_os = "emscripten"))] { mod linux_like; pub use self::linux_like::*; } else if #[cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "dragonfly", target_os = "openbsd", target_os = "netbsd"))] { mod bsd; pub use self::bsd::*; } else if #[cfg(any(target_os = "solaris", target_os = "illumos"))] { mod solarish; pub use self::solarish::*; } else if #[cfg(target_os = "haiku")] { mod haiku; pub use self::haiku::*; } else if #[cfg(target_os = "hermit")] { mod hermit; pub use self::hermit::*; } else if #[cfg(target_os = "redox")] { mod redox; pub use self::redox::*; } else { // Unknown target_os } } 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(libc_align)] { mod align; pub use self::align::*; } else { mod no_align; pub use self::no_align::*; } } libc-0.2.66/src/unix/newlib/aarch64/mod.rs010064400007650000024000000013561353453276600163670ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; pub type c_long = i64; pub type c_ulong = u64; s! { pub struct sockaddr { pub sa_len: u8, pub sa_family: ::sa_family_t, pub sa_data: [::c_char; 14], } pub struct sockaddr_in6 { pub sin6_len: u8, 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_in { pub sin_len: u8, pub sin_family: ::sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [::c_char; 8], } } pub const POLLOUT: ::c_short = 0x4; pub const POLLHUP: ::c_short = 0x10; libc-0.2.66/src/unix/newlib/align.rs010064400007650000024000000050141353775267200154500ustar0000000000000000macro_rules! expand_align { () => { s! { #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")), repr(align(4)))] #[cfg_attr(any(target_pointer_width = "64", not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))), repr(align(8)))] pub struct pthread_mutex_t { // Unverified size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")), repr(align(4)))] #[cfg_attr(any(target_pointer_width = "64", not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))), repr(align(8)))] pub struct pthread_rwlock_t { // Unverified size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } #[cfg_attr(any(target_pointer_width = "32", target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64"), repr(align(4)))] #[cfg_attr(not(any(target_pointer_width = "32", target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64")), repr(align(8)))] pub struct pthread_mutexattr_t { // Unverified size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } #[repr(align(8))] pub struct pthread_cond_t { // Unverified size: [u8; ::__SIZEOF_PTHREAD_COND_T], } #[repr(align(4))] pub struct pthread_condattr_t { // Unverified size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } }; } libc-0.2.66/src/unix/newlib/arm/mod.rs010064400007650000024000000014201353453276600157060ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; pub type c_long = i32; pub type c_ulong = u32; s! { pub struct sockaddr { pub sa_family: ::sa_family_t, pub sa_data: [::c_char; 14], } 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_in { pub sin_family: ::sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [u8; 8], } pub struct sockaddr_storage { pub ss_family: ::sa_family_t, pub __ss_padding: [u8; 26], } } pub const POLLOUT: ::c_short = 0x10; pub const POLLHUP: ::c_short = 0x4; libc-0.2.66/src/unix/newlib/mod.rs010064400007650000024000000552161353775267200151460ustar0000000000000000pub type blkcnt_t = i32; pub type blksize_t = i32; pub type clock_t = i32; pub type clockid_t = ::c_ulong; pub type dev_t = u32; pub type fsblkcnt_t = u64; pub type fsfilcnt_t = u32; pub type id_t = u32; pub type ino_t = u32; pub type key_t = ::c_int; pub type loff_t = ::c_longlong; pub type mode_t = ::c_uint; pub type nfds_t = u32; pub type nlink_t = ::c_ushort; pub type off_t = i64; pub type pthread_t = ::c_ulong; pub type pthread_key_t = ::c_uint; pub type rlim_t = u32; 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; s! { pub struct addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: socklen_t, pub ai_canonname: *mut ::c_char, pub ai_addr: *mut sockaddr, pub ai_next: *mut addrinfo, } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct linger { pub l_onoff: ::c_int, pub l_linger: ::c_int, } pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct hostent { pub h_name: *mut ::c_char, pub h_aliases: *mut *mut ::c_char, pub h_addrtype: ::c_int, pub h_length: ::c_int, pub h_addr_list: *mut *mut ::c_char, pub h_addr: *mut ::c_char, } pub struct pollfd { pub fd: ::c_int, pub events: ::c_int, pub revents: ::c_int, } 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_n_cs_precedes: ::c_char, pub int_n_sep_by_space: ::c_char, pub int_n_sign_posn: ::c_char, pub int_p_cs_precedes: ::c_char, pub int_p_sep_by_space: ::c_char, pub int_p_sign_posn: ::c_char, } 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 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_size: off_t, pub st_atime: time_t, pub st_spare1: ::c_long, pub st_mtime: time_t, pub st_spare2: ::c_long, pub st_ctime: time_t, pub st_spare3: ::c_long, pub st_blksize: blksize_t, pub st_blocks: blkcnt_t, pub st_spare4: [::c_long; 2usize], } 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 struct sigset_t { __val: [::c_ulong; 16], } pub struct sigaction { pub sa_handler: extern fn(arg1: ::c_int), pub sa_mask: sigset_t, pub sa_flags: ::c_int, } pub struct dirent { pub d_ino: ino_t, pub d_type: ::c_uchar, pub d_name: [::c_char; 256usize], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: usize, } pub struct fd_set { // Unverified fds_bits: [::c_ulong; FD_SETSIZE / ULONG_SIZE], } pub struct passwd { // Unverified pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, } pub struct termios { // Unverified 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; ::NCCS], } pub struct sem_t { // Unverified __size: [::c_char; 16], } pub struct Dl_info { // Unverified pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } pub struct utsname { // Unverified pub sysname: [::c_char; 65], pub nodename: [::c_char; 65], pub release: [::c_char; 65], pub version: [::c_char; 65], pub machine: [::c_char; 65], pub domainname: [::c_char; 65] } pub struct cpu_set_t { // Unverified bits: [u32; 32], } pub struct pthread_attr_t { // Unverified __size: [u64; 7] } pub struct pthread_rwlockattr_t { // Unverified __lockkind: ::c_int, __pshared: ::c_int, } } // unverified constants align_const! { pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { size: [0; __SIZEOF_PTHREAD_MUTEX_T], }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { size: [0; __SIZEOF_PTHREAD_COND_T], }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { size: [0; __SIZEOF_PTHREAD_RWLOCK_T], }; } pub const NCCS: usize = 32; 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; pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: usize = 1; 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 FD_SETSIZE: usize = 1024; // intentionally not public, only used for fd_set const ULONG_SIZE: usize = 32; // Other constants 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 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 ENOMSG: ::c_int = 35; pub const EIDRM: ::c_int = 36; pub const EDEADLK: ::c_int = 45; pub const ENOLCK: ::c_int = 46; 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 ENOLINK: ::c_int = 67; pub const EPROTO: ::c_int = 71; pub const EMULTIHOP: ::c_int = 74; pub const EBADMSG: ::c_int = 77; pub const EFTYPE: ::c_int = 79; pub const ENOSYS: ::c_int = 88; pub const ENOTEMPTY: ::c_int = 90; pub const ENAMETOOLONG: ::c_int = 91; pub const ELOOP: ::c_int = 92; pub const EOPNOTSUPP: ::c_int = 95; pub const EPFNOSUPPORT: ::c_int = 96; pub const ECONNRESET: ::c_int = 104; pub const ENOBUFS: ::c_int = 105; pub const EAFNOSUPPORT: ::c_int = 106; pub const EPROTOTYPE: ::c_int = 107; pub const ENOTSOCK: ::c_int = 108; pub const ENOPROTOOPT: ::c_int = 109; pub const ECONNREFUSED: ::c_int = 111; pub const EADDRINUSE: ::c_int = 112; pub const ECONNABORTED: ::c_int = 113; pub const ENETUNREACH: ::c_int = 114; pub const ENETDOWN: ::c_int = 115; pub const ETIMEDOUT: ::c_int = 116; pub const EHOSTDOWN: ::c_int = 117; pub const EHOSTUNREACH: ::c_int = 118; pub const EINPROGRESS: ::c_int = 119; pub const EALREADY: ::c_int = 120; pub const EDESTADDRREQ: ::c_int = 121; pub const EMSGSIZE: ::c_int = 122; pub const EPROTONOSUPPORT: ::c_int = 123; pub const EADDRNOTAVAIL: ::c_int = 125; pub const ENETRESET: ::c_int = 126; pub const EISCONN: ::c_int = 127; pub const ENOTCONN: ::c_int = 128; pub const ETOOMANYREFS: ::c_int = 129; pub const EDQUOT: ::c_int = 132; pub const ESTALE: ::c_int = 133; pub const ENOTSUP: ::c_int = 134; pub const EILSEQ: ::c_int = 138; pub const EOVERFLOW: ::c_int = 139; pub const ECANCELED: ::c_int = 140; pub const ENOTRECOVERABLE: ::c_int = 141; pub const EOWNERDEAD: ::c_int = 142; pub const EWOULDBLOCK: ::c_int = 11; pub const F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; pub const F_GETOWN: ::c_int = 5; pub const F_SETOWN: ::c_int = 6; pub const F_GETLK: ::c_int = 7; pub const F_SETLK: ::c_int = 8; pub const F_SETLKW: ::c_int = 9; pub const F_RGETLK: ::c_int = 10; pub const F_RSETLK: ::c_int = 11; pub const F_CNVT: ::c_int = 12; pub const F_RSETLKW: ::c_int = 13; pub const F_DUPFD_CLOEXEC: ::c_int = 14; 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 = 512; pub const O_TRUNC: ::c_int = 1024; pub const O_EXCL: ::c_int = 2048; pub const O_SYNC: ::c_int = 8192; pub const O_NONBLOCK: ::c_int = 16384; pub const O_ACCMODE: ::c_int = 3; pub const O_CLOEXEC: ::c_int = 0x80000; pub const POLLIN: ::c_short = 0x1; pub const POLLPRI: ::c_short = 0x2; pub const POLLERR: ::c_short = 0x8; pub const POLLNVAL: ::c_short = 0x20; pub const RTLD_LAZY: ::c_int = 0x1; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::c_int = 2; pub const SEEK_SET: ::c_int = 0; pub const SEEK_CUR: ::c_int = 1; pub const SEEK_END: ::c_int = 2; pub const FIONBIO: ::c_ulong = 1; pub const FIOCLEX: ::c_ulong = 0x20006601; pub const FIONCLEX: ::c_ulong = 0x20006602; pub const S_BLKSIZE: ::mode_t = 1024; pub const S_IREAD: ::mode_t = 256; pub const S_IWRITE: ::mode_t = 128; pub const S_IEXEC: ::mode_t = 64; pub const S_ENFMT: ::mode_t = 1024; pub const S_IFMT: ::mode_t = 61440; pub const S_IFDIR: ::mode_t = 16384; pub const S_IFCHR: ::mode_t = 8192; pub const S_IFBLK: ::mode_t = 24576; pub const S_IFREG: ::mode_t = 32768; pub const S_IFLNK: ::mode_t = 40960; pub const S_IFSOCK: ::mode_t = 49152; pub const S_IFIFO: ::mode_t = 4096; pub const S_IRUSR: ::mode_t = 256; pub const S_IWUSR: ::mode_t = 128; pub const S_IXUSR: ::mode_t = 64; pub const S_IRGRP: ::mode_t = 32; pub const S_IWGRP: ::mode_t = 16; pub const S_IXGRP: ::mode_t = 8; pub const S_IROTH: ::mode_t = 4; pub const S_IWOTH: ::mode_t = 2; pub const S_IXOTH: ::mode_t = 1; pub const SOL_SOCKET: ::c_int = 65535; pub const SOL_TCP: ::c_int = 6; pub const PF_UNSPEC: ::c_int = 0; pub const PF_INET: ::c_int = 2; pub const PF_INET6: ::c_int = 23; pub const AF_UNSPEC: ::c_int = 0; pub const AF_INET: ::c_int = 2; pub const AF_INET6: ::c_int = 23; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; 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 SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const SO_BINTIME: ::c_int = 0x2000; pub const SO_NO_OFFLOAD: ::c_int = 0x4000; pub const SO_NO_DDP: ::c_int = 0x8000; pub const SO_REUSEPORT_LB: ::c_int = 0x10000; pub const SO_LABEL: ::c_int = 0x1009; pub const SO_PEERLABEL: ::c_int = 0x1010; pub const SO_LISTENQLIMIT: ::c_int = 0x1011; pub const SO_LISTENQLEN: ::c_int = 0x1012; pub const SO_LISTENINCQLEN: ::c_int = 0x1013; 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_VENDOR: ::c_int = 0x80000000; pub const SO_DEBUG: ::c_int = 0x01; pub const SO_ACCEPTCONN: ::c_int = 0x0002; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_USELOOPBACK: ::c_int = 0x0040; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_TIMESTAMP: ::c_int = 0x0400; pub const SO_NOSIGPIPE: ::c_int = 0x0800; pub const SO_ACCEPTFILTER: ::c_int = 0x1000; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; 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; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_TYPE: ::c_int = 0x1008; pub const SOCK_CLOEXEC: ::c_int = O_CLOEXEC; pub const INET_ADDRSTRLEN: ::c_int = 16; // https://github. // com/bminor/newlib/blob/master/newlib/libc/sys/linux/include/net/if.h#L121 pub const IFF_UP: ::c_int = 0x1; // interface is up pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging pub const IFF_LOOPBACK: ::c_int = 0x8; // is a loopback net pub const IFF_POINTOPOINT: ::c_int = 0x10; // interface is point-to-point link pub const IFF_NOTRAILERS: ::c_int = 0x20; // avoid use of trailers pub const IFF_RUNNING: ::c_int = 0x40; // resources allocated pub const IFF_NOARP: ::c_int = 0x80; // no address resolution protocol pub const IFF_PROMISC: ::c_int = 0x100; // receive all packets pub const IFF_ALLMULTI: ::c_int = 0x200; // receive all multicast packets pub const IFF_OACTIVE: ::c_int = 0x400; // transmission in progress pub const IFF_SIMPLEX: ::c_int = 0x800; // 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; // supports multicast pub const TCP_NODELAY: ::c_int = 8193; pub const TCP_MAXSEG: ::c_int = 8194; pub const TCP_NOPUSH: ::c_int = 4; pub const TCP_NOOPT: ::c_int = 8; pub const TCP_KEEPIDLE: ::c_int = 256; pub const TCP_KEEPINTVL: ::c_int = 512; pub const TCP_KEEPCNT: ::c_int = 1024; 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; pub const IP_MULTICAST_LOOP: ::c_int = 11; pub const IP_ADD_MEMBERSHIP: ::c_int = 11; pub const IP_DROP_MEMBERSHIP: ::c_int = 12; pub const IPV6_UNICAST_HOPS: ::c_int = 4; pub const IPV6_MULTICAST_IF: ::c_int = 9; pub const IPV6_MULTICAST_HOPS: ::c_int = 10; pub const IPV6_MULTICAST_LOOP: ::c_int = 11; pub const IPV6_V6ONLY: ::c_int = 27; pub const IPV6_JOIN_GROUP: ::c_int = 12; pub const IPV6_LEAVE_GROUP: ::c_int = 13; pub const IPV6_ADD_MEMBERSHIP: ::c_int = 12; pub const IPV6_DROP_MEMBERSHIP: ::c_int = 13; pub const HOST_NOT_FOUND: ::c_int = 1; pub const NO_DATA: ::c_int = 2; pub const NO_ADDRESS: ::c_int = 2; pub const NO_RECOVERY: ::c_int = 3; pub const TRY_AGAIN: ::c_int = 4; pub const AI_PASSIVE: ::c_int = 1; pub const AI_CANONNAME: ::c_int = 2; pub const AI_NUMERICHOST: ::c_int = 4; pub const AI_NUMERICSERV: ::c_int = 0; pub const AI_ADDRCONFIG: ::c_int = 0; pub const NI_MAXHOST: ::c_int = 1025; pub const NI_MAXSERV: ::c_int = 32; pub const NI_NOFQDN: ::c_int = 1; pub const NI_NUMERICHOST: ::c_int = 2; pub const NI_NAMEREQD: ::c_int = 4; pub const NI_NUMERICSERV: ::c_int = 0; pub const NI_DGRAM: ::c_int = 0; pub const EAI_FAMILY: ::c_int = -303; pub const EAI_MEMORY: ::c_int = -304; pub const EAI_NONAME: ::c_int = -305; pub const EAI_SOCKTYPE: ::c_int = -307; f! { pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () { let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; let fd = fd as usize; (*set).fds_bits[fd / bits] &= !(1 << (fd % bits)); return } 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 } pub fn FD_SET(fd: ::c_int, set: *mut fd_set) -> () { let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; let fd = fd as usize; (*set).fds_bits[fd / bits] |= 1 << (fd % bits); return } pub fn FD_ZERO(set: *mut fd_set) -> () { for slot in (*set).fds_bits.iter_mut() { *slot = 0; } } } extern "C" { pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; #[cfg_attr(target_os = "linux", link_name = "__xpg_strerror_r")] pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::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 abs(i: ::c_int) -> ::c_int; pub fn atof(s: *const ::c_char) -> ::c_double; pub fn labs(i: ::c_long) -> ::c_long; pub fn rand() -> ::c_int; pub fn srand(seed: ::c_uint); pub fn bind(fd: ::c_int, addr: *const sockaddr, len: socklen_t) -> ::c_int; pub fn closesocket(sockfd: ::c_int) -> ::c_int; pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int; pub fn recvfrom( fd: ::c_int, buf: *mut ::c_void, n: usize, flags: ::c_int, addr: *mut sockaddr, addr_len: *mut socklen_t, ) -> isize; pub fn getnameinfo( sa: *const sockaddr, salen: socklen_t, host: *mut ::c_char, hostlen: socklen_t, serv: *mut ::c_char, servlen: socklen_t, flags: ::c_int, ) -> ::c_int; pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; pub fn fexecve( fd: ::c_int, argv: *const *const ::c_char, envp: *const *const ::c_char, ) -> ::c_int; pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")] pub fn getgrgid_r( gid: ::gid_t, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigaltstack$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")] 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; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")] pub fn getgrnam_r( name: *const ::c_char, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_sigmask$UNIX2003" )] 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 sem_unlink(name: *const ::c_char) -> ::c_int; pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")] pub fn getpwnam_r( name: *const ::c_char, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")] pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigwait$UNIX2003" )] #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")] pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int; pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; pub fn getgrgid(gid: ::gid_t) -> *mut ::group; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "popen$UNIX2003" )] pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE; pub fn uname(buf: *mut ::utsname) -> ::c_int; } cfg_if! { if #[cfg(target_arch = "arm")] { mod arm; pub use self::arm::*; } else if #[cfg(target_arch = "aarch64")] { mod aarch64; pub use self::aarch64::*; } else { // Only tested on ARM so far. Other platforms might have different // definitions for types and constants. pub use target_arch_not_implemented; } } cfg_if! { if #[cfg(libc_align)] { #[macro_use] mod align; } else { #[macro_use] mod no_align; } } expand_align!(); libc-0.2.66/src/unix/newlib/no_align.rs010064400007650000024000000040411353453276600161400ustar0000000000000000macro_rules! expand_align { () => { s! { pub struct pthread_mutex_t { // Unverified #[cfg(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))] __align: [::c_long; 0], #[cfg(not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } pub struct pthread_rwlock_t { // Unverified #[cfg(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))] __align: [::c_long; 0], #[cfg(not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } pub struct pthread_mutexattr_t { // Unverified #[cfg(any(target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64"))] __align: [::c_int; 0], #[cfg(not(any(target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64")))] __align: [::c_long; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } pub struct pthread_cond_t { // Unverified __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_COND_T], } pub struct pthread_condattr_t { // Unverified __align: [::c_int; 0], size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } } } libc-0.2.66/src/unix/no_align.rs010064400007650000024000000001411354141541700146440ustar0000000000000000s! { pub struct in6_addr { pub s6_addr: [u8; 16], __align: [u32; 0], } } libc-0.2.66/src/unix/redox/mod.rs010064400007650000024000001116211353775267200150000ustar0000000000000000pub type c_char = i8; pub type c_long = i64; pub type c_ulong = u64; pub type wchar_t = i32; pub type blkcnt_t = ::c_ulong; pub type blksize_t = ::c_long; pub type clock_t = ::c_long; pub type clockid_t = ::c_int; pub type dev_t = ::c_long; pub type fsblkcnt_t = ::c_ulong; pub type fsfilcnt_t = ::c_ulong; pub type ino_t = ::c_ulong; pub type mode_t = ::c_int; pub type nfds_t = ::c_ulong; pub type nlink_t = ::c_ulong; pub type off_t = ::c_long; pub type pthread_t = *mut ::c_void; pub type pthread_attr_t = *mut ::c_void; pub type pthread_cond_t = *mut ::c_void; pub type pthread_condattr_t = *mut ::c_void; // Must be usize due to libstd/sys_common/thread_local.rs, // should technically be *mut ::c_void pub type pthread_key_t = usize; pub type pthread_mutex_t = *mut ::c_void; pub type pthread_mutexattr_t = *mut ::c_void; pub type pthread_rwlock_t = *mut ::c_void; pub type pthread_rwlockattr_t = *mut ::c_void; pub type rlim_t = ::c_ulonglong; pub type sa_family_t = u16; pub type sem_t = *mut ::c_void; pub type sigset_t = ::c_ulong; pub type socklen_t = u32; pub type speed_t = u32; pub type suseconds_t = ::c_int; pub type tcflag_t = u32; pub type time_t = ::c_long; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } s_no_extra_traits! { #[repr(C)] pub struct utsname { pub sysname: [::c_char; UTSLENGTH], pub nodename: [::c_char; UTSLENGTH], pub release: [::c_char; UTSLENGTH], pub version: [::c_char; UTSLENGTH], pub machine: [::c_char; UTSLENGTH], pub domainname: [::c_char; UTSLENGTH], } pub struct dirent { pub d_ino: ::ino_t, pub d_off: ::off_t, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } pub struct sockaddr_un { pub sun_family: ::sa_family_t, pub sun_path: [::c_char; 108] } pub struct sockaddr_storage { pub ss_family: ::sa_family_t, __ss_padding: [ u8; 128 - ::core::mem::size_of::() - ::core::mem::size_of::() ], __ss_align: ::c_ulong, } } s! { pub struct addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: ::size_t, pub ai_canonname: *mut ::c_char, pub ai_addr: *mut ::sockaddr, pub ai_next: *mut ::addrinfo, } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } pub struct epoll_event { pub events: u32, pub u64: u64, pub _pad: u64, } pub struct fd_set { fds_bits: [::c_ulong; ::FD_SETSIZE / ULONG_SIZE], } pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct ip_mreq { pub imr_multiaddr: ::in_addr, pub imr_interface: ::in_addr, } pub struct lconv { pub currency_symbol: *const ::c_char, pub decimal_point: *const ::c_char, pub frac_digits: ::c_char, pub grouping: *const ::c_char, pub int_curr_symbol: *const ::c_char, pub int_frac_digits: ::c_char, pub mon_decimal_point: *const ::c_char, pub mon_grouping: *const ::c_char, pub mon_thousands_sep: *const ::c_char, pub negative_sign: *const ::c_char, pub n_cs_precedes: ::c_char, pub n_sep_by_space: ::c_char, pub n_sign_posn: ::c_char, pub positive_sign: *const ::c_char, pub p_cs_precedes: ::c_char, pub p_sep_by_space: ::c_char, pub p_sign_posn: ::c_char, pub thousands_sep: *const ::c_char, } pub struct passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, } pub struct sigaction { pub sa_handler: ::sighandler_t, pub sa_flags: ::c_ulong, pub sa_restorer: ::Option, pub sa_mask: ::sigset_t, } pub struct sockaddr { pub sa_family: ::sa_family_t, pub sa_data: [::c_char; 14], } pub struct sockaddr_in { pub sin_family: ::sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [::c_char; 8], } 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 stat { pub st_dev: ::dev_t, pub st_ino: ::ino_t, pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, pub st_rdev: ::dev_t, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_long, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_long, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_long, _pad: [::c_char; 24], } 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 struct termios { 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; ::NCCS], pub c_ispeed: ::speed_t, pub c_ospeed: ::speed_t, } 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: *const ::c_char, } } pub const UTSLENGTH: usize = 65; // intentionally not public, only used for fd_set cfg_if! { if #[cfg(target_pointer_width = "32")] { const ULONG_SIZE: usize = 32; } else if #[cfg(target_pointer_width = "64")] { const ULONG_SIZE: usize = 64; } else { // Unknown target_pointer_width } } // limits.h pub const PATH_MAX: ::c_int = 4096; // fcntl.h pub const F_GETLK: ::c_int = 5; pub const F_SETLK: ::c_int = 6; pub const F_SETLKW: ::c_int = 7; // TODO: relibc { pub const RTLD_DEFAULT: *mut ::c_void = 0i64 as *mut ::c_void; // } // dlfcn.h pub const RTLD_LAZY: ::c_int = 0x0001; pub const RTLD_NOW: ::c_int = 0x0002; pub const RTLD_GLOBAL: ::c_int = 0x0100; pub const RTLD_LOCAL: ::c_int = 0x0000; // errno.h pub const EPERM: ::c_int = 1; /* Operation not permitted */ pub const ENOENT: ::c_int = 2; /* No such file or directory */ pub const ESRCH: ::c_int = 3; /* No such process */ pub const EINTR: ::c_int = 4; /* Interrupted system call */ pub const EIO: ::c_int = 5; /* I/O error */ pub const ENXIO: ::c_int = 6; /* No such device or address */ pub const E2BIG: ::c_int = 7; /* Argument list too long */ pub const ENOEXEC: ::c_int = 8; /* Exec format error */ pub const EBADF: ::c_int = 9; /* Bad file number */ pub const ECHILD: ::c_int = 10; /* No child processes */ pub const EAGAIN: ::c_int = 11; /* Try again */ pub const ENOMEM: ::c_int = 12; /* Out of memory */ pub const EACCES: ::c_int = 13; /* Permission denied */ pub const EFAULT: ::c_int = 14; /* Bad address */ pub const ENOTBLK: ::c_int = 15; /* Block device required */ pub const EBUSY: ::c_int = 16; /* Device or resource busy */ pub const EEXIST: ::c_int = 17; /* File exists */ pub const EXDEV: ::c_int = 18; /* Cross-device link */ pub const ENODEV: ::c_int = 19; /* No such device */ pub const ENOTDIR: ::c_int = 20; /* Not a directory */ pub const EISDIR: ::c_int = 21; /* Is a directory */ pub const EINVAL: ::c_int = 22; /* Invalid argument */ pub const ENFILE: ::c_int = 23; /* File table overflow */ pub const EMFILE: ::c_int = 24; /* Too many open files */ pub const ENOTTY: ::c_int = 25; /* Not a typewriter */ pub const ETXTBSY: ::c_int = 26; /* Text file busy */ pub const EFBIG: ::c_int = 27; /* File too large */ pub const ENOSPC: ::c_int = 28; /* No space left on device */ pub const ESPIPE: ::c_int = 29; /* Illegal seek */ pub const EROFS: ::c_int = 30; /* Read-only file system */ pub const EMLINK: ::c_int = 31; /* Too many links */ pub const EPIPE: ::c_int = 32; /* Broken pipe */ pub const EDOM: ::c_int = 33; /* Math argument out of domain of func */ pub const ERANGE: ::c_int = 34; /* Math result not representable */ pub const EDEADLK: ::c_int = 35; /* Resource deadlock would occur */ pub const ENAMETOOLONG: ::c_int = 36; /* File name too long */ pub const ENOLCK: ::c_int = 37; /* No record locks available */ pub const ENOSYS: ::c_int = 38; /* Function not implemented */ pub const ENOTEMPTY: ::c_int = 39; /* Directory not empty */ pub const ELOOP: ::c_int = 40; /* Too many symbolic links encountered */ pub const EWOULDBLOCK: ::c_int = 41; /* Operation would block */ pub const ENOMSG: ::c_int = 42; /* No message of desired type */ pub const EIDRM: ::c_int = 43; /* Identifier removed */ pub const ECHRNG: ::c_int = 44; /* Channel number out of range */ pub const EL2NSYNC: ::c_int = 45; /* Level 2 not synchronized */ pub const EL3HLT: ::c_int = 46; /* Level 3 halted */ pub const EL3RST: ::c_int = 47; /* Level 3 reset */ pub const ELNRNG: ::c_int = 48; /* Link number out of range */ pub const EUNATCH: ::c_int = 49; /* Protocol driver not attached */ pub const ENOCSI: ::c_int = 50; /* No CSI structure available */ pub const EL2HLT: ::c_int = 51; /* Level 2 halted */ pub const EBADE: ::c_int = 52; /* Invalid exchange */ pub const EBADR: ::c_int = 53; /* Invalid request descriptor */ pub const EXFULL: ::c_int = 54; /* Exchange full */ pub const ENOANO: ::c_int = 55; /* No anode */ pub const EBADRQC: ::c_int = 56; /* Invalid request code */ pub const EBADSLT: ::c_int = 57; /* Invalid slot */ pub const EDEADLOCK: ::c_int = 58; /* Resource deadlock would occur */ pub const EBFONT: ::c_int = 59; /* Bad font file format */ pub const ENOSTR: ::c_int = 60; /* Device not a stream */ pub const ENODATA: ::c_int = 61; /* No data available */ pub const ETIME: ::c_int = 62; /* Timer expired */ pub const ENOSR: ::c_int = 63; /* Out of streams resources */ pub const ENONET: ::c_int = 64; /* Machine is not on the network */ pub const ENOPKG: ::c_int = 65; /* Package not installed */ pub const EREMOTE: ::c_int = 66; /* Object is remote */ pub const ENOLINK: ::c_int = 67; /* Link has been severed */ pub const EADV: ::c_int = 68; /* Advertise error */ pub const ESRMNT: ::c_int = 69; /* Srmount error */ pub const ECOMM: ::c_int = 70; /* Communication error on send */ pub const EPROTO: ::c_int = 71; /* Protocol error */ pub const EMULTIHOP: ::c_int = 72; /* Multihop attempted */ pub const EDOTDOT: ::c_int = 73; /* RFS specific error */ pub const EBADMSG: ::c_int = 74; /* Not a data message */ pub const EOVERFLOW: ::c_int = 75; /* Value too large for defined data type */ pub const ENOTUNIQ: ::c_int = 76; /* Name not unique on network */ pub const EBADFD: ::c_int = 77; /* File descriptor in bad state */ pub const EREMCHG: ::c_int = 78; /* Remote address changed */ pub const ELIBACC: ::c_int = 79; /* Can not access a needed shared library */ pub const ELIBBAD: ::c_int = 80; /* Accessing a corrupted shared library */ pub const ELIBSCN: ::c_int = 81; /* .lib section in a.out corrupted */ /* Attempting to link in too many shared libraries */ pub const ELIBMAX: ::c_int = 82; pub const ELIBEXEC: ::c_int = 83; /* Cannot exec a shared library directly */ pub const EILSEQ: ::c_int = 84; /* Illegal byte sequence */ /* Interrupted system call should be restarted */ pub const ERESTART: ::c_int = 85; pub const ESTRPIPE: ::c_int = 86; /* Streams pipe error */ pub const EUSERS: ::c_int = 87; /* Too many users */ pub const ENOTSOCK: ::c_int = 88; /* Socket operation on non-socket */ pub const EDESTADDRREQ: ::c_int = 89; /* Destination address required */ pub const EMSGSIZE: ::c_int = 90; /* Message too long */ pub const EPROTOTYPE: ::c_int = 91; /* Protocol wrong type for socket */ pub const ENOPROTOOPT: ::c_int = 92; /* Protocol not available */ pub const EPROTONOSUPPORT: ::c_int = 93; /* Protocol not supported */ pub const ESOCKTNOSUPPORT: ::c_int = 94; /* Socket type not supported */ /* Operation not supported on transport endpoint */ pub const EOPNOTSUPP: ::c_int = 95; pub const EPFNOSUPPORT: ::c_int = 96; /* Protocol family not supported */ /* Address family not supported by protocol */ pub const EAFNOSUPPORT: ::c_int = 97; 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 */ /* Network dropped connection because of reset */ pub const ENETRESET: ::c_int = 102; pub const ECONNABORTED: ::c_int = 103; /* Software caused connection abort */ pub const ECONNRESET: ::c_int = 104; /* Connection reset by peer */ pub const ENOBUFS: ::c_int = 105; /* No buffer space available */ pub const EISCONN: ::c_int = 106; /* Transport endpoint is already connected */ pub const ENOTCONN: ::c_int = 107; /* Transport endpoint is not connected */ /* Cannot send after transport endpoint shutdown */ pub const ESHUTDOWN: ::c_int = 108; pub const ETOOMANYREFS: ::c_int = 109; /* Too many references: cannot splice */ pub const ETIMEDOUT: ::c_int = 110; /* Connection timed out */ pub const ECONNREFUSED: ::c_int = 111; /* Connection refused */ pub const EHOSTDOWN: ::c_int = 112; /* Host is down */ pub const EHOSTUNREACH: ::c_int = 113; /* No route to host */ pub const EALREADY: ::c_int = 114; /* Operation already in progress */ pub const EINPROGRESS: ::c_int = 115; /* Operation now in progress */ pub const ESTALE: ::c_int = 116; /* Stale NFS file handle */ pub const EUCLEAN: ::c_int = 117; /* Structure needs cleaning */ pub const ENOTNAM: ::c_int = 118; /* Not a XENIX named type file */ pub const ENAVAIL: ::c_int = 119; /* No XENIX semaphores available */ pub const EISNAM: ::c_int = 120; /* Is a named type file */ pub const EREMOTEIO: ::c_int = 121; /* Remote I/O error */ pub const EDQUOT: ::c_int = 122; /* Quota exceeded */ pub const ENOMEDIUM: ::c_int = 123; /* No medium found */ pub const EMEDIUMTYPE: ::c_int = 124; /* Wrong medium type */ pub const ECANCELED: ::c_int = 125; /* Operation Canceled */ pub const ENOKEY: ::c_int = 126; /* Required key not available */ pub const EKEYEXPIRED: ::c_int = 127; /* Key has expired */ pub const EKEYREVOKED: ::c_int = 128; /* Key has been revoked */ pub const EKEYREJECTED: ::c_int = 129; /* Key was rejected by service */ pub const EOWNERDEAD: ::c_int = 130; /* Owner died */ pub const ENOTRECOVERABLE: ::c_int = 131; /* State not recoverable */ // fcntl.h pub const F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; // TODO: relibc { pub const F_DUPFD_CLOEXEC: ::c_int = ::F_DUPFD; // } pub const FD_CLOEXEC: ::c_int = 0x0100_0000; pub const O_RDONLY: ::c_int = 0x0001_0000; pub const O_WRONLY: ::c_int = 0x0002_0000; pub const O_RDWR: ::c_int = 0x0003_0000; pub const O_ACCMODE: ::c_int = 0x0003_0000; pub const O_NONBLOCK: ::c_int = 0x0004_0000; pub const O_APPEND: ::c_int = 0x0008_0000; pub const O_SHLOCK: ::c_int = 0x0010_0000; pub const O_EXLOCK: ::c_int = 0x0020_0000; pub const O_ASYNC: ::c_int = 0x0040_0000; pub const O_FSYNC: ::c_int = 0x0080_0000; pub const O_CLOEXEC: ::c_int = 0x0100_0000; pub const O_CREAT: ::c_int = 0x0200_0000; pub const O_TRUNC: ::c_int = 0x0400_0000; pub const O_EXCL: ::c_int = 0x0800_0000; pub const O_DIRECTORY: ::c_int = 0x1000_0000; pub const O_PATH: ::c_int = 0x2000_0000; pub const O_SYMLINK: ::c_int = 0x4000_0000; // Negative to allow it to be used as int // TODO: Fix negative values missing from includes pub const O_NOFOLLOW: ::c_int = -0x8000_0000; // netdb.h pub const EAI_SYSTEM: ::c_int = -11; // netinet/in.h // TODO: relibc { pub const IP_TTL: ::c_int = 2; pub const IPV6_UNICAST_HOPS: ::c_int = 16; pub const IPV6_MULTICAST_IF: ::c_int = 17; pub const IPV6_MULTICAST_HOPS: ::c_int = 18; pub const IPV6_MULTICAST_LOOP: ::c_int = 19; pub const IPV6_ADD_MEMBERSHIP: ::c_int = 20; pub const IPV6_DROP_MEMBERSHIP: ::c_int = 21; pub const IPV6_V6ONLY: ::c_int = 26; pub const IP_MULTICAST_IF: ::c_int = 32; pub const IP_MULTICAST_TTL: ::c_int = 33; pub const IP_MULTICAST_LOOP: ::c_int = 34; pub const IP_ADD_MEMBERSHIP: ::c_int = 35; pub const IP_DROP_MEMBERSHIP: ::c_int = 36; // } // netinet/tcp.h pub const TCP_NODELAY: ::c_int = 1; // TODO: relibc { pub const TCP_KEEPIDLE: ::c_int = 1; // } // poll.h pub const POLLIN: ::c_short = 0x001; pub const POLLPRI: ::c_short = 0x002; pub const POLLOUT: ::c_short = 0x004; pub const POLLERR: ::c_short = 0x008; pub const POLLHUP: ::c_short = 0x010; pub const POLLNVAL: ::c_short = 0x020; // pthread.h pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0; pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 1; pub const PTHREAD_MUTEX_INITIALIZER: ::pthread_mutex_t = -1isize as *mut _; pub const PTHREAD_COND_INITIALIZER: ::pthread_cond_t = -1isize as *mut _; pub const PTHREAD_RWLOCK_INITIALIZER: ::pthread_rwlock_t = -1isize as *mut _; pub const PTHREAD_STACK_MIN: ::size_t = 4096; // signal.h pub const SIG_BLOCK: ::c_int = 0; pub const SIG_UNBLOCK: ::c_int = 1; pub const SIG_SETMASK: ::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 SIGBUS: ::c_int = 7; pub const SIGFPE: ::c_int = 8; pub const SIGKILL: ::c_int = 9; pub const SIGUSR1: ::c_int = 10; pub const SIGSEGV: ::c_int = 11; pub const SIGUSR2: ::c_int = 12; pub const SIGPIPE: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const SIGSTKFLT: ::c_int = 16; pub const SIGCHLD: ::c_int = 17; pub const SIGCONT: ::c_int = 18; pub const SIGSTOP: ::c_int = 19; pub const SIGTSTP: ::c_int = 20; pub const SIGTTIN: ::c_int = 21; pub const SIGTTOU: ::c_int = 22; pub const SIGURG: ::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 SIGIO: ::c_int = 29; pub const SIGPWR: ::c_int = 30; pub const SIGSYS: ::c_int = 31; pub const NSIG: ::c_int = 32; pub const SA_NOCLDSTOP: ::c_ulong = 0x00000001; pub const SA_NOCLDWAIT: ::c_ulong = 0x00000002; pub const SA_SIGINFO: ::c_ulong = 0x00000004; pub const SA_RESTORER: ::c_ulong = 0x04000000; pub const SA_ONSTACK: ::c_ulong = 0x08000000; pub const SA_RESTART: ::c_ulong = 0x10000000; pub const SA_NODEFER: ::c_ulong = 0x40000000; pub const SA_RESETHAND: ::c_ulong = 0x80000000; // sys/epoll.h pub const EPOLL_CLOEXEC: ::c_int = 0x0100_0000; pub const EPOLL_CTL_ADD: ::c_int = 1; pub const EPOLL_CTL_DEL: ::c_int = 2; pub const EPOLL_CTL_MOD: ::c_int = 3; pub const EPOLLIN: ::c_int = 1; pub const EPOLLPRI: ::c_int = 0; pub const EPOLLOUT: ::c_int = 2; pub const EPOLLRDNORM: ::c_int = 0; pub const EPOLLNVAL: ::c_int = 0; pub const EPOLLRDBAND: ::c_int = 0; pub const EPOLLWRNORM: ::c_int = 0; pub const EPOLLWRBAND: ::c_int = 0; pub const EPOLLMSG: ::c_int = 0; pub const EPOLLERR: ::c_int = 0; pub const EPOLLHUP: ::c_int = 0; pub const EPOLLRDHUP: ::c_int = 0; pub const EPOLLEXCLUSIVE: ::c_int = 0; pub const EPOLLWAKEUP: ::c_int = 0; pub const EPOLLONESHOT: ::c_int = 0; pub const EPOLLET: ::c_int = 0; // sys/stat.h pub const S_IFMT: ::c_int = 0o0_170_000; pub const S_IFDIR: ::c_int = 0o040_000; pub const S_IFCHR: ::c_int = 0o020_000; pub const S_IFBLK: ::c_int = 0o060_000; pub const S_IFREG: ::c_int = 0o100_000; pub const S_IFIFO: ::c_int = 0o010_000; pub const S_IFLNK: ::c_int = 0o120_000; pub const S_IFSOCK: ::c_int = 0o140_000; pub const S_IRWXU: ::c_int = 0o0_700; pub const S_IRUSR: ::c_int = 0o0_400; pub const S_IWUSR: ::c_int = 0o0_200; pub const S_IXUSR: ::c_int = 0o0_100; pub const S_IRWXG: ::c_int = 0o0_070; pub const S_IRGRP: ::c_int = 0o0_040; pub const S_IWGRP: ::c_int = 0o0_020; pub const S_IXGRP: ::c_int = 0o0_010; pub const S_IRWXO: ::c_int = 0o0_007; pub const S_IROTH: ::c_int = 0o0_004; pub const S_IWOTH: ::c_int = 0o0_002; pub const S_IXOTH: ::c_int = 0o0_001; // stdlib.h pub const EXIT_SUCCESS: ::c_int = 0; pub const EXIT_FAILURE: ::c_int = 1; // sys/ioctl.h // TODO: relibc { pub const FIONBIO: ::c_ulong = 0x5421; pub const FIOCLEX: ::c_ulong = 0x5451; // } pub const TCGETS: ::c_ulong = 0x5401; pub const TCSETS: ::c_ulong = 0x5402; pub const TCFLSH: ::c_ulong = 0x540B; pub const TIOCGPGRP: ::c_ulong = 0x540F; pub const TIOCSPGRP: ::c_ulong = 0x5410; pub const TIOCGWINSZ: ::c_ulong = 0x5413; pub const TIOCSWINSZ: ::c_ulong = 0x5414; // sys/select.h pub const FD_SETSIZE: usize = 1024; // sys/socket.h pub const AF_UNIX: ::c_int = 1; pub const AF_INET: ::c_int = 2; pub const AF_INET6: ::c_int = 10; pub const MSG_PEEK: ::c_int = 2; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_ERROR: ::c_int = 4; pub const SO_BROADCAST: ::c_int = 6; pub const SO_SNDBUF: ::c_int = 7; pub const SO_RCVBUF: ::c_int = 8; pub const SO_KEEPALIVE: ::c_int = 9; pub const SO_LINGER: ::c_int = 13; pub const SO_REUSEPORT: ::c_int = 15; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_SNDTIMEO: ::c_int = 21; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOL_SOCKET: ::c_int = 1; // sys/termios.h 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 VSTART: usize = 8; pub const VSTOP: usize = 9; pub const VSUSP: usize = 10; 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; pub const IGNPAR: ::tcflag_t = 0o000_004; pub const PARMRK: ::tcflag_t = 0o000_010; pub const INPCK: ::tcflag_t = 0o000_020; 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 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 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 = 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; pub const B75: speed_t = 0o000_002; pub const B110: speed_t = 0o000_003; pub const B134: speed_t = 0o000_004; pub const B150: speed_t = 0o000_005; pub const B200: speed_t = 0o000_006; pub const B300: speed_t = 0o000_007; pub const B600: speed_t = 0o000_010; pub const B1200: speed_t = 0o000_011; pub const B1800: speed_t = 0o000_012; pub const B2400: speed_t = 0o000_013; pub const B4800: speed_t = 0o000_014; 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 = 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_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; pub const TCIOFF: ::c_int = 2; pub const TCION: ::c_int = 3; pub const TCIFLUSH: ::c_int = 0; pub const TCOFLUSH: ::c_int = 1; pub const TCIOFLUSH: ::c_int = 2; pub const TCSANOW: ::c_int = 0; pub const TCSADRAIN: ::c_int = 1; pub const TCSAFLUSH: ::c_int = 2; // sys/wait.h pub const WNOHANG: ::c_int = 1; pub const WUNTRACED: ::c_int = 2; pub const WSTOPPED: ::c_int = 2; pub const WEXITED: ::c_int = 4; pub const WCONTINUED: ::c_int = 8; pub const WNOWAIT: ::c_int = 0x0100_0000; pub const __WNOTHREAD: ::c_int = 0x2000_0000; pub const __WALL: ::c_int = 0x4000_0000; #[allow(overflowing_literals)] pub const __WCLONE: ::c_int = 0x8000_0000; // time.h pub const CLOCK_REALTIME: ::c_int = 1; pub const CLOCK_MONOTONIC: ::c_int = 4; // unistd.h // POSIX.1 { pub const _SC_ARG_MAX: ::c_int = 0; pub const _SC_CHILD_MAX: ::c_int = 1; pub const _SC_CLK_TCK: ::c_int = 2; pub const _SC_NGROUPS_MAX: ::c_int = 3; pub const _SC_OPEN_MAX: ::c_int = 4; pub const _SC_STREAM_MAX: ::c_int = 5; pub const _SC_TZNAME_MAX: ::c_int = 6; // ... pub const _SC_VERSION: ::c_int = 29; pub const _SC_PAGESIZE: ::c_int = 30; pub const _SC_PAGE_SIZE: ::c_int = 30; // ... pub const _SC_RE_DUP_MAX: ::c_int = 44; // ... pub const _SC_LOGIN_NAME_MAX: ::c_int = 71; pub const _SC_TTY_NAME_MAX: ::c_int = 72; // ... pub const _SC_SYMLOOP_MAX: ::c_int = 173; // ... pub const _SC_HOST_NAME_MAX: ::c_int = 180; // } POSIX.1 pub const F_OK: ::c_int = 0; pub const R_OK: ::c_int = 4; pub const W_OK: ::c_int = 2; pub const X_OK: ::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 STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::c_int = 2; pub const _PC_LINK_MAX: ::c_int = 0; pub const _PC_MAX_CANON: ::c_int = 1; pub const _PC_MAX_INPUT: ::c_int = 2; pub const _PC_NAME_MAX: ::c_int = 3; pub const _PC_PATH_MAX: ::c_int = 4; pub const _PC_PIPE_BUF: ::c_int = 5; pub const _PC_CHOWN_RESTRICTED: ::c_int = 6; pub const _PC_NO_TRUNC: ::c_int = 7; pub const _PC_VDISABLE: ::c_int = 8; pub const _PC_SYNC_IO: ::c_int = 9; pub const _PC_ASYNC_IO: ::c_int = 10; pub const _PC_PRIO_IO: ::c_int = 11; pub const _PC_SOCK_MAXBUF: ::c_int = 12; pub const _PC_FILESIZEBITS: ::c_int = 13; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 14; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 15; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 16; pub const _PC_REC_XFER_ALIGN: ::c_int = 17; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 18; pub const _PC_SYMLINK_MAX: ::c_int = 19; pub const _PC_2_SYMLINKS: ::c_int = 20; // wait.h f! { pub fn WIFSTOPPED(status: ::c_int) -> bool { (status & 0xff) == 0x7f } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WIFCONTINUED(status: ::c_int) -> bool { status == 0xffff } pub fn WIFSIGNALED(status: ::c_int) -> bool { ((status & 0x7f) + 1) as i8 >= 2 } pub fn WTERMSIG(status: ::c_int) -> ::c_int { status & 0x7f } pub fn WIFEXITED(status: ::c_int) -> bool { (status & 0x7f) == 0 } pub fn WEXITSTATUS(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WCOREDUMP(status: ::c_int) -> bool { (status & 0x80) != 0 } } extern "C" { // errno.h pub fn __errno_location() -> *mut ::c_int; pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::c_int; // unistd.h pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int; // malloc.h pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; // pthread.h pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; pub fn pthread_create( tid: *mut ::pthread_t, attr: *const ::pthread_attr_t, start: extern "C" fn(*mut ::c_void) -> *mut ::c_void, arg: *mut ::c_void, ) -> ::c_int; pub fn pthread_condattr_setclock( attr: *mut pthread_condattr_t, clock_id: ::clockid_t, ) -> ::c_int; // pwd.h pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; // signal.h pub fn pthread_sigmask( how: ::c_int, set: *const ::sigset_t, oldset: *mut ::sigset_t, ) -> ::c_int; // sys/epoll.h pub fn epoll_create(size: ::c_int) -> ::c_int; pub fn epoll_create1(flags: ::c_int) -> ::c_int; pub fn epoll_wait( epfd: ::c_int, events: *mut ::epoll_event, maxevents: ::c_int, timeout: ::c_int, ) -> ::c_int; pub fn epoll_ctl( epfd: ::c_int, op: ::c_int, fd: ::c_int, event: *mut ::epoll_event, ) -> ::c_int; // sys/ioctl.h pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int; // sys/resource.h pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; // sys/socket.h pub fn bind( socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t, ) -> ::c_int; pub fn recvfrom( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::ssize_t; // sys/stat.h pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int; // sys/uio.h pub fn readv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn writev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; // sys/utsname.h pub fn uname(utsname: *mut utsname) -> ::c_int; // time.h pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::timezone) -> ::c_int; pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for dirent { fn eq(&self, other: &dirent) -> bool { self.d_ino == other.d_ino && self.d_off == other.d_off && self.d_reclen == other.d_reclen && self.d_type == other.d_type && self .d_name .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_ino", &self.d_ino) .field("d_off", &self.d_off) .field("d_reclen", &self.d_reclen) .field("d_type", &self.d_type) // FIXME: .field("d_name", &self.d_name) .finish() } } impl ::hash::Hash for dirent { fn hash(&self, state: &mut H) { self.d_ino.hash(state); self.d_off.hash(state); self.d_reclen.hash(state); self.d_type.hash(state); self.d_name.hash(state); } } impl PartialEq for sockaddr_un { fn eq(&self, other: &sockaddr_un) -> bool { self.sun_family == other.sun_family && self .sun_path .iter() .zip(other.sun_path.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_un {} impl ::fmt::Debug for sockaddr_un { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_un") .field("sun_family", &self.sun_family) // FIXME: .field("sun_path", &self.sun_path) .finish() } } impl ::hash::Hash for sockaddr_un { fn hash(&self, state: &mut H) { self.sun_family.hash(state); self.sun_path.hash(state); } } impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.ss_family == other.ss_family && self.__ss_align == self.__ss_align && self .__ss_padding .iter() .zip(other.__ss_padding.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_family", &self.ss_family) .field("__ss_align", &self.__ss_align) // FIXME: .field("__ss_padding", &self.__ss_padding) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.ss_family.hash(state); self.__ss_padding.hash(state); self.__ss_align.hash(state); } } impl PartialEq for utsname { fn eq(&self, other: &utsname) -> bool { self.sysname .iter() .zip(other.sysname.iter()) .all(|(a, b)| a == b) && self .nodename .iter() .zip(other.nodename.iter()) .all(|(a, b)| a == b) && self .release .iter() .zip(other.release.iter()) .all(|(a, b)| a == b) && self .version .iter() .zip(other.version.iter()) .all(|(a, b)| a == b) && self .machine .iter() .zip(other.machine.iter()) .all(|(a, b)| a == b) && self .domainname .iter() .zip(other.domainname.iter()) .all(|(a, b)| a == b) } } impl Eq for utsname {} impl ::fmt::Debug for utsname { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utsname") // FIXME: .field("sysname", &self.sysname) // FIXME: .field("nodename", &self.nodename) // FIXME: .field("release", &self.release) // FIXME: .field("version", &self.version) // FIXME: .field("machine", &self.machine) // FIXME: .field("domainname", &self.domainname) .finish() } } impl ::hash::Hash for utsname { fn hash(&self, state: &mut H) { self.sysname.hash(state); self.nodename.hash(state); self.release.hash(state); self.version.hash(state); self.machine.hash(state); self.domainname.hash(state); } } } } libc-0.2.66/src/unix/solarish/compat.rs010064400007650000024000000014341353775267200162070ustar0000000000000000// Common functions that are unfortunately missing on illumos and // Solaris, but often needed by other crates. use unix::solarish::*; pub unsafe fn cfmakeraw(termios: *mut ::termios) { let mut t = *termios as ::termios; t.c_iflag &= !(IMAXBEL | IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON); t.c_oflag &= !OPOST; t.c_lflag &= !(ECHO | ECHONL | ICANON | ISIG | IEXTEN); t.c_cflag &= !(CSIZE | PARENB); t.c_cflag |= CS8; } pub unsafe fn cfsetspeed( termios: *mut ::termios, speed: ::speed_t, ) -> ::c_int { // Neither of these functions on illumos or Solaris actually ever // return an error ::cfsetispeed(termios, speed); ::cfsetospeed(termios, speed); 0 } libc-0.2.66/src/unix/solarish/mod.rs010064400007650000024000002435141357020644200154740ustar0000000000000000pub type c_char = i8; pub type c_long = i64; pub type c_ulong = u64; pub type clockid_t = ::c_int; pub type blkcnt_t = ::c_long; pub type clock_t = ::c_long; pub type daddr_t = ::c_long; pub type dev_t = ::c_ulong; pub type fsblkcnt_t = ::c_ulong; pub type fsfilcnt_t = ::c_ulong; pub type ino_t = ::c_ulong; pub type key_t = ::c_int; pub type major_t = ::c_uint; pub type minor_t = ::c_uint; pub type mode_t = ::c_uint; pub type nlink_t = ::c_uint; pub type rlim_t = ::c_ulong; pub type speed_t = ::c_uint; pub type tcflag_t = ::c_uint; pub type time_t = ::c_long; pub type wchar_t = ::c_int; pub type nfds_t = ::c_ulong; pub type suseconds_t = ::c_long; pub type off_t = ::c_long; pub type useconds_t = ::c_uint; 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 blksize_t = ::c_int; pub type nl_item = ::c_int; pub type mqd_t = *mut ::c_void; pub type id_t = ::c_int; pub type idtype_t = ::c_uint; pub type shmatt_t = ::c_ulong; pub type door_attr_t = ::c_uint; pub type door_id_t = ::c_ulonglong; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } s! { pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct ipc_perm { pub uid: ::uid_t, pub gid: ::gid_t, pub cuid: ::uid_t, pub cgid: ::gid_t, pub mode: ::mode_t, pub seq: ::c_uint, pub key: ::key_t, } pub struct sockaddr { pub sa_family: sa_family_t, pub sa_data: [::c_char; 14], } pub struct sockaddr_in { pub sin_family: sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [::c_char; 8] } 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 __sin6_src_id: u32 } pub struct passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_age: *mut ::c_char, pub pw_comment: *mut ::c_char, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char } pub struct ifaddrs { pub ifa_next: *mut ifaddrs, pub ifa_name: *mut ::c_char, pub ifa_flags: ::c_ulong, pub ifa_addr: *mut ::sockaddr, pub ifa_netmask: *mut ::sockaddr, pub ifa_dstaddr: *mut ::sockaddr, pub ifa_data: *mut ::c_void } 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 struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::c_int, pub msg_control: *mut ::c_void, pub msg_controllen: ::socklen_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::socklen_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct pthread_attr_t { __pthread_attrp: *mut ::c_void } pub struct pthread_mutex_t { __pthread_mutex_flag1: u16, __pthread_mutex_flag2: u8, __pthread_mutex_ceiling: u8, __pthread_mutex_type: u16, __pthread_mutex_magic: u16, __pthread_mutex_lock: u64, __pthread_mutex_data: u64 } pub struct pthread_mutexattr_t { __pthread_mutexattrp: *mut ::c_void } pub struct pthread_cond_t { __pthread_cond_flag: [u8; 4], __pthread_cond_type: u16, __pthread_cond_magic: u16, __pthread_cond_data: u64 } pub struct pthread_condattr_t { __pthread_condattrp: *mut ::c_void, } pub struct pthread_rwlock_t { __pthread_rwlock_readers: i32, __pthread_rwlock_type: u16, __pthread_rwlock_magic: u16, __pthread_rwlock_mutex: ::pthread_mutex_t, __pthread_rwlock_readercv: ::pthread_cond_t, __pthread_rwlock_writercv: ::pthread_cond_t } pub struct pthread_rwlockattr_t { __pthread_rwlockattrp: *mut ::c_void, } pub struct dirent { pub d_ino: ::ino_t, pub d_off: ::off_t, pub d_reclen: u16, pub d_name: [::c_char; 3] } pub struct glob_t { pub gl_pathc: ::size_t, pub gl_pathv: *mut *mut ::c_char, pub gl_offs: ::size_t, __unused1: *mut ::c_void, __unused2: ::c_int, __unused3: ::c_int, __unused4: ::c_int, __unused5: *mut ::c_void, __unused6: *mut ::c_void, __unused7: *mut ::c_void, __unused8: *mut ::c_void, __unused9: *mut ::c_void, __unused10: *mut ::c_void, } pub struct addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, #[cfg(target_arch = "sparc64")] __sparcv9_pad: ::c_int, pub ai_addrlen: ::socklen_t, pub ai_canonname: *mut ::c_char, pub ai_addr: *mut ::sockaddr, pub ai_next: *mut addrinfo, } pub struct shmid_ds { pub shm_perm: ipc_perm, pub shm_segsz: ::size_t, #[cfg(target_os = "illumos")] pub shm_amp: *mut ::c_void, #[cfg(target_os = "solaris")] pub shm_flags: ::uintptr_t, pub shm_lkcnt: ::c_ushort, pub shm_lpid: ::pid_t, pub shm_cpid: ::pid_t, pub shm_nattch: ::shmatt_t, pub shm_cnattch: ::c_ulong, pub shm_atime: ::time_t, pub shm_dtime: ::time_t, pub shm_ctime: ::time_t, #[cfg(target_os = "illumos")] pub shm_pad4: [i64; 4], #[cfg(target_os = "solaris")] pub shm_amp: *mut ::c_void, #[cfg(target_os = "solaris")] pub shm_gransize: u64, #[cfg(target_os = "solaris")] pub shm_allocated: u64, #[cfg(target_os = "solaris")] pub shm_pad4: [i64; 1], } pub struct sigset_t { bits: [u32; 4], } pub struct sigaction { pub sa_flags: ::c_int, pub sa_sigaction: ::sighandler_t, pub sa_mask: sigset_t, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct statvfs { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, pub f_blocks: ::fsblkcnt_t, pub f_bfree: ::fsblkcnt_t, pub f_bavail: ::fsblkcnt_t, pub f_files: ::fsfilcnt_t, pub f_ffree: ::fsfilcnt_t, pub f_favail: ::fsfilcnt_t, pub f_fsid: ::c_ulong, pub f_basetype: [::c_char; 16], pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, pub f_fstr: [::c_char; 32] } pub struct sched_param { pub sched_priority: ::c_int, sched_pad: [::c_int; 8] } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } 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_size: ::off_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_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, __unused: [::c_char; 16] } pub struct termios { pub c_iflag: ::tcflag_t, pub c_oflag: ::tcflag_t, pub c_cflag: ::tcflag_t, pub c_lflag: ::tcflag_t, pub c_cc: [::cc_t; ::NCCS] } 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_p_sep_by_space: ::c_char, pub int_n_cs_precedes: ::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 sem_t { pub sem_count: u32, pub sem_type: u16, pub sem_magic: u16, pub sem_pad1: [u64; 3], pub sem_pad2: [u64; 2] } 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_sysid: ::c_int, pub l_pid: ::pid_t, pub l_pad: [::c_long; 4] } pub struct if_nameindex { pub if_index: ::c_uint, pub if_name: *mut ::c_char, } pub struct mq_attr { pub mq_flags: ::c_long, pub mq_maxmsg: ::c_long, pub mq_msgsize: ::c_long, pub mq_curmsgs: ::c_long, _pad: [::c_int; 4] } pub struct port_event { pub portev_events: ::c_int, pub portev_source: ::c_ushort, pub portev_pad: ::c_ushort, pub portev_object: ::uintptr_t, pub portev_user: *mut ::c_void, } pub struct door_desc_t__d_data__d_desc { pub d_descriptor: ::c_int, pub d_id: ::door_id_t } pub struct exit_status { e_termination: ::c_short, e_exit: ::c_short, } pub struct utmp { pub ut_user: [::c_char; 8], pub ut_id: [::c_char; 4], pub ut_line: [::c_char; 12], pub ut_pid: ::c_short, pub ut_type: ::c_short, pub ut_exit: exit_status, pub ut_time: ::time_t, } } s_no_extra_traits! { #[cfg_attr(any(target_arch = "x86", target_arch = "x86_64"), repr(packed))] pub struct epoll_event { pub events: u32, pub u64: u64, } pub struct utmpx { pub ut_user: [::c_char; _UTX_USERSIZE], pub ut_id: [::c_char; _UTX_IDSIZE], pub ut_line: [::c_char; _UTX_LINESIZE], pub ut_pid: ::pid_t, pub ut_type: ::c_short, pub ut_exit: exit_status, pub ut_tv: ::timeval, pub ut_session: ::c_int, pub ut_pad: [::c_int; _UTX_PADSIZE], pub ut_syslen: ::c_short, pub ut_host: [::c_char; _UTX_HOSTSIZE], } pub struct sockaddr_un { pub sun_family: sa_family_t, pub sun_path: [c_char; 108] } pub struct utsname { pub sysname: [::c_char; 257], pub nodename: [::c_char; 257], pub release: [::c_char; 257], pub version: [::c_char; 257], pub machine: [::c_char; 257], } pub struct fd_set { #[cfg(target_pointer_width = "64")] fds_bits: [i64; FD_SETSIZE / 64], #[cfg(target_pointer_width = "32")] fds_bits: [i32; FD_SETSIZE / 32], } pub struct sockaddr_storage { pub ss_family: ::sa_family_t, __ss_pad1: [u8; 6], __ss_align: i64, __ss_pad2: [u8; 240], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, pub si_errno: ::c_int, pub si_pad: ::c_int, pub si_addr: *mut ::c_void, __pad: [u8; 232], } pub struct sockaddr_dl { pub sdl_family: ::c_ushort, pub sdl_index: ::c_ushort, pub sdl_type: ::c_uchar, pub sdl_nlen: ::c_uchar, pub sdl_alen: ::c_uchar, pub sdl_slen: ::c_uchar, pub sdl_data: [::c_char; 244], } pub struct sigevent { pub sigev_notify: ::c_int, pub sigev_signo: ::c_int, pub sigev_value: ::sigval, pub ss_sp: *mut ::c_void, pub sigev_notify_attributes: *const ::pthread_attr_t, __sigev_pad2: ::c_int, } pub union door_desc_t__d_data { pub d_desc: door_desc_t__d_data__d_desc, d_resv: [::c_int; 5], /* Check out /usr/include/sys/door.h */ } pub struct door_desc_t { pub d_attributes: door_attr_t, pub d_data: door_desc_t__d_data, } pub struct door_arg_t { pub data_ptr: *const ::c_char, pub data_size: ::size_t, pub desc_ptr: *const door_desc_t, pub dec_num: ::c_uint, pub rbuf: *const ::c_char, pub rsize: ::size_t, } } 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_pid == other.ut_pid && self.ut_user == other.ut_user && self.ut_line == other.ut_line && self.ut_id == other.ut_id && self.ut_exit == other.ut_exit && self.ut_session == other.ut_session && self.ut_tv == other.ut_tv && self.ut_syslen == other.ut_syslen && self.ut_pad == other.ut_pad && self .ut_host .iter() .zip(other.ut_host.iter()) .all(|(a,b)| a == b) } } impl Eq for utmpx {} impl ::fmt::Debug for utmpx { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utmpx") .field("ut_user", &self.ut_user) .field("ut_id", &self.ut_id) .field("ut_line", &self.ut_line) .field("ut_pid", &self.ut_pid) .field("ut_type", &self.ut_type) .field("ut_exit", &self.ut_exit) .field("ut_tv", &self.ut_tv) .field("ut_session", &self.ut_session) .field("ut_pad", &self.ut_pad) .field("ut_syslen", &self.ut_syslen) .field("ut_host", &self.ut_host) .finish() } } impl ::hash::Hash for utmpx { fn hash(&self, state: &mut H) { self.ut_user.hash(state); self.ut_type.hash(state); self.ut_pid.hash(state); self.ut_line.hash(state); self.ut_id.hash(state); self.ut_host.hash(state); self.ut_exit.hash(state); self.ut_session.hash(state); self.ut_tv.hash(state); self.ut_syslen.hash(state); self.ut_pad.hash(state); } } impl PartialEq for epoll_event { fn eq(&self, other: &epoll_event) -> bool { self.events == other.events && self.u64 == other.u64 } } impl Eq for epoll_event {} impl ::fmt::Debug for epoll_event { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { let events = self.events; let u64 = self.u64; f.debug_struct("epoll_event") .field("events", &events) .field("u64", &u64) .finish() } } impl ::hash::Hash for epoll_event { fn hash(&self, state: &mut H) { let events = self.events; let u64 = self.u64; events.hash(state); u64.hash(state); } } impl PartialEq for sockaddr_un { fn eq(&self, other: &sockaddr_un) -> bool { self.sun_family == other.sun_family && self .sun_path .iter() .zip(other.sun_path.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_un {} impl ::fmt::Debug for sockaddr_un { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_un") .field("sun_family", &self.sun_family) // FIXME: .field("sun_path", &self.sun_path) .finish() } } impl ::hash::Hash for sockaddr_un { fn hash(&self, state: &mut H) { self.sun_family.hash(state); self.sun_path.hash(state); } } impl PartialEq for utsname { fn eq(&self, other: &utsname) -> bool { self.sysname .iter() .zip(other.sysname.iter()) .all(|(a, b)| a == b) && self .nodename .iter() .zip(other.nodename.iter()) .all(|(a, b)| a == b) && self .release .iter() .zip(other.release.iter()) .all(|(a, b)| a == b) && self .version .iter() .zip(other.version.iter()) .all(|(a, b)| a == b) && self .machine .iter() .zip(other.machine.iter()) .all(|(a, b)| a == b) } } impl Eq for utsname {} impl ::fmt::Debug for utsname { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("utsname") // FIXME: .field("sysname", &self.sysname) // FIXME: .field("nodename", &self.nodename) // FIXME: .field("release", &self.release) // FIXME: .field("version", &self.version) // FIXME: .field("machine", &self.machine) .finish() } } impl ::hash::Hash for utsname { fn hash(&self, state: &mut H) { self.sysname.hash(state); self.nodename.hash(state); self.release.hash(state); self.version.hash(state); self.machine.hash(state); } } impl PartialEq for fd_set { fn eq(&self, other: &fd_set) -> bool { self.fds_bits .iter() .zip(other.fds_bits.iter()) .all(|(a, b)| a == b) } } impl Eq for fd_set {} impl ::fmt::Debug for fd_set { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("fd_set") // FIXME: .field("fds_bits", &self.fds_bits) .finish() } } impl ::hash::Hash for fd_set { fn hash(&self, state: &mut H) { self.fds_bits.hash(state); } } impl PartialEq for sockaddr_storage { fn eq(&self, other: &sockaddr_storage) -> bool { self.ss_family == other.ss_family && self.__ss_pad1 == other.__ss_pad1 && self.__ss_align == other.__ss_align && self .__ss_pad2 .iter() .zip(other.__ss_pad2.iter()) .all(|(a, b)| a == b) } } impl Eq for sockaddr_storage {} impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_family", &self.ss_family) .field("__ss_pad1", &self.__ss_pad1) .field("__ss_align", &self.__ss_align) // FIXME: .field("__ss_pad2", &self.__ss_pad2) .finish() } } impl ::hash::Hash for sockaddr_storage { fn hash(&self, state: &mut H) { self.ss_family.hash(state); self.__ss_pad1.hash(state); self.__ss_align.hash(state); self.__ss_pad2.hash(state); } } impl PartialEq for siginfo_t { fn eq(&self, other: &siginfo_t) -> bool { self.si_signo == other.si_signo && self.si_code == other.si_code && self.si_errno == other.si_errno && self.si_addr == other.si_addr && self .__pad .iter() .zip(other.__pad.iter()) .all(|(a, b)| a == b) } } impl Eq for siginfo_t {} impl ::fmt::Debug for siginfo_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("siginfo_t") .field("si_signo", &self.si_signo) .field("si_code", &self.si_code) .field("si_errno", &self.si_errno) .field("si_addr", &self.si_addr) // FIXME: .field("__pad", &self.__pad) .finish() } } impl ::hash::Hash for siginfo_t { fn hash(&self, state: &mut H) { self.si_signo.hash(state); self.si_code.hash(state); self.si_errno.hash(state); self.si_addr.hash(state); self.__pad.hash(state); } } impl PartialEq for sockaddr_dl { fn eq(&self, other: &sockaddr_dl) -> bool { self.sdl_family == other.sdl_family && self.sdl_index == other.sdl_index && self.sdl_type == other.sdl_type && self.sdl_nlen == other.sdl_nlen && self.sdl_alen == other.sdl_alen && self.sdl_slen == other.sdl_slen && self .sdl_data .iter() .zip(other.sdl_data.iter()) .all(|(a,b)| a == b) } } impl Eq for sockaddr_dl {} impl ::fmt::Debug for sockaddr_dl { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_dl") .field("sdl_family", &self.sdl_family) .field("sdl_index", &self.sdl_index) .field("sdl_type", &self.sdl_type) .field("sdl_nlen", &self.sdl_nlen) .field("sdl_alen", &self.sdl_alen) .field("sdl_slen", &self.sdl_slen) // FIXME: .field("sdl_data", &self.sdl_data) .finish() } } impl ::hash::Hash for sockaddr_dl { fn hash(&self, state: &mut H) { self.sdl_family.hash(state); self.sdl_index.hash(state); self.sdl_type.hash(state); self.sdl_nlen.hash(state); self.sdl_alen.hash(state); self.sdl_slen.hash(state); self.sdl_data.hash(state); } } impl PartialEq for sigevent { fn eq(&self, other: &sigevent) -> bool { self.sigev_notify == other.sigev_notify && self.sigev_signo == other.sigev_signo && self.sigev_value == other.sigev_value && self.ss_sp == other.ss_sp && self.sigev_notify_attributes == other.sigev_notify_attributes } } impl Eq for sigevent {} impl ::fmt::Debug for sigevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigevent") .field("sigev_notify", &self.sigev_notify) .field("sigev_signo", &self.sigev_signo) .field("sigev_value", &self.sigev_value) .field("ss_sp", &self.ss_sp) .field("sigev_notify_attributes", &self.sigev_notify_attributes) .finish() } } impl ::hash::Hash for sigevent { fn hash(&self, state: &mut H) { self.sigev_notify.hash(state); self.sigev_signo.hash(state); self.sigev_value.hash(state); self.ss_sp.hash(state); self.sigev_notify_attributes.hash(state); } } } } pub const LC_CTYPE: ::c_int = 0; pub const LC_NUMERIC: ::c_int = 1; pub const LC_TIME: ::c_int = 2; pub const LC_COLLATE: ::c_int = 3; pub const LC_MONETARY: ::c_int = 4; pub const LC_MESSAGES: ::c_int = 5; pub const LC_ALL: ::c_int = 6; pub const LC_CTYPE_MASK: ::c_int = (1 << LC_CTYPE); pub const LC_NUMERIC_MASK: ::c_int = (1 << LC_NUMERIC); pub const LC_TIME_MASK: ::c_int = (1 << LC_TIME); pub const LC_COLLATE_MASK: ::c_int = (1 << LC_COLLATE); pub const LC_MONETARY_MASK: ::c_int = (1 << LC_MONETARY); pub const LC_MESSAGES_MASK: ::c_int = (1 << LC_MESSAGES); pub const LC_ALL_MASK: ::c_int = LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK | LC_MONETARY_MASK | LC_MESSAGES_MASK; pub const DAY_1: ::nl_item = 1; pub const DAY_2: ::nl_item = 2; pub const DAY_3: ::nl_item = 3; pub const DAY_4: ::nl_item = 4; pub const DAY_5: ::nl_item = 5; pub const DAY_6: ::nl_item = 6; pub const DAY_7: ::nl_item = 7; pub const ABDAY_1: ::nl_item = 8; pub const ABDAY_2: ::nl_item = 9; pub const ABDAY_3: ::nl_item = 10; pub const ABDAY_4: ::nl_item = 11; pub const ABDAY_5: ::nl_item = 12; pub const ABDAY_6: ::nl_item = 13; pub const ABDAY_7: ::nl_item = 14; pub const MON_1: ::nl_item = 15; pub const MON_2: ::nl_item = 16; pub const MON_3: ::nl_item = 17; pub const MON_4: ::nl_item = 18; pub const MON_5: ::nl_item = 19; pub const MON_6: ::nl_item = 20; pub const MON_7: ::nl_item = 21; pub const MON_8: ::nl_item = 22; pub const MON_9: ::nl_item = 23; pub const MON_10: ::nl_item = 24; pub const MON_11: ::nl_item = 25; pub const MON_12: ::nl_item = 26; pub const ABMON_1: ::nl_item = 27; pub const ABMON_2: ::nl_item = 28; pub const ABMON_3: ::nl_item = 29; pub const ABMON_4: ::nl_item = 30; pub const ABMON_5: ::nl_item = 31; pub const ABMON_6: ::nl_item = 32; pub const ABMON_7: ::nl_item = 33; pub const ABMON_8: ::nl_item = 34; pub const ABMON_9: ::nl_item = 35; pub const ABMON_10: ::nl_item = 36; pub const ABMON_11: ::nl_item = 37; pub const ABMON_12: ::nl_item = 38; pub const RADIXCHAR: ::nl_item = 39; pub const THOUSEP: ::nl_item = 40; pub const YESSTR: ::nl_item = 41; pub const NOSTR: ::nl_item = 42; pub const CRNCYSTR: ::nl_item = 43; pub const D_T_FMT: ::nl_item = 44; pub const D_FMT: ::nl_item = 45; pub const T_FMT: ::nl_item = 46; pub const AM_STR: ::nl_item = 47; pub const PM_STR: ::nl_item = 48; pub const CODESET: ::nl_item = 49; pub const T_FMT_AMPM: ::nl_item = 50; pub const ERA: ::nl_item = 51; pub const ERA_D_FMT: ::nl_item = 52; pub const ERA_D_T_FMT: ::nl_item = 53; pub const ERA_T_FMT: ::nl_item = 54; pub const ALT_DIGITS: ::nl_item = 55; pub const YESEXPR: ::nl_item = 56; pub const NOEXPR: ::nl_item = 57; pub const _DATE_FMT: ::nl_item = 58; pub const MAXSTRMSG: ::nl_item = 58; pub const PATH_MAX: ::c_int = 1024; pub const SA_ONSTACK: ::c_int = 0x00000001; pub const SA_RESETHAND: ::c_int = 0x00000002; pub const SA_RESTART: ::c_int = 0x00000004; pub const SA_SIGINFO: ::c_int = 0x00000008; pub const SA_NODEFER: ::c_int = 0x00000010; pub const SA_NOCLDWAIT: ::c_int = 0x00010000; pub const SA_NOCLDSTOP: ::c_int = 0x00020000; pub const SS_ONSTACK: ::c_int = 1; pub const SS_DISABLE: ::c_int = 2; pub const FIOCLEX: ::c_int = 0x20006601; pub const FIONCLEX: ::c_int = 0x20006602; pub const FIONREAD: ::c_int = 0x4004667f; pub const FIONBIO: ::c_int = 0x8004667e; pub const FIOASYNC: ::c_int = 0x8004667d; pub const FIOSETOWN: ::c_int = 0x8004667c; pub const FIOGETOWN: ::c_int = 0x4004667b; pub const SIGCHLD: ::c_int = 18; pub const SIGBUS: ::c_int = 10; pub const SIGINFO: ::c_int = 41; pub const SIG_BLOCK: ::c_int = 1; pub const SIG_UNBLOCK: ::c_int = 2; pub const SIG_SETMASK: ::c_int = 3; pub const SIGEV_NONE: ::c_int = 1; pub const SIGEV_SIGNAL: ::c_int = 2; pub const SIGEV_THREAD: ::c_int = 3; pub const IPV6_UNICAST_HOPS: ::c_int = 0x5; pub const IPV6_MULTICAST_IF: ::c_int = 0x6; pub const IPV6_MULTICAST_HOPS: ::c_int = 0x7; pub const IPV6_MULTICAST_LOOP: ::c_int = 0x8; pub const IPV6_V6ONLY: ::c_int = 0x27; cfg_if! { if #[cfg(target_pointer_width = "64")] { pub const FD_SETSIZE: usize = 65536; } else { pub const FD_SETSIZE: usize = 1024; } } pub const ST_RDONLY: ::c_ulong = 1; pub const ST_NOSUID: ::c_ulong = 2; pub const NI_MAXHOST: ::socklen_t = 1025; pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; pub const RAND_MAX: ::c_int = 32767; 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 = 4; pub const _IOLBF: ::c_int = 64; pub const BUFSIZ: ::c_uint = 1024; pub const FOPEN_MAX: ::c_uint = 20; pub const FILENAME_MAX: ::c_uint = 1024; pub const L_tmpnam: ::c_uint = 25; pub const TMP_MAX: ::c_uint = 17576; pub const O_RDONLY: ::c_int = 0; pub const O_WRONLY: ::c_int = 1; pub const O_RDWR: ::c_int = 2; pub const O_NDELAY: ::c_int = 0x04; pub const O_APPEND: ::c_int = 8; pub const O_DSYNC: ::c_int = 0x40; pub const O_CREAT: ::c_int = 256; pub const O_EXCL: ::c_int = 1024; pub const O_NOCTTY: ::c_int = 2048; pub const O_TRUNC: ::c_int = 512; pub const O_NOFOLLOW: ::c_int = 0x200000; pub const O_SEARCH: ::c_int = 0x200000; pub const O_EXEC: ::c_int = 0x400000; pub const O_CLOEXEC: ::c_int = 0x800000; pub const O_ACCMODE: ::c_int = 0x600003; pub const S_IFIFO: mode_t = 4096; pub const S_IFCHR: mode_t = 8192; pub const S_IFBLK: mode_t = 24576; pub const S_IFDIR: mode_t = 16384; 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 = 61440; pub const S_IEXEC: mode_t = 64; pub const S_IWRITE: mode_t = 128; pub const S_IREAD: mode_t = 256; pub const S_IRWXU: mode_t = 448; pub const S_IXUSR: mode_t = 64; pub const S_IWUSR: mode_t = 128; pub const S_IRUSR: mode_t = 256; pub const S_IRWXG: mode_t = 56; pub const S_IXGRP: mode_t = 8; pub const S_IWGRP: mode_t = 16; pub const S_IRGRP: mode_t = 32; pub const S_IRWXO: mode_t = 7; pub const S_IXOTH: mode_t = 1; pub const S_IWOTH: mode_t = 2; pub const S_IROTH: mode_t = 4; pub const F_OK: ::c_int = 0; pub const R_OK: ::c_int = 4; pub const W_OK: ::c_int = 2; pub const X_OK: ::c_int = 1; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::c_int = 2; pub const F_LOCK: ::c_int = 1; 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 = 37; pub const F_SETLK: ::c_int = 6; pub const F_SETLKW: ::c_int = 7; pub const F_GETLK: ::c_int = 14; 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 SIGABRT: ::c_int = 6; pub const SIGEMT: ::c_int = 7; pub const SIGFPE: ::c_int = 8; pub const SIGKILL: ::c_int = 9; 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 SIGUSR1: ::c_int = 16; pub const SIGUSR2: ::c_int = 17; pub const SIGPWR: ::c_int = 19; pub const SIGWINCH: ::c_int = 20; pub const SIGURG: ::c_int = 21; pub const SIGPOLL: ::c_int = 22; pub const SIGIO: ::c_int = SIGPOLL; pub const SIGSTOP: ::c_int = 23; pub const SIGTSTP: ::c_int = 24; pub const SIGCONT: ::c_int = 25; pub const SIGTTIN: ::c_int = 26; pub const SIGTTOU: ::c_int = 27; pub const SIGVTALRM: ::c_int = 28; pub const SIGPROF: ::c_int = 29; pub const SIGXCPU: ::c_int = 30; pub const SIGXFSZ: ::c_int = 31; pub const WNOHANG: ::c_int = 0x40; pub const WUNTRACED: ::c_int = 0x04; pub const WEXITED: ::c_int = 0x01; pub const WTRAPPED: ::c_int = 0x02; pub const WSTOPPED: ::c_int = WUNTRACED; pub const WCONTINUED: ::c_int = 0x08; pub const WNOWAIT: ::c_int = 0x80; pub const AT_FDCWD: ::c_int = 0xffd19553; pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x1000; pub const P_PID: idtype_t = 0; pub const P_PPID: idtype_t = 1; pub const P_PGID: idtype_t = 2; pub const P_SID: idtype_t = 3; pub const P_CID: idtype_t = 4; pub const P_UID: idtype_t = 5; pub const P_GID: idtype_t = 6; pub const P_ALL: idtype_t = 7; pub const P_LWPID: idtype_t = 8; pub const P_TASKID: idtype_t = 9; pub const P_PROJID: idtype_t = 10; pub const P_POOLID: idtype_t = 11; pub const P_ZONEID: idtype_t = 12; pub const P_CTID: idtype_t = 13; pub const P_CPUID: idtype_t = 14; pub const P_PSETID: idtype_t = 15; pub const UTIME_OMIT: c_long = -2; pub const UTIME_NOW: c_long = -1; pub const PROT_NONE: ::c_int = 0; pub const PROT_READ: ::c_int = 1; pub const PROT_WRITE: ::c_int = 2; pub const PROT_EXEC: ::c_int = 4; pub const MAP_FILE: ::c_int = 0; pub const MAP_SHARED: ::c_int = 0x0001; pub const MAP_PRIVATE: ::c_int = 0x0002; pub const MAP_FIXED: ::c_int = 0x0010; pub const MAP_NORESERVE: ::c_int = 0x40; pub const MAP_ANON: ::c_int = 0x0100; pub const MAP_ANONYMOUS: ::c_int = 0x0100; pub const MAP_RENAME: ::c_int = 0x20; pub const MAP_ALIGN: ::c_int = 0x200; pub const MAP_TEXT: ::c_int = 0x400; pub const MAP_INITDATA: ::c_int = 0x800; 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 MS_SYNC: ::c_int = 0x0004; pub const MS_ASYNC: ::c_int = 0x0001; pub const MS_INVALIDATE: ::c_int = 0x0002; pub const MS_INVALCURPROC: ::c_int = 0x0008; 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 ENOMSG: ::c_int = 35; pub const EIDRM: ::c_int = 36; pub const ECHRNG: ::c_int = 37; pub const EL2NSYNC: ::c_int = 38; pub const EL3HLT: ::c_int = 39; pub const EL3RST: ::c_int = 40; pub const ELNRNG: ::c_int = 41; pub const EUNATCH: ::c_int = 42; pub const ENOCSI: ::c_int = 43; pub const EL2HLT: ::c_int = 44; pub const EDEADLK: ::c_int = 45; pub const ENOLCK: ::c_int = 46; pub const ECANCELED: ::c_int = 47; pub const ENOTSUP: ::c_int = 48; pub const EDQUOT: ::c_int = 49; pub const EBADE: ::c_int = 50; pub const EBADR: ::c_int = 51; 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 EBFONT: ::c_int = 57; pub const EOWNERDEAD: ::c_int = 58; pub const ENOTRECOVERABLE: ::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 ELOCKUNMAPPED: ::c_int = 72; pub const ENOTACTIVE: ::c_int = 73; pub const EMULTIHOP: ::c_int = 74; pub const EADI: ::c_int = 75; pub const EBADMSG: ::c_int = 77; pub const ENAMETOOLONG: ::c_int = 78; pub const EOVERFLOW: ::c_int = 79; pub const ENOTUNIQ: ::c_int = 80; pub const EBADFD: ::c_int = 81; pub const EREMCHG: ::c_int = 82; pub const ELIBACC: ::c_int = 83; pub const ELIBBAD: ::c_int = 84; pub const ELIBSCN: ::c_int = 85; pub const ELIBMAX: ::c_int = 86; pub const ELIBEXEC: ::c_int = 87; pub const EILSEQ: ::c_int = 88; pub const ENOSYS: ::c_int = 89; pub const ELOOP: ::c_int = 90; pub const ERESTART: ::c_int = 91; pub const ESTRPIPE: ::c_int = 92; pub const ENOTEMPTY: ::c_int = 93; pub const EUSERS: ::c_int = 94; pub const ENOTSOCK: ::c_int = 95; pub const EDESTADDRREQ: ::c_int = 96; pub const EMSGSIZE: ::c_int = 97; pub const EPROTOTYPE: ::c_int = 98; 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 EPFNOSUPPORT: ::c_int = 123; pub const EAFNOSUPPORT: ::c_int = 124; pub const EADDRINUSE: ::c_int = 125; pub const EADDRNOTAVAIL: ::c_int = 126; pub const ENETDOWN: ::c_int = 127; pub const ENETUNREACH: ::c_int = 128; pub const ENETRESET: ::c_int = 129; pub const ECONNABORTED: ::c_int = 130; pub const ECONNRESET: ::c_int = 131; pub const ENOBUFS: ::c_int = 132; pub const EISCONN: ::c_int = 133; pub const ENOTCONN: ::c_int = 134; pub const ESHUTDOWN: ::c_int = 143; pub const ETOOMANYREFS: ::c_int = 144; pub const ETIMEDOUT: ::c_int = 145; pub const ECONNREFUSED: ::c_int = 146; pub const EHOSTDOWN: ::c_int = 147; pub const EHOSTUNREACH: ::c_int = 148; pub const EWOULDBLOCK: ::c_int = EAGAIN; pub const EALREADY: ::c_int = 149; pub const EINPROGRESS: ::c_int = 150; pub const ESTALE: ::c_int = 151; pub const EAI_AGAIN: ::c_int = 2; pub const EAI_BADFLAGS: ::c_int = 3; pub const EAI_FAIL: ::c_int = 4; pub const EAI_FAMILY: ::c_int = 5; pub const EAI_MEMORY: ::c_int = 6; pub const EAI_NODATA: ::c_int = 7; pub const EAI_NONAME: ::c_int = 8; pub const EAI_SERVICE: ::c_int = 9; pub const EAI_SOCKTYPE: ::c_int = 10; pub const EAI_SYSTEM: ::c_int = 11; pub const EAI_OVERFLOW: ::c_int = 12; pub const F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; pub const SIGTRAP: ::c_int = 5; pub const GLOB_APPEND: ::c_int = 32; pub const GLOB_DOOFFS: ::c_int = 16; pub const GLOB_ERR: ::c_int = 1; pub const GLOB_MARK: ::c_int = 2; pub const GLOB_NOCHECK: ::c_int = 8; pub const GLOB_NOSORT: ::c_int = 4; pub const GLOB_NOESCAPE: ::c_int = 64; pub const GLOB_NOSPACE: ::c_int = -2; pub const GLOB_ABORTED: ::c_int = -1; pub const GLOB_NOMATCH: ::c_int = -3; pub const POLLIN: ::c_short = 0x1; pub const POLLPRI: ::c_short = 0x2; pub const POLLOUT: ::c_short = 0x4; pub const POLLERR: ::c_short = 0x8; pub const POLLHUP: ::c_short = 0x10; pub const POLLNVAL: ::c_short = 0x20; pub const POLLNORM: ::c_short = 0x0040; pub const POLLRDNORM: ::c_short = 0x0040; pub const POLLWRNORM: ::c_short = 0x4; /* POLLOUT */ pub const POLLRDBAND: ::c_short = 0x0080; pub const POLLWRBAND: ::c_short = 0x0100; 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_MADV_DONTNEED: ::c_int = 4; pub const PTHREAD_CREATE_JOINABLE: ::c_int = 0; pub const PTHREAD_CREATE_DETACHED: ::c_int = 0x40; pub const PTHREAD_PROCESS_SHARED: ::c_int = 1; pub const PTHREAD_PROCESS_PRIVATE: ::c_ushort = 0; pub const PTHREAD_STACK_MIN: ::size_t = 4096; pub const SIGSTKSZ: ::size_t = 8192; // https://illumos.org/man/3c/clock_gettime // https://github.com/illumos/illumos-gate/ // blob/HEAD/usr/src/lib/libc/amd64/sys/__clock_gettime.s // clock_gettime(3c) doesn't seem to accept anything other than CLOCK_REALTIME // or __CLOCK_REALTIME0 // // https://github.com/illumos/illumos-gate/ // blob/HEAD/usr/src/uts/common/sys/time_impl.h // Confusing! CLOCK_HIGHRES==CLOCK_MONOTONIC==4 // __CLOCK_REALTIME0==0 is an obsoleted version of CLOCK_REALTIME==3 pub const CLOCK_REALTIME: ::clockid_t = 3; pub const CLOCK_MONOTONIC: ::clockid_t = 4; pub const TIMER_RELTIME: ::c_int = 0; pub const TIMER_ABSTIME: ::c_int = 1; pub const RLIMIT_CPU: ::c_int = 0; pub const RLIMIT_FSIZE: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; pub const RLIMIT_STACK: ::c_int = 3; pub const RLIMIT_CORE: ::c_int = 4; pub const RLIMIT_NOFILE: ::c_int = 5; pub const RLIMIT_VMEM: ::c_int = 6; pub const RLIMIT_AS: ::c_int = RLIMIT_VMEM; #[deprecated(since = "0.2.64", note = "Not stable across OS versions")] pub const RLIM_NLIMITS: rlim_t = 7; pub const RLIM_INFINITY: rlim_t = 0x7fffffff; pub const RUSAGE_SELF: ::c_int = 0; pub const RUSAGE_CHILDREN: ::c_int = -1; pub const MADV_NORMAL: ::c_int = 0; pub const MADV_RANDOM: ::c_int = 1; pub const MADV_SEQUENTIAL: ::c_int = 2; pub const MADV_WILLNEED: ::c_int = 3; pub const MADV_DONTNEED: ::c_int = 4; pub const MADV_FREE: ::c_int = 5; pub const AF_UNSPEC: ::c_int = 0; pub const AF_UNIX: ::c_int = 1; pub const AF_LOCAL: ::c_int = 0; pub const AF_FILE: ::c_int = 0; pub const AF_INET: ::c_int = 2; pub const AF_IMPLINK: ::c_int = 3; pub const AF_PUP: ::c_int = 4; pub const AF_CHAOS: ::c_int = 5; pub const AF_NS: ::c_int = 6; pub const AF_NBS: ::c_int = 7; pub const AF_ECMA: ::c_int = 8; pub const AF_DATAKIT: ::c_int = 9; pub const AF_CCITT: ::c_int = 10; pub const AF_SNA: ::c_int = 11; pub const AF_DECnet: ::c_int = 12; pub const AF_DLI: ::c_int = 13; pub const AF_LAT: ::c_int = 14; pub const AF_HYLINK: ::c_int = 15; pub const AF_APPLETALK: ::c_int = 16; pub const AF_NIT: ::c_int = 17; pub const AF_802: ::c_int = 18; pub const AF_OSI: ::c_int = 19; pub const AF_X25: ::c_int = 20; pub const AF_OSINET: ::c_int = 21; pub const AF_GOSIP: ::c_int = 22; pub const AF_IPX: ::c_int = 23; pub const AF_ROUTE: ::c_int = 24; pub const AF_LINK: ::c_int = 25; pub const AF_INET6: ::c_int = 26; pub const AF_KEY: ::c_int = 27; pub const AF_NCA: ::c_int = 28; pub const AF_POLICY: ::c_int = 29; pub const AF_INET_OFFLOAD: ::c_int = 30; pub const AF_TRILL: ::c_int = 31; pub const AF_PACKET: ::c_int = 32; pub const AF_LX_NETLINK: ::c_int = 33; pub const SOCK_DGRAM: ::c_int = 1; pub const SOCK_STREAM: ::c_int = 2; pub const SOCK_RAW: ::c_int = 4; pub const SOCK_RDM: ::c_int = 5; pub const SOCK_SEQPACKET: ::c_int = 6; pub const IP_MULTICAST_IF: ::c_int = 16; pub const IP_MULTICAST_TTL: ::c_int = 17; pub const IP_MULTICAST_LOOP: ::c_int = 18; pub const IP_TTL: ::c_int = 4; pub const IP_HDRINCL: ::c_int = 2; pub const IP_ADD_MEMBERSHIP: ::c_int = 19; pub const IP_DROP_MEMBERSHIP: ::c_int = 20; pub const IPV6_JOIN_GROUP: ::c_int = 9; pub const IPV6_LEAVE_GROUP: ::c_int = 10; pub const TCP_NODELAY: ::c_int = 1; pub const TCP_KEEPIDLE: ::c_int = 34; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_DEBUG: ::c_int = 0x01; pub const SO_ACCEPTCONN: ::c_int = 0x0002; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_USELOOPBACK: ::c_int = 0x0040; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; 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; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_TIMESTAMP: ::c_int = 0x1013; pub const SCM_RIGHTS: ::c_int = 0x1010; pub const SCM_UCRED: ::c_int = 0x1012; pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP; pub const MSG_OOB: ::c_int = 0x1; pub const MSG_PEEK: ::c_int = 0x2; pub const MSG_DONTROUTE: ::c_int = 0x4; pub const MSG_EOR: ::c_int = 0x8; pub const MSG_CTRUNC: ::c_int = 0x10; pub const MSG_TRUNC: ::c_int = 0x20; pub const MSG_WAITALL: ::c_int = 0x40; pub const MSG_DONTWAIT: ::c_int = 0x80; pub const MSG_NOTIFICATION: ::c_int = 0x100; pub const MSG_NOSIGNAL: ::c_int = 0x200; pub const MSG_DUPCTRL: ::c_int = 0x800; pub const MSG_XPG4_2: ::c_int = 0x8000; pub const MSG_MAXIOVLEN: ::c_int = 16; // https://docs.oracle.com/cd/E23824_01/html/821-1475/if-7p.html pub const IFF_UP: ::c_int = 0x0000000001; // Address is up pub const IFF_BROADCAST: ::c_int = 0x0000000002; // Broadcast address valid pub const IFF_DEBUG: ::c_int = 0x0000000004; // Turn on debugging pub const IFF_LOOPBACK: ::c_int = 0x0000000008; // Loopback net pub const IFF_POINTOPOINT: ::c_int = 0x0000000010; // Interface is p-to-p pub const IFF_NOTRAILERS: ::c_int = 0x0000000020; // Avoid use of trailers pub const IFF_RUNNING: ::c_int = 0x0000000040; // Resources allocated pub const IFF_NOARP: ::c_int = 0x0000000080; // No address res. protocol pub const IFF_PROMISC: ::c_int = 0x0000000100; // Receive all packets pub const IFF_ALLMULTI: ::c_int = 0x0000000200; // Receive all multicast pkts pub const IFF_INTELLIGENT: ::c_int = 0x0000000400; // Protocol code on board pub const IFF_MULTICAST: ::c_int = 0x0000000800; // Supports multicast // Multicast using broadcst. add. pub const IFF_MULTI_BCAST: ::c_int = 0x0000001000; pub const IFF_UNNUMBERED: ::c_int = 0x0000002000; // Non-unique address pub const IFF_DHCPRUNNING: ::c_int = 0x0000004000; // DHCP controls interface pub const IFF_PRIVATE: ::c_int = 0x0000008000; // Do not advertise pub const IFF_NOXMIT: ::c_int = 0x0000010000; // Do not transmit pkts // No address - just on-link subnet pub const IFF_NOLOCAL: ::c_int = 0x0000020000; pub const IFF_DEPRECATED: ::c_int = 0x0000040000; // Address is deprecated pub const IFF_ADDRCONF: ::c_int = 0x0000080000; // Addr. from stateless addrconf pub const IFF_ROUTER: ::c_int = 0x0000100000; // Router on interface pub const IFF_NONUD: ::c_int = 0x0000200000; // No NUD on interface pub const IFF_ANYCAST: ::c_int = 0x0000400000; // Anycast address pub const IFF_NORTEXCH: ::c_int = 0x0000800000; // Don't xchange rout. info pub const IFF_IPV4: ::c_int = 0x0001000000; // IPv4 interface pub const IFF_IPV6: ::c_int = 0x0002000000; // IPv6 interface pub const IFF_NOFAILOVER: ::c_int = 0x0008000000; // in.mpathd test address pub const IFF_FAILED: ::c_int = 0x0010000000; // Interface has failed pub const IFF_STANDBY: ::c_int = 0x0020000000; // Interface is a hot-spare pub const IFF_INACTIVE: ::c_int = 0x0040000000; // Functioning but not used pub const IFF_OFFLINE: ::c_int = 0x0080000000; // Interface is offline // If CoS marking is supported pub const IFF_COS_ENABLED: ::c_longlong = 0x0200000000; pub const IFF_PREFERRED: ::c_longlong = 0x0400000000; // Prefer as source addr. pub const IFF_TEMPORARY: ::c_longlong = 0x0800000000; // RFC3041 pub const IFF_FIXEDMTU: ::c_longlong = 0x1000000000; // MTU set with SIOCSLIFMTU pub const IFF_VIRTUAL: ::c_longlong = 0x2000000000; // Cannot send/receive pkts pub const IFF_DUPLICATE: ::c_longlong = 0x4000000000; // Local address in use pub const IFF_IPMP: ::c_longlong = 0x8000000000; // IPMP IP interface // sys/ipc.h: pub const IPC_ALLOC: ::c_int = 0x8000; pub const IPC_CREAT: ::c_int = 0x200; pub const IPC_EXCL: ::c_int = 0x400; pub const IPC_NOWAIT: ::c_int = 0x800; pub const IPC_PRIVATE: key_t = 0; pub const IPC_RMID: ::c_int = 10; pub const IPC_SET: ::c_int = 11; pub const IPC_SEAT: ::c_int = 12; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const LOCK_SH: ::c_int = 1; pub const LOCK_EX: ::c_int = 2; pub const LOCK_NB: ::c_int = 4; pub const LOCK_UN: ::c_int = 8; pub const F_RDLCK: ::c_short = 1; pub const F_WRLCK: ::c_short = 2; pub const F_UNLCK: ::c_short = 3; pub const O_SYNC: ::c_int = 16; pub const O_NONBLOCK: ::c_int = 128; pub const IPPROTO_RAW: ::c_int = 255; pub const _PC_LINK_MAX: ::c_int = 1; pub const _PC_MAX_CANON: ::c_int = 2; pub const _PC_MAX_INPUT: ::c_int = 3; pub const _PC_NAME_MAX: ::c_int = 4; pub const _PC_PATH_MAX: ::c_int = 5; pub const _PC_PIPE_BUF: ::c_int = 6; pub const _PC_NO_TRUNC: ::c_int = 7; pub const _PC_VDISABLE: ::c_int = 8; pub const _PC_CHOWN_RESTRICTED: ::c_int = 9; pub const _PC_ASYNC_IO: ::c_int = 10; pub const _PC_PRIO_IO: ::c_int = 11; pub const _PC_SYNC_IO: ::c_int = 12; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 13; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 14; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 15; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 16; pub const _PC_REC_XFER_ALIGN: ::c_int = 17; pub const _PC_SYMLINK_MAX: ::c_int = 18; pub const _PC_2_SYMLINKS: ::c_int = 19; pub const _PC_ACL_ENABLED: ::c_int = 20; pub const _PC_MIN_HOLE_SIZE: ::c_int = 21; pub const _PC_CASE_BEHAVIOR: ::c_int = 22; pub const _PC_SATTR_ENABLED: ::c_int = 23; pub const _PC_SATTR_EXISTS: ::c_int = 24; pub const _PC_ACCESS_FILTERING: ::c_int = 25; pub const _PC_TIMESTAMP_RESOLUTION: ::c_int = 26; pub const _PC_FILESIZEBITS: ::c_int = 67; pub const _PC_XATTR_ENABLED: ::c_int = 100; pub const _PC_LAST: ::c_int = 101; pub const _PC_XATTR_EXISTS: ::c_int = 101; pub const _SC_ARG_MAX: ::c_int = 1; pub const _SC_CHILD_MAX: ::c_int = 2; pub const _SC_CLK_TCK: ::c_int = 3; pub const _SC_NGROUPS_MAX: ::c_int = 4; pub const _SC_OPEN_MAX: ::c_int = 5; pub const _SC_JOB_CONTROL: ::c_int = 6; pub const _SC_SAVED_IDS: ::c_int = 7; pub const _SC_VERSION: ::c_int = 8; pub const _SC_PASS_MAX: ::c_int = 9; pub const _SC_LOGNAME_MAX: ::c_int = 10; pub const _SC_PAGESIZE: ::c_int = 11; pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; pub const _SC_XOPEN_VERSION: ::c_int = 12; pub const _SC_NPROCESSORS_CONF: ::c_int = 14; pub const _SC_NPROCESSORS_ONLN: ::c_int = 15; pub const _SC_STREAM_MAX: ::c_int = 16; pub const _SC_TZNAME_MAX: ::c_int = 17; pub const _SC_AIO_LISTIO_MAX: ::c_int = 18; pub const _SC_AIO_MAX: ::c_int = 19; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 20; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 21; pub const _SC_DELAYTIMER_MAX: ::c_int = 22; pub const _SC_FSYNC: ::c_int = 23; pub const _SC_MAPPED_FILES: ::c_int = 24; pub const _SC_MEMLOCK: ::c_int = 25; pub const _SC_MEMLOCK_RANGE: ::c_int = 26; pub const _SC_MEMORY_PROTECTION: ::c_int = 27; pub const _SC_MESSAGE_PASSING: ::c_int = 28; pub const _SC_MQ_OPEN_MAX: ::c_int = 29; pub const _SC_MQ_PRIO_MAX: ::c_int = 30; pub const _SC_PRIORITIZED_IO: ::c_int = 31; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 32; pub const _SC_REALTIME_SIGNALS: ::c_int = 33; pub const _SC_RTSIG_MAX: ::c_int = 34; pub const _SC_SEMAPHORES: ::c_int = 35; pub const _SC_SEM_NSEMS_MAX: ::c_int = 36; pub const _SC_SEM_VALUE_MAX: ::c_int = 37; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 38; pub const _SC_SIGQUEUE_MAX: ::c_int = 39; pub const _SC_SIGRT_MIN: ::c_int = 40; pub const _SC_SIGRT_MAX: ::c_int = 41; pub const _SC_SYNCHRONIZED_IO: ::c_int = 42; pub const _SC_TIMERS: ::c_int = 43; pub const _SC_TIMER_MAX: ::c_int = 44; pub const _SC_2_C_BIND: ::c_int = 45; pub const _SC_2_C_DEV: ::c_int = 46; pub const _SC_2_C_VERSION: ::c_int = 47; pub const _SC_2_FORT_DEV: ::c_int = 48; pub const _SC_2_FORT_RUN: ::c_int = 49; pub const _SC_2_LOCALEDEF: ::c_int = 50; pub const _SC_2_SW_DEV: ::c_int = 51; pub const _SC_2_UPE: ::c_int = 52; pub const _SC_2_VERSION: ::c_int = 53; pub const _SC_BC_BASE_MAX: ::c_int = 54; pub const _SC_BC_DIM_MAX: ::c_int = 55; pub const _SC_BC_SCALE_MAX: ::c_int = 56; pub const _SC_BC_STRING_MAX: ::c_int = 57; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 58; pub const _SC_EXPR_NEST_MAX: ::c_int = 59; pub const _SC_LINE_MAX: ::c_int = 60; pub const _SC_RE_DUP_MAX: ::c_int = 61; pub const _SC_XOPEN_CRYPT: ::c_int = 62; pub const _SC_XOPEN_ENH_I18N: ::c_int = 63; pub const _SC_XOPEN_SHM: ::c_int = 64; pub const _SC_2_CHAR_TERM: ::c_int = 66; pub const _SC_XOPEN_XCU_VERSION: ::c_int = 67; pub const _SC_ATEXIT_MAX: ::c_int = 76; pub const _SC_IOV_MAX: ::c_int = 77; pub const _SC_XOPEN_UNIX: ::c_int = 78; pub const _SC_T_IOV_MAX: ::c_int = 79; pub const _SC_PHYS_PAGES: ::c_int = 500; pub const _SC_AVPHYS_PAGES: ::c_int = 501; pub const _SC_COHER_BLKSZ: ::c_int = 503; pub const _SC_SPLIT_CACHE: ::c_int = 504; pub const _SC_ICACHE_SZ: ::c_int = 505; pub const _SC_DCACHE_SZ: ::c_int = 506; pub const _SC_ICACHE_LINESZ: ::c_int = 507; pub const _SC_DCACHE_LINESZ: ::c_int = 508; pub const _SC_ICACHE_BLKSZ: ::c_int = 509; pub const _SC_DCACHE_BLKSZ: ::c_int = 510; pub const _SC_DCACHE_TBLKSZ: ::c_int = 511; pub const _SC_ICACHE_ASSOC: ::c_int = 512; pub const _SC_DCACHE_ASSOC: ::c_int = 513; pub const _SC_MAXPID: ::c_int = 514; pub const _SC_STACK_PROT: ::c_int = 515; pub const _SC_NPROCESSORS_MAX: ::c_int = 516; pub const _SC_CPUID_MAX: ::c_int = 517; pub const _SC_EPHID_MAX: ::c_int = 518; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 568; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 569; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 570; pub const _SC_LOGIN_NAME_MAX: ::c_int = 571; pub const _SC_THREAD_KEYS_MAX: ::c_int = 572; pub const _SC_THREAD_STACK_MIN: ::c_int = 573; pub const _SC_THREAD_THREADS_MAX: ::c_int = 574; pub const _SC_TTY_NAME_MAX: ::c_int = 575; pub const _SC_THREADS: ::c_int = 576; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 577; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 578; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 579; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 580; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 581; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 582; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 583; pub const _SC_XOPEN_LEGACY: ::c_int = 717; pub const _SC_XOPEN_REALTIME: ::c_int = 718; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 719; pub const _SC_XBS5_ILP32_OFF32: ::c_int = 720; pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 721; pub const _SC_XBS5_LP64_OFF64: ::c_int = 722; pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 723; pub const _SC_2_PBS: ::c_int = 724; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 725; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 726; pub const _SC_2_PBS_LOCATE: ::c_int = 728; pub const _SC_2_PBS_MESSAGE: ::c_int = 729; pub const _SC_2_PBS_TRACK: ::c_int = 730; pub const _SC_ADVISORY_INFO: ::c_int = 731; pub const _SC_BARRIERS: ::c_int = 732; pub const _SC_CLOCK_SELECTION: ::c_int = 733; pub const _SC_CPUTIME: ::c_int = 734; pub const _SC_HOST_NAME_MAX: ::c_int = 735; pub const _SC_MONOTONIC_CLOCK: ::c_int = 736; pub const _SC_READER_WRITER_LOCKS: ::c_int = 737; pub const _SC_REGEXP: ::c_int = 738; pub const _SC_SHELL: ::c_int = 739; pub const _SC_SPAWN: ::c_int = 740; pub const _SC_SPIN_LOCKS: ::c_int = 741; pub const _SC_SPORADIC_SERVER: ::c_int = 742; pub const _SC_SS_REPL_MAX: ::c_int = 743; pub const _SC_SYMLOOP_MAX: ::c_int = 744; pub const _SC_THREAD_CPUTIME: ::c_int = 745; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 746; pub const _SC_TIMEOUTS: ::c_int = 747; pub const _SC_TRACE: ::c_int = 748; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 749; pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 750; pub const _SC_TRACE_INHERIT: ::c_int = 751; pub const _SC_TRACE_LOG: ::c_int = 752; pub const _SC_TRACE_NAME_MAX: ::c_int = 753; pub const _SC_TRACE_SYS_MAX: ::c_int = 754; pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 755; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 756; pub const _SC_V6_ILP32_OFF32: ::c_int = 757; pub const _SC_V6_ILP32_OFFBIG: ::c_int = 758; pub const _SC_V6_LP64_OFF64: ::c_int = 759; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 760; pub const _SC_XOPEN_STREAMS: ::c_int = 761; pub const _SC_IPV6: ::c_int = 762; pub const _SC_RAW_SOCKETS: ::c_int = 763; pub const _MUTEX_MAGIC: u16 = 0x4d58; // MX pub const _COND_MAGIC: u16 = 0x4356; // CV pub const _RWL_MAGIC: u16 = 0x5257; // RW pub const NCCS: usize = 19; pub const LOG_CRON: ::c_int = 15 << 3; pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { __pthread_mutex_flag1: 0, __pthread_mutex_flag2: 0, __pthread_mutex_ceiling: 0, __pthread_mutex_type: PTHREAD_PROCESS_PRIVATE, __pthread_mutex_magic: _MUTEX_MAGIC, __pthread_mutex_lock: 0, __pthread_mutex_data: 0, }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { __pthread_cond_flag: [0; 4], __pthread_cond_type: PTHREAD_PROCESS_PRIVATE, __pthread_cond_magic: _COND_MAGIC, __pthread_cond_data: 0, }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { __pthread_rwlock_readers: 0, __pthread_rwlock_type: PTHREAD_PROCESS_PRIVATE, __pthread_rwlock_magic: _RWL_MAGIC, __pthread_rwlock_mutex: PTHREAD_MUTEX_INITIALIZER, __pthread_rwlock_readercv: PTHREAD_COND_INITIALIZER, __pthread_rwlock_writercv: PTHREAD_COND_INITIALIZER, }; pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0; pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 2; pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 4; pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL; pub const RTLD_NEXT: *mut ::c_void = -1isize as *mut ::c_void; pub const RTLD_DEFAULT: *mut ::c_void = -2isize as *mut ::c_void; pub const RTLD_SELF: *mut ::c_void = -3isize as *mut ::c_void; pub const RTLD_PROBE: *mut ::c_void = -4isize as *mut ::c_void; pub const RTLD_LAZY: ::c_int = 0x1; pub const RTLD_NOW: ::c_int = 0x2; pub const RTLD_NOLOAD: ::c_int = 0x4; pub const RTLD_GLOBAL: ::c_int = 0x100; pub const RTLD_LOCAL: ::c_int = 0x0; pub const RTLD_PARENT: ::c_int = 0x200; pub const RTLD_GROUP: ::c_int = 0x400; pub const RTLD_WORLD: ::c_int = 0x800; pub const RTLD_NODELETE: ::c_int = 0x1000; pub const RTLD_FIRST: ::c_int = 0x2000; pub const RTLD_CONFGEN: ::c_int = 0x10000; pub const PORT_SOURCE_AIO: ::c_int = 1; pub const PORT_SOURCE_TIMER: ::c_int = 2; pub const PORT_SOURCE_USER: ::c_int = 3; pub const PORT_SOURCE_FD: ::c_int = 4; pub const PORT_SOURCE_ALERT: ::c_int = 5; pub const PORT_SOURCE_MQ: ::c_int = 6; pub const PORT_SOURCE_FILE: ::c_int = 7; pub const PORT_SOURCE_POSTWAIT: ::c_int = 8; pub const PORT_SOURCE_SIGNAL: ::c_int = 9; pub const NONROOT_USR: ::c_short = 2; pub const _UTX_USERSIZE: usize = 32; pub const _UTX_LINESIZE: usize = 32; pub const _UTX_PADSIZE: usize = 5; pub const _UTX_IDSIZE: usize = 4; pub const _UTX_HOSTSIZE: usize = 257; pub const EMPTY: ::c_short = 0; pub const RUN_LVL: ::c_short = 1; pub const BOOT_TIME: ::c_short = 2; pub const OLD_TIME: ::c_short = 3; pub const NEW_TIME: ::c_short = 4; pub const INIT_PROCESS: ::c_short = 5; pub const LOGIN_PROCESS: ::c_short = 6; pub const USER_PROCESS: ::c_short = 7; pub const DEAD_PROCESS: ::c_short = 8; pub const ACCOUNTING: ::c_short = 9; pub const DOWN_TIME: ::c_short = 10; const _TIOC: ::c_int = ('T' as i32) << 8; const tIOC: ::c_int = ('t' as i32) << 8; pub const TCGETA: ::c_int = (_TIOC | 1); pub const TCSETA: ::c_int = (_TIOC | 2); pub const TCSETAW: ::c_int = (_TIOC | 3); pub const TCSETAF: ::c_int = (_TIOC | 4); pub const TCSBRK: ::c_int = (_TIOC | 5); pub const TCXONC: ::c_int = (_TIOC | 6); pub const TCFLSH: ::c_int = (_TIOC | 7); pub const TCDSET: ::c_int = (_TIOC | 32); pub const TCGETS: ::c_int = (_TIOC | 13); pub const TCSETS: ::c_int = (_TIOC | 14); pub const TCSANOW: ::c_int = (_TIOC | 14); pub const TCSETSW: ::c_int = (_TIOC | 15); pub const TCSADRAIN: ::c_int = (_TIOC | 15); pub const TCSETSF: ::c_int = (_TIOC | 16); pub const TCSAFLUSH: ::c_int = (_TIOC | 16); pub const TCIFLUSH: ::c_int = 0; pub const TCOFLUSH: ::c_int = 1; pub const TCIOFLUSH: ::c_int = 2; pub const TCOOFF: ::c_int = 0; pub const TCOON: ::c_int = 1; pub const TCIOFF: ::c_int = 2; pub const TCION: ::c_int = 3; pub const TIOC: ::c_int = _TIOC; pub const TIOCKBON: ::c_int = (_TIOC | 8); pub const TIOCKBOF: ::c_int = (_TIOC | 9); pub const TIOCGWINSZ: ::c_int = (_TIOC | 104); pub const TIOCSWINSZ: ::c_int = (_TIOC | 103); pub const TIOCGSOFTCAR: ::c_int = (_TIOC | 105); pub const TIOCSSOFTCAR: ::c_int = (_TIOC | 106); pub const TIOCSETLD: ::c_int = (_TIOC | 123); pub const TIOCGETLD: ::c_int = (_TIOC | 124); pub const TIOCGPPS: ::c_int = (_TIOC | 125); pub const TIOCSPPS: ::c_int = (_TIOC | 126); pub const TIOCGPPSEV: ::c_int = (_TIOC | 127); pub const TIOCGETD: ::c_int = (tIOC | 0); pub const TIOCSETD: ::c_int = (tIOC | 1); pub const TIOCHPCL: ::c_int = (tIOC | 2); pub const TIOCGETP: ::c_int = (tIOC | 8); pub const TIOCSETP: ::c_int = (tIOC | 9); pub const TIOCSETN: ::c_int = (tIOC | 10); pub const TIOCEXCL: ::c_int = (tIOC | 13); pub const TIOCNXCL: ::c_int = (tIOC | 14); pub const TIOCFLUSH: ::c_int = (tIOC | 16); pub const TIOCSETC: ::c_int = (tIOC | 17); pub const TIOCGETC: ::c_int = (tIOC | 18); pub const TIOCLBIS: ::c_int = (tIOC | 127); pub const TIOCLBIC: ::c_int = (tIOC | 126); pub const TIOCLSET: ::c_int = (tIOC | 125); pub const TIOCLGET: ::c_int = (tIOC | 124); pub const TIOCSBRK: ::c_int = (tIOC | 123); pub const TIOCCBRK: ::c_int = (tIOC | 122); pub const TIOCSDTR: ::c_int = (tIOC | 121); pub const TIOCCDTR: ::c_int = (tIOC | 120); pub const TIOCSLTC: ::c_int = (tIOC | 117); pub const TIOCGLTC: ::c_int = (tIOC | 116); pub const TIOCOUTQ: ::c_int = (tIOC | 115); pub const TIOCNOTTY: ::c_int = (tIOC | 113); pub const TIOCSCTTY: ::c_int = (tIOC | 132); pub const TIOCSTOP: ::c_int = (tIOC | 111); pub const TIOCSTART: ::c_int = (tIOC | 110); pub const TIOCSILOOP: ::c_int = (tIOC | 109); pub const TIOCCILOOP: ::c_int = (tIOC | 108); pub const TIOCGPGRP: ::c_int = (tIOC | 20); pub const TIOCSPGRP: ::c_int = (tIOC | 21); pub const TIOCGSID: ::c_int = (tIOC | 22); pub const TIOCSTI: ::c_int = (tIOC | 23); pub const TIOCMSET: ::c_int = (tIOC | 26); pub const TIOCMBIS: ::c_int = (tIOC | 27); pub const TIOCMBIC: ::c_int = (tIOC | 28); pub const TIOCMGET: ::c_int = (tIOC | 29); pub const TIOCREMOTE: ::c_int = (tIOC | 30); pub const TIOCSIGNAL: ::c_int = (tIOC | 31); pub const EPOLLIN: ::c_int = 0x1; pub const EPOLLPRI: ::c_int = 0x2; pub const EPOLLOUT: ::c_int = 0x4; 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 EPOLLERR: ::c_int = 0x8; pub const EPOLLHUP: ::c_int = 0x10; pub const EPOLLET: ::c_int = 0x80000000; pub const EPOLLRDHUP: ::c_int = 0x2000; pub const EPOLLEXCLUSIVE: ::c_int = 0x10000000; pub const EPOLLONESHOT: ::c_int = 0x40000000; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EPOLL_CTL_ADD: ::c_int = 1; pub const EPOLL_CTL_MOD: ::c_int = 3; pub const EPOLL_CTL_DEL: ::c_int = 2; /* termios */ pub const B0: speed_t = 0; pub const B50: speed_t = 1; pub const B75: speed_t = 2; pub const B110: speed_t = 3; pub const B134: speed_t = 4; pub const B150: speed_t = 5; pub const B200: speed_t = 6; pub const B300: speed_t = 7; pub const B600: speed_t = 8; pub const B1200: speed_t = 9; pub const B1800: speed_t = 10; pub const B2400: speed_t = 11; pub const B4800: speed_t = 12; pub const B9600: speed_t = 13; pub const B19200: speed_t = 14; pub const B38400: speed_t = 15; pub const B57600: speed_t = 16; pub const B76800: speed_t = 17; pub const B115200: speed_t = 18; pub const B153600: speed_t = 19; pub const B230400: speed_t = 20; pub const B307200: speed_t = 21; pub const B460800: speed_t = 22; pub const B921600: speed_t = 23; pub const CSTART: ::tcflag_t = 021; pub const CSTOP: ::tcflag_t = 023; pub const CSWTCH: ::tcflag_t = 032; pub const CSIZE: ::tcflag_t = 0o000060; pub const CS5: ::tcflag_t = 0; pub const CS6: ::tcflag_t = 0o000020; pub const CS7: ::tcflag_t = 0o000040; pub const CS8: ::tcflag_t = 0o000060; pub const CSTOPB: ::tcflag_t = 0o000100; pub const ECHO: ::tcflag_t = 0o000010; pub const ECHOE: ::tcflag_t = 0o000020; pub const ECHOK: ::tcflag_t = 0o000040; pub const ECHONL: ::tcflag_t = 0o000100; pub const ECHOCTL: ::tcflag_t = 0o001000; pub const ECHOPRT: ::tcflag_t = 0o002000; pub const ECHOKE: ::tcflag_t = 0o004000; pub const EXTPROC: ::tcflag_t = 0o200000; pub const IGNBRK: ::tcflag_t = 0o000001; pub const BRKINT: ::tcflag_t = 0o000002; pub const IGNPAR: ::tcflag_t = 0o000004; pub const PARMRK: ::tcflag_t = 0o000010; pub const INPCK: ::tcflag_t = 0o000020; 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 IXON: ::tcflag_t = 0o002000; pub const IXOFF: ::tcflag_t = 0o010000; pub const IXANY: ::tcflag_t = 0o004000; pub const IMAXBEL: ::tcflag_t = 0o020000; pub const OPOST: ::tcflag_t = 0o000001; 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 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 CRTSCTS: ::tcflag_t = 0o20000000000; pub const ISIG: ::tcflag_t = 0o000001; pub const ICANON: ::tcflag_t = 0o000002; pub const IEXTEN: ::tcflag_t = 0o100000; pub const TOSTOP: ::tcflag_t = 0o000400; pub const FLUSHO: ::tcflag_t = 0o020000; pub const PENDIN: ::tcflag_t = 0o040000; pub const NOFLSH: ::tcflag_t = 0o000200; 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 VEOL: usize = 5; pub const VEOL2: usize = 6; pub const VMIN: usize = 4; pub const VTIME: usize = 5; pub const VSWTCH: usize = 7; pub const VSTART: usize = 8; pub const VSTOP: usize = 9; pub const VSUSP: usize = 10; pub const VDSUSP: usize = 11; pub const VREPRINT: usize = 12; pub const VDISCARD: usize = 13; pub const VWERASE: usize = 14; pub const VLNEXT: usize = 15; pub const VSTATUS: usize = 16; pub const VERASE2: usize = 17; // 3SOCKET flags pub const SOCK_CLOEXEC: ::c_int = 0x080000; pub const SOCK_NONBLOCK: ::c_int = 0x100000; pub const SOCK_NDELAY: ::c_int = 0x200000; f! { pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () { let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; let fd = fd as usize; (*set).fds_bits[fd / bits] &= !(1 << (fd % bits)); return } 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 } pub fn FD_SET(fd: ::c_int, set: *mut fd_set) -> () { let bits = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; let fd = fd as usize; (*set).fds_bits[fd / bits] |= 1 << (fd % bits); return } pub fn FD_ZERO(set: *mut fd_set) -> () { for slot in (*set).fds_bits.iter_mut() { *slot = 0; } } pub fn WIFEXITED(status: ::c_int) -> bool { (status & 0xFF) == 0 } pub fn WEXITSTATUS(status: ::c_int) -> ::c_int { (status >> 8) & 0xFF } pub fn WTERMSIG(status: ::c_int) -> ::c_int { status & 0x7F } pub fn WIFCONTINUED(status: ::c_int) -> bool { (status & 0xffff) == 0xffff } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { (status & 0xff00) >> 8 } pub fn WIFSIGNALED(status: ::c_int) -> bool { ((status & 0xff) > 0) && (status & 0xff00 == 0) } pub fn WIFSTOPPED(status: ::c_int) -> bool { ((status & 0xff) == 0x7f) && ((status & 0xff00) != 0) } pub fn WCOREDUMP(status: ::c_int) -> bool { (status & 0x80) != 0 } } extern "C" { pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::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 abs(i: ::c_int) -> ::c_int; pub fn acct(filename: *const ::c_char) -> ::c_int; pub fn atof(s: *const ::c_char) -> ::c_double; pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; pub fn labs(i: ::c_long) -> ::c_long; pub fn rand() -> ::c_int; pub fn srand(seed: ::c_uint); pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; pub fn settimeofday(tp: *const ::timeval, tz: *const ::c_void) -> ::c_int; pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int; pub fn freeifaddrs(ifa: *mut ::ifaddrs); pub fn stack_getbounds(sp: *mut ::stack_t) -> ::c_int; pub fn mincore( addr: *const ::c_void, len: ::size_t, vec: *mut c_char, ) -> ::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; pub fn mprotect( addr: *const ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn ___errno() -> *mut ::c_int; pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_nanosleep( clk_id: ::clockid_t, flags: ::c_int, rqtp: *const ::timespec, rmtp: *mut ::timespec, ) -> ::c_int; pub fn clock_settime( clk_id: ::clockid_t, tp: *const ::timespec, ) -> ::c_int; pub fn getnameinfo( sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::socklen_t, serv: *mut ::c_char, sevlen: ::socklen_t, flags: ::c_int, ) -> ::c_int; pub fn setpwent(); pub fn endpwent(); pub fn getpwent() -> *mut passwd; pub fn fdatasync(fd: ::c_int) -> ::c_int; pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char; pub fn duplocale(base: ::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 uselocale(loc: ::locale_t) -> ::locale_t; pub fn getprogname() -> *const ::c_char; pub fn setprogname(name: *const ::c_char); pub fn getloadavg(loadavg: *mut ::c_double, nelem: ::c_int) -> ::c_int; pub fn getpriority(which: ::c_int, who: ::c_int) -> ::c_int; pub fn setpriority(which: ::c_int, who: ::c_int, prio: ::c_int) -> ::c_int; pub fn mknodat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, dev: dev_t, ) -> ::c_int; pub fn mkfifoat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, ) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::c_int) -> ::c_int; pub fn if_nameindex() -> *mut if_nameindex; pub fn if_freenameindex(ptr: *mut if_nameindex); 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 pthread_condattr_getclock( attr: *const pthread_condattr_t, clock_id: *mut clockid_t, ) -> ::c_int; pub fn pthread_condattr_setclock( attr: *mut pthread_condattr_t, clock_id: ::clockid_t, ) -> ::c_int; pub fn sem_timedwait( sem: *mut sem_t, abstime: *const ::timespec, ) -> ::c_int; pub fn sem_getvalue(sem: *mut sem_t, sval: *mut ::c_int) -> ::c_int; pub fn pthread_mutex_timedlock( lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn waitid( idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int, ) -> ::c_int; pub fn glob( pattern: *const ::c_char, flags: ::c_int, errfunc: ::Option< extern "C" fn(epath: *const ::c_char, errno: ::c_int) -> ::c_int, >, pglob: *mut ::glob_t, ) -> ::c_int; pub fn globfree(pglob: *mut ::glob_t); pub fn posix_madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn shmat( shmid: ::c_int, shmaddr: *const ::c_void, shmflg: ::c_int, ) -> *mut ::c_void; pub fn shmctl( shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds, ) -> ::c_int; pub fn shmdt(shmaddr: *const ::c_void) -> ::c_int; pub fn shmget(key: key_t, size: ::size_t, shmflg: ::c_int) -> ::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; pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long); pub fn telldir(dirp: *mut ::DIR) -> ::c_long; pub fn madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn msync( addr: *mut ::c_void, len: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; pub fn recvfrom( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::ssize_t; pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int; pub fn futimesat( fd: ::c_int, path: *const ::c_char, times: *const ::timeval, ) -> ::c_int; pub fn futimens(dirfd: ::c_int, times: *const ::timespec) -> ::c_int; pub fn utimensat( dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int, ) -> ::c_int; pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char; #[cfg_attr(target_os = "illumos", link_name = "__xnet_bind")] pub fn bind( socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t, ) -> ::c_int; pub fn writev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn readv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; #[cfg_attr(target_os = "illumos", link_name = "__xnet_sendmsg")] pub fn sendmsg( fd: ::c_int, msg: *const ::msghdr, flags: ::c_int, ) -> ::ssize_t; #[cfg_attr(target_os = "illumos", link_name = "__xnet_recvmsg")] pub fn recvmsg( fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int, ) -> ::ssize_t; pub fn mq_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::mqd_t; pub fn mq_close(mqd: ::mqd_t) -> ::c_int; pub fn mq_unlink(name: *const ::c_char) -> ::c_int; pub fn mq_receive( mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msg_prio: *mut ::c_uint, ) -> ::ssize_t; pub fn mq_timedreceive( mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msg_prio: *mut ::c_uint, abs_timeout: *const ::timespec, ) -> ::ssize_t; pub fn mq_send( mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msg_prio: ::c_uint, ) -> ::c_int; pub fn mq_timedsend( mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msg_prio: ::c_uint, abs_timeout: *const ::timespec, ) -> ::c_int; pub fn mq_getattr(mqd: ::mqd_t, attr: *mut ::mq_attr) -> ::c_int; pub fn mq_setattr( mqd: ::mqd_t, newattr: *const ::mq_attr, oldattr: *mut ::mq_attr, ) -> ::c_int; pub fn port_create() -> ::c_int; pub fn port_associate( port: ::c_int, source: ::c_int, object: ::uintptr_t, events: ::c_int, user: *mut ::c_void, ) -> ::c_int; pub fn port_dissociate( port: ::c_int, source: ::c_int, object: ::uintptr_t, ) -> ::c_int; pub fn port_get( port: ::c_int, pe: *mut port_event, timeout: *mut ::timespec, ) -> ::c_int; pub fn port_getn( port: ::c_int, pe_list: *mut port_event, max: ::c_uint, nget: *mut ::c_uint, timeout: *mut ::timespec, ) -> ::c_int; pub fn fexecve( fd: ::c_int, argv: *const *const ::c_char, envp: *const *const ::c_char, ) -> ::c_int; #[cfg_attr( any(target_os = "solaris", target_os = "illumos"), link_name = "__posix_getgrgid_r" )] pub fn getgrgid_r( gid: ::gid_t, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::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; // The epoll functions are actually only present on illumos. However, // there are things using epoll on illumos (built using the // x86_64-sun-solaris target) which would break until the illumos target is // present in rustc. pub fn epoll_pwait( epfd: ::c_int, events: *mut ::epoll_event, maxevents: ::c_int, timeout: ::c_int, sigmask: *const ::sigset_t, ) -> ::c_int; pub fn epoll_create(size: ::c_int) -> ::c_int; pub fn epoll_create1(flags: ::c_int) -> ::c_int; pub fn epoll_wait( epfd: ::c_int, events: *mut ::epoll_event, maxevents: ::c_int, timeout: ::c_int, ) -> ::c_int; pub fn epoll_ctl( epfd: ::c_int, op: ::c_int, fd: ::c_int, event: *mut ::epoll_event, ) -> ::c_int; #[cfg_attr( any(target_os = "solaris", target_os = "illumos"), link_name = "__posix_getgrnam_r" )] pub fn getgrnam_r( name: *const ::c_char, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; 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 sem_unlink(name: *const ::c_char) -> ::c_int; pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; #[cfg_attr( any(target_os = "solaris", target_os = "illumos"), link_name = "__posix_getpwnam_r" )] pub fn getpwnam_r( name: *const ::c_char, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr( any(target_os = "solaris", target_os = "illumos"), link_name = "__posix_getpwuid_r" )] pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr( any(target_os = "solaris", target_os = "illumos"), link_name = "__posix_getpwent_r" )] pub fn getpwent_r( pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr( any(target_os = "solaris", target_os = "illumos"), link_name = "__posix_getgrent_r" )] pub fn getgrent_r( grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( any(target_os = "solaris", target_os = "illumos"), link_name = "__posix_sigwait" )] pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int; pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; pub fn getgrgid(gid: ::gid_t) -> *mut ::group; pub fn setgrent(); pub fn endgrent(); pub fn getgrent() -> *mut ::group; pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE; pub fn dup3(src: ::c_int, dst: ::c_int, flags: ::c_int) -> ::c_int; pub fn uname(buf: *mut ::utsname) -> ::c_int; pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int; pub fn door_call(d: ::c_int, params: *const door_arg_t) -> ::c_int; pub fn door_return( data_ptr: *const ::c_char, data_size: ::size_t, desc_ptr: *const door_desc_t, num_desc: ::c_uint, ); pub fn door_create( server_procedure: extern "C" fn( cookie: *const ::c_void, argp: *const ::c_char, arg_size: ::size_t, dp: *const door_desc_t, n_desc: ::c_uint, ), cookie: *const ::c_void, attributes: door_attr_t, ) -> ::c_int; pub fn fattach(fildes: ::c_int, path: *const ::c_char) -> ::c_int; pub fn makeutx(ux: *const utmpx) -> *mut utmpx; pub fn modutx(ux: *const utmpx) -> *mut utmpx; pub fn updwtmpx(file: *const ::c_char, ut: *const utmpx) -> ::c_int; pub fn utmpxname(file: *const ::c_char) -> ::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 endutent(); pub fn getutent() -> *mut utmp; pub fn getutid(u: *const utmp) -> *mut utmp; pub fn getutline(u: *const utmp) -> *mut utmp; pub fn pututline(u: *const utmp) -> *mut utmp; pub fn setutent(); pub fn utmpname(file: *const ::c_char) -> ::c_int; pub fn getutmp(ux: *const utmpx, u: *mut utmp); pub fn getutmpx(u: *const utmp, ux: *mut utmpx); pub fn updwtmp(file: *const ::c_char, u: *mut utmp); } mod compat; pub use self::compat::*; libc-0.2.66/src/unix/uclibc/align.rs010064400007650000024000000052111353775267200154300ustar0000000000000000macro_rules! expand_align { () => { s! { #[cfg_attr(any(target_pointer_width = "32", target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64"), repr(align(4)))] #[cfg_attr(not(any(target_pointer_width = "32", target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64")), repr(align(8)))] pub struct pthread_mutexattr_t { size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } #[repr(align(4))] pub struct pthread_condattr_t { size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } s_no_extra_traits! { #[repr(align(8))] #[allow(missing_debug_implementations)] pub struct pthread_cond_t { size: [u8; ::__SIZEOF_PTHREAD_COND_T], } #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")), repr(align(4)))] #[cfg_attr(any(target_pointer_width = "64", not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))), repr(align(8)))] #[allow(missing_debug_implementations)] pub struct pthread_mutex_t { size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")), repr(align(4)))] #[cfg_attr(any(target_pointer_width = "64", not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))), repr(align(8)))] #[allow(missing_debug_implementations)] pub struct pthread_rwlock_t { size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } } }; } libc-0.2.66/src/unix/uclibc/arm/align.rs010064400007650000024000000005721353453276600162110ustar0000000000000000s! { // FIXME this is actually a union #[cfg_attr(target_pointer_width = "32", repr(align(4)))] #[cfg_attr(target_pointer_width = "64", repr(align(8)))] pub struct sem_t { #[cfg(target_pointer_width = "32")] __size: [::c_char; 16], #[cfg(target_pointer_width = "64")] __size: [::c_char; 32], } } libc-0.2.66/src/unix/uclibc/arm/mod.rs010064400007650000024000001123221355206162000156550ustar0000000000000000pub type c_char = u8; pub type wchar_t = ::c_uint; pub type c_long = i32; pub type c_ulong = u32; pub type time_t = ::c_long; pub type clock_t = ::c_long; pub type fsblkcnt_t = ::c_ulong; pub type fsfilcnt_t = ::c_ulong; pub type ino_t = ::c_ulong; pub type off_t = ::c_long; pub type pthread_t = ::c_ulong; pub type rlim_t = ::c_ulong; pub type suseconds_t = ::c_long; pub type nlink_t = ::c_uint; pub type blksize_t = ::c_long; pub type blkcnt_t = ::c_long; s! { pub struct cmsghdr { pub cmsg_len: ::size_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::c_int, pub msg_control: *mut ::c_void, pub msg_controllen: ::socklen_t, pub msg_flags: ::c_int, } pub struct pthread_attr_t { __size: [::c_long; 9], } pub struct stat { pub st_dev: ::c_ulonglong, 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, pub __pad2: ::c_ushort, pub st_size: ::off_t, pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, pub st_atime: ::time_t, pub st_atime_nsec: ::c_ulong, pub st_mtime: ::time_t, pub st_mtime_nsec: ::c_ulong, pub st_ctime: ::time_t, pub st_ctime_nsec: ::c_ulong, pub __unused4: ::c_ulong, pub __unused5: ::c_ulong, } pub struct stat64 { pub st_dev: ::c_ulonglong, pub __pad1: ::c_uint, 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, pub __pad2: ::c_uint, 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 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 statfs { pub f_type: ::c_int, pub f_bsize: ::c_int, 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_int, pub f_frsize: ::c_int, pub f_spare: [::c_int; 5], } pub struct sigset_t { __val: [::c_ulong; 2], } pub struct sigaction { pub sa_sigaction: ::sighandler_t, // uClibc defines sa_flags as `unsigned long int`, // but nix crate expects `int` pub sa_flags: ::c_int, pub sa_restorer: *mut ::c_void, pub sa_mask: sigset_t, } pub struct termios { 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; ::NCCS], pub c_ispeed: ::speed_t, pub c_ospeed: ::speed_t, } pub struct siginfo_t { pub si_signo: ::c_int, pub si_errno: ::c_int, pub si_code: ::c_int, pub _pad: [::c_int; 29], } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t, } 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, pub __pad1: ::c_ushort, pub __seq: ::c_ushort, pub __pad2: ::c_ushort, pub __unused1: ::c_ulong, pub __unused2: ::c_ulong, } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, pub __unused1: ::c_ulong, pub msg_rtime: ::time_t, pub __unused2: ::c_ulong, pub msg_ctime: ::time_t, pub __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, pub __unused4: ::c_ulong, pub __unused5: ::c_ulong, } pub struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_segsz: ::size_t, pub shm_atime: ::time_t, pub __unused1: ::c_ulong, pub shm_dtime: ::time_t, pub __unused2: ::c_ulong, pub shm_ctime: ::time_t, pub __unused3: ::c_ulong, pub shm_cpid: ::pid_t, pub shm_lpid: ::pid_t, pub shm_nattch: ::shmatt_t, pub __unused4: ::c_ulong, pub __unused5: ::c_ulong, } pub struct ucred { pub pid: ::pid_t, pub uid: ::uid_t, pub gid: ::gid_t, } } pub const O_CLOEXEC: ::c_int = 0o2000000; pub const RLIM_INFINITY: rlim_t = !0; pub const __SIZEOF_PTHREAD_ATTR_T: usize = 36; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 24; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_COND_COMPAT_T: usize = 12; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8; pub const __SIZEOF_PTHREAD_BARRIER_T: usize = 20; pub const __SIZEOF_PTHREAD_BARRIERATTR_T: usize = 4; pub const NCCS: usize = 32; // I wasn't able to find those constants // in uclibc build environment for armv7 pub const AIO_ALLDONE: ::c_int = 2; // from linux/mod.rs pub const AIO_CANCELED: ::c_int = 0; // from linux/mod.rs pub const AIO_NOTCANCELED: ::c_int = 1; // from linux/mod.rs pub const CLONE_NEWCGROUP: ::c_int = 0x02000000; // from linux/mod.rs pub const EPOLLEXCLUSIVE: ::c_int = 0x10000000; // from linux/mod.rs pub const EPOLLWAKEUP: ::c_int = 0x20000000; // from linux/other/mod.rs pub const EXTPROC: ::tcflag_t = 0o200000; // from asm-generic/termbits.h pub const F_GETPIPE_SZ: ::c_int = 1032; // from linux_like/mod.rs pub const F_SETPIPE_SZ: ::c_int = 1031; // from linux_like/mod.rs pub const LIO_NOP: ::c_int = 2; // from linux/mod.rs pub const LIO_NOWAIT: ::c_int = 1; // from linux/mod.rs pub const LIO_READ: ::c_int = 0; // from linux/mod.rs pub const LIO_WAIT: ::c_int = 0; // from linux/mod.rs pub const LIO_WRITE: ::c_int = 1; // from linux/mod.rs pub const MAP_HUGETLB: ::c_int = 0x040000; // from linux/other/mod.rs pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY; pub const RB_KEXEC: ::c_int = 0x45584543u32 as i32; // from linux/mod.rs pub const RB_SW_SUSPEND: ::c_int = 0xd000fce2u32 as i32; // from linux/mod.rs pub const SO_BUSY_POLL: ::c_int = 46; // from src/unix/linux_like/mod.rs pub const SO_PEEK_OFF: ::c_int = 42; // from src/unix/linux_like/mod.rs pub const SO_REUSEPORT: ::c_int = 15; // from src/unix/linux_like/mod.rs pub const SOL_NETLINK: ::c_int = 270; // from src/unix/linux_like/mod.rs pub const _POSIX_VDISABLE: ::cc_t = 0; // from linux/mod.rs pub const AT_EMPTY_PATH: ::c_int = 0x1000; // from linux_like/mod.rs // autogenerated constants with hand tuned types pub const AT_NO_AUTOMOUNT: ::c_int = 0x800; pub const B0: ::speed_t = 0; pub const B1000000: ::speed_t = 0x1008; pub const B110: ::speed_t = 0x3; pub const B115200: ::speed_t = 0x1002; pub const B1152000: ::speed_t = 0x1009; pub const B1200: ::speed_t = 0x9; pub const B134: ::speed_t = 0x4; pub const B150: ::speed_t = 0x5; pub const B1500000: ::speed_t = 0x100a; pub const B1800: ::speed_t = 0xa; pub const B19200: ::speed_t = 0xe; pub const B200: ::speed_t = 0x6; pub const B2000000: ::speed_t = 0x100b; pub const B230400: ::speed_t = 0x1003; pub const B2400: ::speed_t = 0xb; pub const B2500000: ::speed_t = 0x100c; pub const B300: ::speed_t = 0x7; pub const B3000000: ::speed_t = 0x100d; pub const B3500000: ::speed_t = 0x100e; pub const B38400: ::speed_t = 0xf; pub const B4000000: ::speed_t = 0x100f; pub const B460800: ::speed_t = 0x1004; pub const B4800: ::speed_t = 0xc; pub const B50: ::speed_t = 0x1; pub const B500000: ::speed_t = 0x1005; pub const B57600: ::speed_t = 0x1001; pub const B576000: ::speed_t = 0x1006; pub const B600: ::speed_t = 0x8; pub const B75: ::speed_t = 0x2; pub const B921600: ::speed_t = 0x1007; pub const B9600: ::speed_t = 0xd; pub const BS1: ::c_int = 0x2000; pub const BSDLY: ::c_int = 0x2000; pub const CBAUD: ::tcflag_t = 0x100f; pub const CBAUDEX: ::tcflag_t = 0x1000; pub const CIBAUD: ::tcflag_t = 0x100f0000; pub const CLOCAL: ::tcflag_t = 0x800; pub const CMSPAR: ::tcflag_t = 0x40000000; pub const CPU_SETSIZE: ::c_int = 0x400; pub const CR1: ::c_int = 0x200; pub const CR2: ::c_int = 0x400; pub const CR3: ::c_int = 0x600; pub const CRDLY: ::c_int = 0x600; pub const CREAD: ::tcflag_t = 0x80; pub const CS6: ::tcflag_t = 0x10; pub const CS7: ::tcflag_t = 0x20; pub const CS8: ::tcflag_t = 0x30; pub const CSIZE: ::tcflag_t = 0x30; pub const CSTOPB: ::tcflag_t = 0x40; pub const EADDRINUSE: ::c_int = 0x62; pub const EADDRNOTAVAIL: ::c_int = 0x63; pub const EADV: ::c_int = 0x44; pub const EAFNOSUPPORT: ::c_int = 0x61; pub const EALREADY: ::c_int = 0x72; pub const EBADE: ::c_int = 0x34; pub const EBADFD: ::c_int = 0x4d; pub const EBADMSG: ::c_int = 0x4a; pub const EBADR: ::c_int = 0x35; pub const EBADRQC: ::c_int = 0x38; pub const EBADSLT: ::c_int = 0x39; pub const EBFONT: ::c_int = 0x3b; pub const ECANCELED: ::c_int = 0x7d; pub const ECHOCTL: ::tcflag_t = 0x200; pub const ECHOE: ::tcflag_t = 0x10; pub const ECHOK: ::tcflag_t = 0x20; pub const ECHOKE: ::tcflag_t = 0x800; pub const ECHONL: ::tcflag_t = 0x40; pub const ECHOPRT: ::tcflag_t = 0x400; pub const ECHRNG: ::c_int = 0x2c; pub const ECOMM: ::c_int = 0x46; pub const ECONNABORTED: ::c_int = 0x67; pub const ECONNREFUSED: ::c_int = 0x6f; pub const ECONNRESET: ::c_int = 0x68; pub const EDEADLK: ::c_int = 0x23; pub const EDESTADDRREQ: ::c_int = 0x59; pub const EDOTDOT: ::c_int = 0x49; pub const EDQUOT: ::c_int = 0x7a; pub const EFD_CLOEXEC: ::c_int = 0x80000; pub const EFD_NONBLOCK: ::c_int = 0x800; pub const EHOSTDOWN: ::c_int = 0x70; pub const EHOSTUNREACH: ::c_int = 0x71; pub const EHWPOISON: ::c_int = 0x85; pub const EIDRM: ::c_int = 0x2b; pub const EILSEQ: ::c_int = 0x54; pub const EINPROGRESS: ::c_int = 0x73; pub const EISCONN: ::c_int = 0x6a; pub const EISNAM: ::c_int = 0x78; pub const EKEYEXPIRED: ::c_int = 0x7f; pub const EKEYREJECTED: ::c_int = 0x81; pub const EKEYREVOKED: ::c_int = 0x80; pub const EL2HLT: ::c_int = 0x33; pub const EL2NSYNC: ::c_int = 0x2d; pub const EL3HLT: ::c_int = 0x2e; pub const EL3RST: ::c_int = 0x2f; pub const ELIBACC: ::c_int = 0x4f; pub const ELIBBAD: ::c_int = 0x50; pub const ELIBEXEC: ::c_int = 0x53; pub const ELIBMAX: ::c_int = 0x52; pub const ELIBSCN: ::c_int = 0x51; pub const ELNRNG: ::c_int = 0x30; pub const ELOOP: ::c_int = 0x28; pub const EMEDIUMTYPE: ::c_int = 0x7c; pub const EMSGSIZE: ::c_int = 0x5a; pub const EMULTIHOP: ::c_int = 0x48; pub const ENAMETOOLONG: ::c_int = 0x24; pub const ENAVAIL: ::c_int = 0x77; pub const ENETDOWN: ::c_int = 0x64; pub const ENETRESET: ::c_int = 0x66; pub const ENETUNREACH: ::c_int = 0x65; pub const ENOANO: ::c_int = 0x37; pub const ENOBUFS: ::c_int = 0x69; pub const ENOCSI: ::c_int = 0x32; pub const ENODATA: ::c_int = 0x3d; pub const ENOKEY: ::c_int = 0x7e; pub const ENOLCK: ::c_int = 0x25; pub const ENOLINK: ::c_int = 0x43; pub const ENOMEDIUM: ::c_int = 0x7b; pub const ENOMSG: ::c_int = 0x2a; pub const ENONET: ::c_int = 0x40; pub const ENOPKG: ::c_int = 0x41; pub const ENOPROTOOPT: ::c_int = 0x5c; pub const ENOSR: ::c_int = 0x3f; pub const ENOSTR: ::c_int = 0x3c; pub const ENOSYS: ::c_int = 0x26; pub const ENOTCONN: ::c_int = 0x6b; pub const ENOTEMPTY: ::c_int = 0x27; pub const ENOTNAM: ::c_int = 0x76; pub const ENOTRECOVERABLE: ::c_int = 0x83; pub const ENOTSOCK: ::c_int = 0x58; pub const ENOTUNIQ: ::c_int = 0x4c; pub const EOPNOTSUPP: ::c_int = 0x5f; pub const EOVERFLOW: ::c_int = 0x4b; pub const EOWNERDEAD: ::c_int = 0x82; pub const EPFNOSUPPORT: ::c_int = 0x60; pub const EPOLL_CLOEXEC: ::c_int = 0x80000; pub const EPROTO: ::c_int = 0x47; pub const EPROTONOSUPPORT: ::c_int = 0x5d; pub const EPROTOTYPE: ::c_int = 0x5b; pub const EREMCHG: ::c_int = 0x4e; pub const EREMOTE: ::c_int = 0x42; pub const EREMOTEIO: ::c_int = 0x79; pub const ERESTART: ::c_int = 0x55; pub const ERFKILL: ::c_int = 0x84; pub const ESHUTDOWN: ::c_int = 0x6c; pub const ESOCKTNOSUPPORT: ::c_int = 0x5e; pub const ESRMNT: ::c_int = 0x45; pub const ESTALE: ::c_int = 0x74; pub const ESTRPIPE: ::c_int = 0x56; pub const ETIME: ::c_int = 0x3e; pub const ETIMEDOUT: ::c_int = 0x6e; pub const ETOOMANYREFS: ::c_int = 0x6d; pub const EUCLEAN: ::c_int = 0x75; pub const EUNATCH: ::c_int = 0x31; 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; pub const F_SETLKW: ::c_int = 0x7; pub const HUPCL: ::tcflag_t = 0x400; pub const ICANON: ::tcflag_t = 0x2; pub const IEXTEN: ::tcflag_t = 0x8000; pub const ISIG: ::tcflag_t = 0x1; pub const IUTF8: ::tcflag_t = 0x4000; pub const IXOFF: ::tcflag_t = 0x1000; pub const IXON: ::tcflag_t = 0x400; pub const MAP_ANON: ::c_int = 0x20; pub const MAP_ANONYMOUS: ::c_int = 0x20; pub const MAP_DENYWRITE: ::c_int = 0x800; pub const MAP_EXECUTABLE: ::c_int = 0x1000; pub const MAP_GROWSDOWN: ::c_int = 0x100; pub const MAP_LOCKED: ::c_int = 0x2000; pub const MAP_NONBLOCK: ::c_int = 0x10000; pub const MAP_NORESERVE: ::c_int = 0x4000; pub const MAP_POPULATE: ::c_int = 0x8000; pub const MAP_STACK: ::c_int = 0x20000; pub const MS_ACTIVE: u32 = 0x40000000; pub const MS_DIRSYNC: u32 = 0x80; pub const MS_I_VERSION: u32 = 0x800000; pub const MS_KERNMOUNT: u32 = 0x400000; pub const MS_MOVE: u32 = 0x2000; pub const MS_POSIXACL: u32 = 0x10000; pub const MS_PRIVATE: u32 = 0x40000; pub const MS_REC: u32 = 0x4000; pub const MS_RELATIME: u32 = 0x200000; pub const MS_SHARED: u32 = 0x100000; pub const MS_SILENT: u32 = 0x8000; pub const MS_SLAVE: u32 = 0x80000; pub const MS_STRICTATIME: u32 = 0x1000000; pub const MS_UNBINDABLE: u32 = 0x20000; pub const NLDLY: ::tcflag_t = 0x100; pub const NOFLSH: ::tcflag_t = 0x80; pub const OCRNL: ::c_int = 0x8; pub const OFDEL: ::c_int = 0x80; pub const OFILL: ::c_int = 0x40; pub const OLCUC: ::tcflag_t = 0x2; pub const ONLCR: ::tcflag_t = 0x4; pub const ONLRET: ::tcflag_t = 0x20; pub const ONOCR: ::tcflag_t = 0x10; pub const O_ACCMODE: ::c_int = 0x3; pub const O_APPEND: ::c_int = 0x400; pub const O_CREAT: ::c_int = 0x40; pub const O_DIRECT: ::c_int = 0x10000; pub const O_DIRECTORY: ::c_int = 0x4000; pub const O_DSYNC: ::c_int = 0x1000; pub const O_EXCL: ::c_int = 0x80; pub const O_NDELAY: ::c_int = 0x800; pub const O_NOCTTY: ::c_int = 0x100; pub const O_NOFOLLOW: ::c_int = 0x8000; pub const O_NONBLOCK: ::c_int = 0x800; pub const O_SYNC: ::c_int = 0o10000; pub const O_TRUNC: ::c_int = 0x200; pub const PARENB: ::tcflag_t = 0x100; pub const PARODD: ::tcflag_t = 0x200; pub const PENDIN: ::tcflag_t = 0x4000; pub const POLLRDBAND: ::c_short = 0x80; pub const POLLRDNORM: ::c_short = 0x40; pub const POLLWRBAND: ::c_short = 0x200; pub const POLLWRNORM: ::c_short = 0x100; pub const PTHREAD_STACK_MIN: ::size_t = 16384; pub const QIF_ALL: u32 = 0x3f; pub const QIF_BLIMITS: u32 = 0x1; pub const QIF_BTIME: u32 = 0x10; pub const QIF_ILIMITS: u32 = 0x4; pub const QIF_INODES: u32 = 0x8; pub const QIF_ITIME: u32 = 0x20; pub const QIF_LIMITS: u32 = 0x5; pub const QIF_SPACE: u32 = 0x2; pub const QIF_TIMES: u32 = 0x30; pub const QIF_USAGE: u32 = 0xa; pub const SA_NOCLDSTOP: ::c_int = 0x1; pub const SA_NOCLDWAIT: ::c_int = 0x2; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_ONSTACK: ::c_int = 0x8000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_SIGINFO: ::c_int = 0x4; pub const SFD_CLOEXEC: ::c_int = 0x80000; pub const SFD_NONBLOCK: ::c_int = 0x800; pub const SIGBUS: ::c_int = 0x7; pub const SIGCHLD: ::c_int = 0x11; pub const SIGCONT: ::c_int = 0x12; pub const SIGIO: ::c_int = 0x1d; pub const SIGPROF: ::c_int = 0x1b; pub const SIGPWR: ::c_int = 0x1e; pub const SIGSTKFLT: ::c_int = 0x10; pub const SIGSTKSZ: ::size_t = 8192; pub const SIGSTOP: ::c_int = 0x13; pub const SIGSYS: ::c_int = 0x1f; pub const SIGTSTP: ::c_int = 0x14; pub const SIGTTIN: ::c_int = 0x15; pub const SIGTTOU: ::c_int = 0x16; pub const SIGURG: ::c_int = 0x17; pub const SIGUSR1: ::c_int = 0xa; pub const SIGUSR2: ::c_int = 0xc; pub const SIGVTALRM: ::c_int = 0x1a; pub const SIGWINCH: ::c_int = 0x1c; pub const SIGXCPU: ::c_int = 0x18; pub const SIGXFSZ: ::c_int = 0x19; pub const SIG_BLOCK: ::c_int = 0; pub const SIG_SETMASK: ::c_int = 0x2; pub const SIG_UNBLOCK: ::c_int = 0x1; pub const SOCK_DGRAM: ::c_int = 0x2; pub const SOCK_NONBLOCK: ::c_int = 0o0004000; pub const SOCK_SEQPACKET: ::c_int = 0x5; pub const SOCK_STREAM: ::c_int = 0x1; pub const SOL_SOCKET: ::c_int = 0x1; pub const SO_ACCEPTCONN: ::c_int = 0x1e; pub const SO_BINDTODEVICE: ::c_int = 0x19; pub const SO_BROADCAST: ::c_int = 0x6; pub const SO_BSDCOMPAT: ::c_int = 0xe; pub const SO_DOMAIN: ::c_int = 0x27; pub const SO_DONTROUTE: ::c_int = 0x5; pub const SO_ERROR: ::c_int = 0x4; pub const SO_KEEPALIVE: ::c_int = 0x9; pub const SO_LINGER: ::c_int = 0xd; pub const SO_MARK: ::c_int = 0x24; pub const SO_OOBINLINE: ::c_int = 0xa; pub const SO_PASSCRED: ::c_int = 0x10; pub const SO_PEERCRED: ::c_int = 0x11; pub const SO_PRIORITY: ::c_int = 0xc; pub const SO_PROTOCOL: ::c_int = 0x26; pub const SO_RCVBUF: ::c_int = 0x8; pub const SO_RCVLOWAT: ::c_int = 0x12; pub const SO_RCVTIMEO: ::c_int = 0x14; pub const SO_REUSEADDR: ::c_int = 0x2; pub const SO_RXQ_OVFL: ::c_int = 0x28; pub const SO_SNDBUF: ::c_int = 0x7; pub const SO_SNDBUFFORCE: ::c_int = 0x20; pub const SO_SNDLOWAT: ::c_int = 0x13; pub const SO_SNDTIMEO: ::c_int = 0x15; pub const SO_TIMESTAMP: ::c_int = 0x1d; pub const SO_TYPE: ::c_int = 0x3; pub const TAB1: ::c_int = 0x800; pub const TAB2: ::c_int = 0x1000; pub const TAB3: ::c_int = 0x1800; pub const TABDLY: ::c_int = 0x1800; pub const TCSADRAIN: ::c_int = 0x1; pub const TCSAFLUSH: ::c_int = 0x2; pub const TCSANOW: ::c_int = 0; pub const TOSTOP: ::tcflag_t = 0x100; pub const VDISCARD: usize = 0xd; pub const VEOF: usize = 0x4; pub const VEOL: usize = 0xb; pub const VEOL2: usize = 0x10; pub const VMIN: usize = 0x6; pub const VREPRINT: usize = 0xc; pub const VSTART: usize = 0x8; pub const VSTOP: usize = 0x9; pub const VSUSP: usize = 0xa; pub const VSWTC: usize = 0x7; pub const VT1: ::c_int = 0x4000; pub const VTDLY: ::c_int = 0x4000; pub const VTIME: usize = 0x5; pub const VWERASE: usize = 0xe; pub const XTABS: ::tcflag_t = 0x1800; pub const _PC_2_SYMLINKS: ::c_int = 0x14; pub const _PC_ALLOC_SIZE_MIN: ::c_int = 0x12; pub const _PC_ASYNC_IO: ::c_int = 0xa; pub const _PC_FILESIZEBITS: ::c_int = 0xd; pub const _PC_PRIO_IO: ::c_int = 0xb; pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 0xe; pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 0xf; pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 0x10; pub const _PC_REC_XFER_ALIGN: ::c_int = 0x11; pub const _PC_SYMLINK_MAX: ::c_int = 0x13; pub const _PC_SYNC_IO: ::c_int = 0x9; pub const _SC_2_PBS: ::c_int = 0xa8; pub const _SC_2_PBS_ACCOUNTING: ::c_int = 0xa9; pub const _SC_2_PBS_CHECKPOINT: ::c_int = 0xaf; pub const _SC_2_PBS_LOCATE: ::c_int = 0xaa; pub const _SC_2_PBS_MESSAGE: ::c_int = 0xab; pub const _SC_2_PBS_TRACK: ::c_int = 0xac; pub const _SC_ADVISORY_INFO: ::c_int = 0x84; pub const _SC_BARRIERS: ::c_int = 0x85; pub const _SC_CLOCK_SELECTION: ::c_int = 0x89; pub const _SC_CPUTIME: ::c_int = 0x8a; pub const _SC_IPV6: ::c_int = 0xeb; pub const _SC_MONOTONIC_CLOCK: ::c_int = 0x95; pub const _SC_RAW_SOCKETS: ::c_int = 0xec; pub const _SC_READER_WRITER_LOCKS: ::c_int = 0x99; pub const _SC_REGEXP: ::c_int = 0x9b; pub const _SC_SHELL: ::c_int = 0x9d; pub const _SC_SPAWN: ::c_int = 0x9f; pub const _SC_SPIN_LOCKS: ::c_int = 0x9a; pub const _SC_SPORADIC_SERVER: ::c_int = 0xa0; pub const _SC_SS_REPL_MAX: ::c_int = 0xf1; pub const _SC_SYMLOOP_MAX: ::c_int = 0xad; pub const _SC_THREAD_CPUTIME: ::c_int = 0x8b; pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 0x52; pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 0xf7; pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 0xf8; pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 0xa1; pub const _SC_TIMEOUTS: ::c_int = 0xa4; pub const _SC_TRACE: ::c_int = 0xb5; pub const _SC_TRACE_EVENT_FILTER: ::c_int = 0xb6; pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 0xf2; pub const _SC_TRACE_INHERIT: ::c_int = 0xb7; pub const _SC_TRACE_LOG: ::c_int = 0xb8; pub const _SC_TRACE_NAME_MAX: ::c_int = 0xf3; pub const _SC_TRACE_SYS_MAX: ::c_int = 0xf4; pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 0xf5; pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 0xa5; pub const _SC_V6_ILP32_OFF32: ::c_int = 0xb0; pub const _SC_V6_ILP32_OFFBIG: ::c_int = 0xb1; pub const _SC_V6_LP64_OFF64: ::c_int = 0xb2; pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 0xb3; pub const _SC_XOPEN_STREAMS: ::c_int = 0xf6; // Syscall table is copied from src/unix/notbsd/linux/musl/b32/arm.rs 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_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_mknod: ::c_long = 14; pub const SYS_chmod: ::c_long = 15; pub const SYS_lchown: ::c_long = 16; pub const SYS_lseek: ::c_long = 19; pub const SYS_getpid: ::c_long = 20; pub const SYS_mount: ::c_long = 21; pub const SYS_setuid: ::c_long = 23; pub const SYS_getuid: ::c_long = 24; pub const SYS_ptrace: ::c_long = 26; pub const SYS_pause: ::c_long = 29; 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_setgid: ::c_long = 46; pub const SYS_getgid: ::c_long = 47; pub const SYS_geteuid: ::c_long = 49; pub const SYS_getegid: ::c_long = 50; pub const SYS_acct: ::c_long = 51; pub const SYS_umount2: ::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_setreuid: ::c_long = 70; pub const SYS_setregid: ::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_getrusage: ::c_long = 77; pub const SYS_gettimeofday: ::c_long = 78; pub const SYS_settimeofday: ::c_long = 79; pub const SYS_getgroups: ::c_long = 80; pub const SYS_setgroups: ::c_long = 81; pub const SYS_symlink: ::c_long = 83; 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_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_fchown: ::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_syslog: ::c_long = 103; pub const SYS_setitimer: ::c_long = 104; pub const SYS_getitimer: ::c_long = 105; pub const SYS_stat: ::c_long = 106; pub const SYS_lstat: ::c_long = 107; pub const SYS_fstat: ::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_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_uname: ::c_long = 122; pub const SYS_adjtimex: ::c_long = 124; pub const SYS_mprotect: ::c_long = 125; pub const SYS_sigprocmask: ::c_long = 126; pub const SYS_init_module: ::c_long = 128; pub const SYS_delete_module: ::c_long = 129; 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_setfsuid: ::c_long = 138; pub const SYS_setfsgid: ::c_long = 139; pub const SYS__llseek: ::c_long = 140; pub const SYS_getdents: ::c_long = 141; pub const SYS__newselect: ::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: ::c_long = 161; pub const SYS_nanosleep: ::c_long = 162; pub const SYS_mremap: ::c_long = 163; pub const SYS_setresuid: ::c_long = 164; pub const SYS_getresuid: ::c_long = 165; pub const SYS_poll: ::c_long = 168; pub const SYS_nfsservctl: ::c_long = 169; pub const SYS_setresgid: ::c_long = 170; pub const SYS_getresgid: ::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: ::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_chown: ::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_vfork: ::c_long = 190; pub const SYS_ugetrlimit: ::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_lchown32: ::c_long = 198; pub const SYS_getuid32: ::c_long = 199; pub const SYS_getgid32: ::c_long = 200; pub const SYS_geteuid32: ::c_long = 201; pub const SYS_getegid32: ::c_long = 202; pub const SYS_setreuid32: ::c_long = 203; pub const SYS_setregid32: ::c_long = 204; pub const SYS_getgroups32: ::c_long = 205; pub const SYS_setgroups32: ::c_long = 206; pub const SYS_fchown32: ::c_long = 207; pub const SYS_setresuid32: ::c_long = 208; pub const SYS_getresuid32: ::c_long = 209; pub const SYS_setresgid32: ::c_long = 210; pub const SYS_getresgid32: ::c_long = 211; pub const SYS_chown32: ::c_long = 212; pub const SYS_setuid32: ::c_long = 213; pub const SYS_setgid32: ::c_long = 214; pub const SYS_setfsuid32: ::c_long = 215; pub const SYS_setfsgid32: ::c_long = 216; pub const SYS_getdents64: ::c_long = 217; pub const SYS_pivot_root: ::c_long = 218; pub const SYS_mincore: ::c_long = 219; pub const SYS_madvise: ::c_long = 220; pub const SYS_fcntl64: ::c_long = 221; pub const SYS_gettid: ::c_long = 224; pub const SYS_readahead: ::c_long = 225; pub const SYS_setxattr: ::c_long = 226; pub const SYS_lsetxattr: ::c_long = 227; pub const SYS_fsetxattr: ::c_long = 228; pub const SYS_getxattr: ::c_long = 229; pub const SYS_lgetxattr: ::c_long = 230; pub const SYS_fgetxattr: ::c_long = 231; pub const SYS_listxattr: ::c_long = 232; pub const SYS_llistxattr: ::c_long = 233; pub const SYS_flistxattr: ::c_long = 234; pub const SYS_removexattr: ::c_long = 235; pub const SYS_lremovexattr: ::c_long = 236; pub const SYS_fremovexattr: ::c_long = 237; pub const SYS_tkill: ::c_long = 238; pub const SYS_sendfile64: ::c_long = 239; pub const SYS_futex: ::c_long = 240; pub const SYS_sched_setaffinity: ::c_long = 241; pub const SYS_sched_getaffinity: ::c_long = 242; pub const SYS_io_setup: ::c_long = 243; pub const SYS_io_destroy: ::c_long = 244; pub const SYS_io_getevents: ::c_long = 245; pub const SYS_io_submit: ::c_long = 246; pub const SYS_io_cancel: ::c_long = 247; pub const SYS_exit_group: ::c_long = 248; pub const SYS_lookup_dcookie: ::c_long = 249; pub const SYS_epoll_create: ::c_long = 250; pub const SYS_epoll_ctl: ::c_long = 251; pub const SYS_epoll_wait: ::c_long = 252; pub const SYS_remap_file_pages: ::c_long = 253; pub const SYS_set_tid_address: ::c_long = 256; pub const SYS_timer_create: ::c_long = 257; pub const SYS_timer_settime: ::c_long = 258; pub const SYS_timer_gettime: ::c_long = 259; pub const SYS_timer_getoverrun: ::c_long = 260; pub const SYS_timer_delete: ::c_long = 261; pub const SYS_clock_settime: ::c_long = 262; pub const SYS_clock_gettime: ::c_long = 263; pub const SYS_clock_getres: ::c_long = 264; pub const SYS_clock_nanosleep: ::c_long = 265; pub const SYS_statfs64: ::c_long = 266; pub const SYS_fstatfs64: ::c_long = 267; pub const SYS_tgkill: ::c_long = 268; pub const SYS_utimes: ::c_long = 269; pub const SYS_pciconfig_iobase: ::c_long = 271; pub const SYS_pciconfig_read: ::c_long = 272; pub const SYS_pciconfig_write: ::c_long = 273; pub const SYS_mq_open: ::c_long = 274; pub const SYS_mq_unlink: ::c_long = 275; pub const SYS_mq_timedsend: ::c_long = 276; pub const SYS_mq_timedreceive: ::c_long = 277; pub const SYS_mq_notify: ::c_long = 278; pub const SYS_mq_getsetattr: ::c_long = 279; pub const SYS_waitid: ::c_long = 280; pub const SYS_socket: ::c_long = 281; pub const SYS_bind: ::c_long = 282; pub const SYS_connect: ::c_long = 283; pub const SYS_listen: ::c_long = 284; pub const SYS_accept: ::c_long = 285; pub const SYS_getsockname: ::c_long = 286; pub const SYS_getpeername: ::c_long = 287; pub const SYS_socketpair: ::c_long = 288; pub const SYS_send: ::c_long = 289; pub const SYS_sendto: ::c_long = 290; pub const SYS_recv: ::c_long = 291; pub const SYS_recvfrom: ::c_long = 292; pub const SYS_shutdown: ::c_long = 293; pub const SYS_setsockopt: ::c_long = 294; pub const SYS_getsockopt: ::c_long = 295; pub const SYS_sendmsg: ::c_long = 296; pub const SYS_recvmsg: ::c_long = 297; pub const SYS_semop: ::c_long = 298; pub const SYS_semget: ::c_long = 299; pub const SYS_semctl: ::c_long = 300; pub const SYS_msgsnd: ::c_long = 301; pub const SYS_msgrcv: ::c_long = 302; pub const SYS_msgget: ::c_long = 303; pub const SYS_msgctl: ::c_long = 304; pub const SYS_shmat: ::c_long = 305; pub const SYS_shmdt: ::c_long = 306; pub const SYS_shmget: ::c_long = 307; pub const SYS_shmctl: ::c_long = 308; pub const SYS_add_key: ::c_long = 309; pub const SYS_request_key: ::c_long = 310; pub const SYS_keyctl: ::c_long = 311; pub const SYS_semtimedop: ::c_long = 312; pub const SYS_vserver: ::c_long = 313; pub const SYS_ioprio_set: ::c_long = 314; pub const SYS_ioprio_get: ::c_long = 315; pub const SYS_inotify_init: ::c_long = 316; pub const SYS_inotify_add_watch: ::c_long = 317; pub const SYS_inotify_rm_watch: ::c_long = 318; pub const SYS_mbind: ::c_long = 319; pub const SYS_get_mempolicy: ::c_long = 320; pub const SYS_set_mempolicy: ::c_long = 321; pub const SYS_openat: ::c_long = 322; pub const SYS_mkdirat: ::c_long = 323; pub const SYS_mknodat: ::c_long = 324; pub const SYS_fchownat: ::c_long = 325; pub const SYS_futimesat: ::c_long = 326; pub const SYS_fstatat64: ::c_long = 327; pub const SYS_unlinkat: ::c_long = 328; pub const SYS_renameat: ::c_long = 329; pub const SYS_linkat: ::c_long = 330; pub const SYS_symlinkat: ::c_long = 331; pub const SYS_readlinkat: ::c_long = 332; pub const SYS_fchmodat: ::c_long = 333; pub const SYS_faccessat: ::c_long = 334; pub const SYS_pselect6: ::c_long = 335; pub const SYS_ppoll: ::c_long = 336; pub const SYS_unshare: ::c_long = 337; pub const SYS_set_robust_list: ::c_long = 338; pub const SYS_get_robust_list: ::c_long = 339; pub const SYS_splice: ::c_long = 340; pub const SYS_tee: ::c_long = 342; pub const SYS_vmsplice: ::c_long = 343; pub const SYS_move_pages: ::c_long = 344; pub const SYS_getcpu: ::c_long = 345; pub const SYS_epoll_pwait: ::c_long = 346; pub const SYS_kexec_load: ::c_long = 347; pub const SYS_utimensat: ::c_long = 348; pub const SYS_signalfd: ::c_long = 349; pub const SYS_timerfd_create: ::c_long = 350; pub const SYS_eventfd: ::c_long = 351; pub const SYS_fallocate: ::c_long = 352; pub const SYS_timerfd_settime: ::c_long = 353; pub const SYS_timerfd_gettime: ::c_long = 354; pub const SYS_signalfd4: ::c_long = 355; pub const SYS_eventfd2: ::c_long = 356; pub const SYS_epoll_create1: ::c_long = 357; pub const SYS_dup3: ::c_long = 358; pub const SYS_pipe2: ::c_long = 359; pub const SYS_inotify_init1: ::c_long = 360; pub const SYS_preadv: ::c_long = 361; pub const SYS_pwritev: ::c_long = 362; pub const SYS_rt_tgsigqueueinfo: ::c_long = 363; pub const SYS_perf_event_open: ::c_long = 364; pub const SYS_recvmmsg: ::c_long = 365; pub const SYS_accept4: ::c_long = 366; pub const SYS_fanotify_init: ::c_long = 367; pub const SYS_fanotify_mark: ::c_long = 368; pub const SYS_prlimit64: ::c_long = 369; pub const SYS_name_to_handle_at: ::c_long = 370; pub const SYS_open_by_handle_at: ::c_long = 371; pub const SYS_clock_adjtime: ::c_long = 372; pub const SYS_syncfs: ::c_long = 373; pub const SYS_sendmmsg: ::c_long = 374; pub const SYS_setns: ::c_long = 375; pub const SYS_process_vm_readv: ::c_long = 376; pub const SYS_process_vm_writev: ::c_long = 377; pub const SYS_kcmp: ::c_long = 378; pub const SYS_finit_module: ::c_long = 379; pub const SYS_sched_setattr: ::c_long = 380; pub const SYS_sched_getattr: ::c_long = 381; pub const SYS_renameat2: ::c_long = 382; pub const SYS_seccomp: ::c_long = 383; pub const SYS_getrandom: ::c_long = 384; pub const SYS_memfd_create: ::c_long = 385; pub const SYS_bpf: ::c_long = 386; pub const SYS_execveat: ::c_long = 387; pub const SYS_userfaultfd: ::c_long = 388; pub const SYS_membarrier: ::c_long = 389; pub const SYS_mlock2: ::c_long = 390; pub const SYS_copy_file_range: ::c_long = 391; pub const SYS_preadv2: ::c_long = 392; 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; fn CMSG_ALIGN(len: usize) -> usize { len + ::mem::size_of::() - 1 & !(::mem::size_of::() - 1) } f! { pub fn CMSG_FIRSTHDR(mhdr: *const msghdr) -> *mut cmsghdr { if (*mhdr).msg_controllen as usize >= ::mem::size_of::() { (*mhdr).msg_control as *mut cmsghdr } else { 0 as *mut cmsghdr } } pub fn CMSG_DATA(cmsg: *const cmsghdr) -> *mut ::c_uchar { cmsg.offset(1) as *mut ::c_uchar } pub fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { (CMSG_ALIGN(length as usize) + CMSG_ALIGN(::mem::size_of::())) as ::c_uint } pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { CMSG_ALIGN(::mem::size_of::()) as ::c_uint + length } pub fn CMSG_NXTHDR(mhdr: *const msghdr, cmsg: *const cmsghdr) -> *mut cmsghdr { if ((*cmsg).cmsg_len as usize) < ::mem::size_of::() { return 0 as *mut cmsghdr; }; let next = (cmsg as usize + CMSG_ALIGN((*cmsg).cmsg_len as usize)) as *mut cmsghdr; let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if (next.offset(1)) as usize > max || next as usize + CMSG_ALIGN((*next).cmsg_len as usize) > max { 0 as *mut cmsghdr } else { next as *mut cmsghdr } } } extern "C" { pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int; pub fn openpty( amaster: *mut ::c_int, aslave: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize, ) -> ::c_int; pub fn setns(fd: ::c_int, nstype: ::c_int) -> ::c_int; pub fn pwritev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn preadv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } else { mod no_align; pub use self::no_align::*; } } libc-0.2.66/src/unix/uclibc/arm/no_align.rs010064400007650000024000000004021353453276600166750ustar0000000000000000s! { // FIXME this is actually a union pub struct sem_t { #[cfg(target_pointer_width = "32")] __size: [::c_char; 16], #[cfg(target_pointer_width = "64")] __size: [::c_char; 32], __align: [::c_long; 0], } } libc-0.2.66/src/unix/uclibc/mips/mips32/align.rs010064400007650000024000000005721353453276600175170ustar0000000000000000s! { // FIXME this is actually a union #[cfg_attr(target_pointer_width = "32", repr(align(4)))] #[cfg_attr(target_pointer_width = "64", repr(align(8)))] pub struct sem_t { #[cfg(target_pointer_width = "32")] __size: [::c_char; 16], #[cfg(target_pointer_width = "64")] __size: [::c_char; 32], } } libc-0.2.66/src/unix/uclibc/mips/mips32/mod.rs010064400007650000024000000574661353775267200172250ustar0000000000000000pub type c_char = i8; pub type c_long = i32; pub type c_ulong = u32; pub type clock_t = i32; pub type time_t = i32; pub type suseconds_t = i32; pub type wchar_t = i32; pub type off_t = i32; pub type ino_t = u32; pub type blkcnt_t = i32; pub type blksize_t = i32; pub type nlink_t = u32; pub type fsblkcnt_t = ::c_ulong; pub type fsfilcnt_t = ::c_ulong; pub type rlim_t = c_ulong; s! { pub struct stat { pub st_dev: ::dev_t, st_pad1: [::c_long; 2], 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_pad2: [::c_long; 1], pub st_size: ::off_t, st_pad3: ::c_long, 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_blksize: ::blksize_t, pub st_blocks: ::blkcnt_t, st_pad5: [::c_long; 14], } pub struct stat64 { pub st_dev: ::dev_t, st_pad1: [::c_long; 2], 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, st_pad2: [::c_long; 2], pub st_size: ::off64_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_blksize: ::blksize_t, st_pad3: ::c_long, pub st_blocks: ::blkcnt64_t, st_pad5: [::c_long; 14], } pub struct pthread_attr_t { __size: [u32; 9] } pub struct sigaction { pub sa_flags: ::c_uint, pub sa_sigaction: ::sighandler_t, pub sa_mask: sigset_t, _restorer: *mut ::c_void, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct sigset_t { __val: [::c_ulong; 4], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, pub si_errno: ::c_int, pub _pad: [::c_int; 29], } pub struct glob64_t { pub gl_pathc: ::size_t, pub gl_pathv: *mut *mut ::c_char, pub gl_offs: ::size_t, pub gl_flags: ::c_int, __unused1: *mut ::c_void, __unused2: *mut ::c_void, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, } 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_uint, pub __seq: ::c_ushort, __pad1: ::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, __unused4: ::c_ulong, __unused5: ::c_ulong } pub struct msqid_ds { pub msg_perm: ::ipc_perm, #[cfg(target_endian = "big")] __glibc_reserved1: ::c_ulong, pub msg_stime: ::time_t, #[cfg(target_endian = "little")] __glibc_reserved1: ::c_ulong, #[cfg(target_endian = "big")] __glibc_reserved2: ::c_ulong, pub msg_rtime: ::time_t, #[cfg(target_endian = "little")] __glibc_reserved2: ::c_ulong, #[cfg(target_endian = "big")] __glibc_reserved3: ::c_ulong, pub msg_ctime: ::time_t, #[cfg(target_endian = "little")] __glibc_reserved3: ::c_ulong, __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 statfs { pub f_type: ::c_long, pub f_bsize: ::c_long, pub f_frsize: ::c_long, pub f_blocks: ::fsblkcnt_t, pub f_bfree: ::fsblkcnt_t, pub f_files: ::fsblkcnt_t, pub f_ffree: ::fsblkcnt_t, pub f_bavail: ::fsblkcnt_t, pub f_fsid: ::fsid_t, pub f_namelen: ::c_long, f_spare: [::c_long; 6], } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::c_int, pub msg_control: *mut ::c_void, pub msg_controllen: ::size_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::size_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct termios { 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; ::NCCS], } 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_sysid: ::c_long, pub l_pid: ::pid_t, pad: [::c_long; 4], } pub struct sysinfo { pub uptime: ::c_long, pub loads: [::c_ulong; 3], pub totalram: ::c_ulong, pub freeram: ::c_ulong, pub sharedram: ::c_ulong, pub bufferram: ::c_ulong, pub totalswap: ::c_ulong, pub freeswap: ::c_ulong, pub procs: ::c_ushort, pub pad: ::c_ushort, pub totalhigh: ::c_ulong, pub freehigh: ::c_ulong, pub mem_unit: ::c_uint, pub _f: [::c_char; 8], } } pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 24; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const RLIM_INFINITY: ::rlim_t = 0x7fffffff; pub const SYS_syscall: ::c_long = 4000 + 0; pub const SYS_exit: ::c_long = 4000 + 1; pub const SYS_fork: ::c_long = 4000 + 2; pub const SYS_read: ::c_long = 4000 + 3; pub const SYS_write: ::c_long = 4000 + 4; pub const SYS_open: ::c_long = 4000 + 5; pub const SYS_close: ::c_long = 4000 + 6; pub const SYS_waitpid: ::c_long = 4000 + 7; pub const SYS_creat: ::c_long = 4000 + 8; pub const SYS_link: ::c_long = 4000 + 9; pub const SYS_unlink: ::c_long = 4000 + 10; pub const SYS_execve: ::c_long = 4000 + 11; pub const SYS_chdir: ::c_long = 4000 + 12; pub const SYS_time: ::c_long = 4000 + 13; pub const SYS_mknod: ::c_long = 4000 + 14; pub const SYS_chmod: ::c_long = 4000 + 15; pub const SYS_lchown: ::c_long = 4000 + 16; pub const SYS_break: ::c_long = 4000 + 17; pub const SYS_lseek: ::c_long = 4000 + 19; pub const SYS_getpid: ::c_long = 4000 + 20; pub const SYS_mount: ::c_long = 4000 + 21; pub const SYS_umount: ::c_long = 4000 + 22; pub const SYS_setuid: ::c_long = 4000 + 23; pub const SYS_getuid: ::c_long = 4000 + 24; pub const SYS_stime: ::c_long = 4000 + 25; pub const SYS_ptrace: ::c_long = 4000 + 26; pub const SYS_alarm: ::c_long = 4000 + 27; pub const SYS_pause: ::c_long = 4000 + 29; pub const SYS_utime: ::c_long = 4000 + 30; pub const SYS_stty: ::c_long = 4000 + 31; pub const SYS_gtty: ::c_long = 4000 + 32; pub const SYS_access: ::c_long = 4000 + 33; pub const SYS_nice: ::c_long = 4000 + 34; pub const SYS_ftime: ::c_long = 4000 + 35; pub const SYS_sync: ::c_long = 4000 + 36; pub const SYS_kill: ::c_long = 4000 + 37; pub const SYS_rename: ::c_long = 4000 + 38; pub const SYS_mkdir: ::c_long = 4000 + 39; pub const SYS_rmdir: ::c_long = 4000 + 40; pub const SYS_dup: ::c_long = 4000 + 41; pub const SYS_pipe: ::c_long = 4000 + 42; pub const SYS_times: ::c_long = 4000 + 43; pub const SYS_prof: ::c_long = 4000 + 44; pub const SYS_brk: ::c_long = 4000 + 45; pub const SYS_setgid: ::c_long = 4000 + 46; pub const SYS_getgid: ::c_long = 4000 + 47; pub const SYS_signal: ::c_long = 4000 + 48; pub const SYS_geteuid: ::c_long = 4000 + 49; pub const SYS_getegid: ::c_long = 4000 + 50; pub const SYS_acct: ::c_long = 4000 + 51; pub const SYS_umount2: ::c_long = 4000 + 52; pub const SYS_lock: ::c_long = 4000 + 53; pub const SYS_ioctl: ::c_long = 4000 + 54; pub const SYS_fcntl: ::c_long = 4000 + 55; pub const SYS_mpx: ::c_long = 4000 + 56; pub const SYS_setpgid: ::c_long = 4000 + 57; pub const SYS_ulimit: ::c_long = 4000 + 58; pub const SYS_umask: ::c_long = 4000 + 60; pub const SYS_chroot: ::c_long = 4000 + 61; pub const SYS_ustat: ::c_long = 4000 + 62; pub const SYS_dup2: ::c_long = 4000 + 63; pub const SYS_getppid: ::c_long = 4000 + 64; pub const SYS_getpgrp: ::c_long = 4000 + 65; pub const SYS_setsid: ::c_long = 4000 + 66; pub const SYS_sigaction: ::c_long = 4000 + 67; pub const SYS_sgetmask: ::c_long = 4000 + 68; pub const SYS_ssetmask: ::c_long = 4000 + 69; pub const SYS_setreuid: ::c_long = 4000 + 70; pub const SYS_setregid: ::c_long = 4000 + 71; pub const SYS_sigsuspend: ::c_long = 4000 + 72; pub const SYS_sigpending: ::c_long = 4000 + 73; pub const SYS_sethostname: ::c_long = 4000 + 74; pub const SYS_setrlimit: ::c_long = 4000 + 75; pub const SYS_getrlimit: ::c_long = 4000 + 76; pub const SYS_getrusage: ::c_long = 4000 + 77; pub const SYS_gettimeofday: ::c_long = 4000 + 78; pub const SYS_settimeofday: ::c_long = 4000 + 79; pub const SYS_getgroups: ::c_long = 4000 + 80; pub const SYS_setgroups: ::c_long = 4000 + 81; pub const SYS_symlink: ::c_long = 4000 + 83; pub const SYS_readlink: ::c_long = 4000 + 85; pub const SYS_uselib: ::c_long = 4000 + 86; pub const SYS_swapon: ::c_long = 4000 + 87; pub const SYS_reboot: ::c_long = 4000 + 88; pub const SYS_readdir: ::c_long = 4000 + 89; pub const SYS_mmap: ::c_long = 4000 + 90; pub const SYS_munmap: ::c_long = 4000 + 91; pub const SYS_truncate: ::c_long = 4000 + 92; pub const SYS_ftruncate: ::c_long = 4000 + 93; pub const SYS_fchmod: ::c_long = 4000 + 94; pub const SYS_fchown: ::c_long = 4000 + 95; pub const SYS_getpriority: ::c_long = 4000 + 96; pub const SYS_setpriority: ::c_long = 4000 + 97; pub const SYS_profil: ::c_long = 4000 + 98; pub const SYS_statfs: ::c_long = 4000 + 99; pub const SYS_fstatfs: ::c_long = 4000 + 100; pub const SYS_ioperm: ::c_long = 4000 + 101; pub const SYS_socketcall: ::c_long = 4000 + 102; pub const SYS_syslog: ::c_long = 4000 + 103; pub const SYS_setitimer: ::c_long = 4000 + 104; pub const SYS_getitimer: ::c_long = 4000 + 105; pub const SYS_stat: ::c_long = 4000 + 106; pub const SYS_lstat: ::c_long = 4000 + 107; pub const SYS_fstat: ::c_long = 4000 + 108; pub const SYS_iopl: ::c_long = 4000 + 110; pub const SYS_vhangup: ::c_long = 4000 + 111; pub const SYS_idle: ::c_long = 4000 + 112; pub const SYS_vm86: ::c_long = 4000 + 113; pub const SYS_wait4: ::c_long = 4000 + 114; pub const SYS_swapoff: ::c_long = 4000 + 115; pub const SYS_sysinfo: ::c_long = 4000 + 116; pub const SYS_ipc: ::c_long = 4000 + 117; pub const SYS_fsync: ::c_long = 4000 + 118; pub const SYS_sigreturn: ::c_long = 4000 + 119; pub const SYS_clone: ::c_long = 4000 + 120; pub const SYS_setdomainname: ::c_long = 4000 + 121; pub const SYS_uname: ::c_long = 4000 + 122; pub const SYS_modify_ldt: ::c_long = 4000 + 123; pub const SYS_adjtimex: ::c_long = 4000 + 124; pub const SYS_mprotect: ::c_long = 4000 + 125; pub const SYS_sigprocmask: ::c_long = 4000 + 126; pub const SYS_create_module: ::c_long = 4000 + 127; pub const SYS_init_module: ::c_long = 4000 + 128; pub const SYS_delete_module: ::c_long = 4000 + 129; pub const SYS_get_kernel_syms: ::c_long = 4000 + 130; pub const SYS_quotactl: ::c_long = 4000 + 131; pub const SYS_getpgid: ::c_long = 4000 + 132; pub const SYS_fchdir: ::c_long = 4000 + 133; pub const SYS_bdflush: ::c_long = 4000 + 134; pub const SYS_sysfs: ::c_long = 4000 + 135; pub const SYS_personality: ::c_long = 4000 + 136; pub const SYS_afs_syscall: ::c_long = 4000 + 137; pub const SYS_setfsuid: ::c_long = 4000 + 138; pub const SYS_setfsgid: ::c_long = 4000 + 139; pub const SYS__llseek: ::c_long = 4000 + 140; pub const SYS_getdents: ::c_long = 4000 + 141; pub const SYS__newselect: ::c_long = 4000 + 142; pub const SYS_flock: ::c_long = 4000 + 143; pub const SYS_msync: ::c_long = 4000 + 144; pub const SYS_readv: ::c_long = 4000 + 145; pub const SYS_writev: ::c_long = 4000 + 146; pub const SYS_cacheflush: ::c_long = 4000 + 147; pub const SYS_cachectl: ::c_long = 4000 + 148; pub const SYS_sysmips: ::c_long = 4000 + 149; pub const SYS_getsid: ::c_long = 4000 + 151; pub const SYS_fdatasync: ::c_long = 4000 + 152; pub const SYS__sysctl: ::c_long = 4000 + 153; pub const SYS_mlock: ::c_long = 4000 + 154; pub const SYS_munlock: ::c_long = 4000 + 155; pub const SYS_mlockall: ::c_long = 4000 + 156; pub const SYS_munlockall: ::c_long = 4000 + 157; pub const SYS_sched_setparam: ::c_long = 4000 + 158; pub const SYS_sched_getparam: ::c_long = 4000 + 159; pub const SYS_sched_setscheduler: ::c_long = 4000 + 160; pub const SYS_sched_getscheduler: ::c_long = 4000 + 161; pub const SYS_sched_yield: ::c_long = 4000 + 162; pub const SYS_sched_get_priority_max: ::c_long = 4000 + 163; pub const SYS_sched_get_priority_min: ::c_long = 4000 + 164; pub const SYS_sched_rr_get_interval: ::c_long = 4000 + 165; pub const SYS_nanosleep: ::c_long = 4000 + 166; pub const SYS_mremap: ::c_long = 4000 + 167; pub const SYS_accept: ::c_long = 4000 + 168; pub const SYS_bind: ::c_long = 4000 + 169; pub const SYS_connect: ::c_long = 4000 + 170; pub const SYS_getpeername: ::c_long = 4000 + 171; pub const SYS_getsockname: ::c_long = 4000 + 172; pub const SYS_getsockopt: ::c_long = 4000 + 173; pub const SYS_listen: ::c_long = 4000 + 174; pub const SYS_recv: ::c_long = 4000 + 175; pub const SYS_recvfrom: ::c_long = 4000 + 176; pub const SYS_recvmsg: ::c_long = 4000 + 177; pub const SYS_send: ::c_long = 4000 + 178; pub const SYS_sendmsg: ::c_long = 4000 + 179; pub const SYS_sendto: ::c_long = 4000 + 180; pub const SYS_setsockopt: ::c_long = 4000 + 181; pub const SYS_shutdown: ::c_long = 4000 + 182; pub const SYS_socket: ::c_long = 4000 + 183; pub const SYS_socketpair: ::c_long = 4000 + 184; pub const SYS_setresuid: ::c_long = 4000 + 185; pub const SYS_getresuid: ::c_long = 4000 + 186; pub const SYS_query_module: ::c_long = 4000 + 187; pub const SYS_poll: ::c_long = 4000 + 188; pub const SYS_nfsservctl: ::c_long = 4000 + 189; pub const SYS_setresgid: ::c_long = 4000 + 190; pub const SYS_getresgid: ::c_long = 4000 + 191; pub const SYS_prctl: ::c_long = 4000 + 192; pub const SYS_rt_sigreturn: ::c_long = 4000 + 193; pub const SYS_rt_sigaction: ::c_long = 4000 + 194; pub const SYS_rt_sigprocmask: ::c_long = 4000 + 195; pub const SYS_rt_sigpending: ::c_long = 4000 + 196; pub const SYS_rt_sigtimedwait: ::c_long = 4000 + 197; pub const SYS_rt_sigqueueinfo: ::c_long = 4000 + 198; pub const SYS_rt_sigsuspend: ::c_long = 4000 + 199; pub const SYS_pread64: ::c_long = 4000 + 200; pub const SYS_pwrite64: ::c_long = 4000 + 201; pub const SYS_chown: ::c_long = 4000 + 202; pub const SYS_getcwd: ::c_long = 4000 + 203; pub const SYS_capget: ::c_long = 4000 + 204; pub const SYS_capset: ::c_long = 4000 + 205; pub const SYS_sigaltstack: ::c_long = 4000 + 206; pub const SYS_sendfile: ::c_long = 4000 + 207; pub const SYS_getpmsg: ::c_long = 4000 + 208; pub const SYS_putpmsg: ::c_long = 4000 + 209; pub const SYS_mmap2: ::c_long = 4000 + 210; pub const SYS_truncate64: ::c_long = 4000 + 211; pub const SYS_ftruncate64: ::c_long = 4000 + 212; pub const SYS_stat64: ::c_long = 4000 + 213; pub const SYS_lstat64: ::c_long = 4000 + 214; pub const SYS_fstat64: ::c_long = 4000 + 215; pub const SYS_pivot_root: ::c_long = 4000 + 216; pub const SYS_mincore: ::c_long = 4000 + 217; pub const SYS_madvise: ::c_long = 4000 + 218; pub const SYS_getdents64: ::c_long = 4000 + 219; pub const SYS_fcntl64: ::c_long = 4000 + 220; pub const SYS_gettid: ::c_long = 4000 + 222; pub const SYS_readahead: ::c_long = 4000 + 223; pub const SYS_setxattr: ::c_long = 4000 + 224; pub const SYS_lsetxattr: ::c_long = 4000 + 225; pub const SYS_fsetxattr: ::c_long = 4000 + 226; pub const SYS_getxattr: ::c_long = 4000 + 227; pub const SYS_lgetxattr: ::c_long = 4000 + 228; pub const SYS_fgetxattr: ::c_long = 4000 + 229; pub const SYS_listxattr: ::c_long = 4000 + 230; pub const SYS_llistxattr: ::c_long = 4000 + 231; pub const SYS_flistxattr: ::c_long = 4000 + 232; pub const SYS_removexattr: ::c_long = 4000 + 233; pub const SYS_lremovexattr: ::c_long = 4000 + 234; pub const SYS_fremovexattr: ::c_long = 4000 + 235; pub const SYS_tkill: ::c_long = 4000 + 236; pub const SYS_sendfile64: ::c_long = 4000 + 237; pub const SYS_futex: ::c_long = 4000 + 238; pub const SYS_sched_setaffinity: ::c_long = 4000 + 239; pub const SYS_sched_getaffinity: ::c_long = 4000 + 240; pub const SYS_io_setup: ::c_long = 4000 + 241; pub const SYS_io_destroy: ::c_long = 4000 + 242; pub const SYS_io_getevents: ::c_long = 4000 + 243; pub const SYS_io_submit: ::c_long = 4000 + 244; pub const SYS_io_cancel: ::c_long = 4000 + 245; pub const SYS_exit_group: ::c_long = 4000 + 246; pub const SYS_lookup_dcookie: ::c_long = 4000 + 247; pub const SYS_epoll_create: ::c_long = 4000 + 248; pub const SYS_epoll_ctl: ::c_long = 4000 + 249; pub const SYS_epoll_wait: ::c_long = 4000 + 250; pub const SYS_remap_file_pages: ::c_long = 4000 + 251; pub const SYS_set_tid_address: ::c_long = 4000 + 252; pub const SYS_restart_syscall: ::c_long = 4000 + 253; pub const SYS_fadvise64: ::c_long = 4000 + 254; pub const SYS_statfs64: ::c_long = 4000 + 255; pub const SYS_fstatfs64: ::c_long = 4000 + 256; pub const SYS_timer_create: ::c_long = 4000 + 257; pub const SYS_timer_settime: ::c_long = 4000 + 258; pub const SYS_timer_gettime: ::c_long = 4000 + 259; pub const SYS_timer_getoverrun: ::c_long = 4000 + 260; pub const SYS_timer_delete: ::c_long = 4000 + 261; pub const SYS_clock_settime: ::c_long = 4000 + 262; pub const SYS_clock_gettime: ::c_long = 4000 + 263; pub const SYS_clock_getres: ::c_long = 4000 + 264; pub const SYS_clock_nanosleep: ::c_long = 4000 + 265; pub const SYS_tgkill: ::c_long = 4000 + 266; pub const SYS_utimes: ::c_long = 4000 + 267; pub const SYS_mbind: ::c_long = 4000 + 268; pub const SYS_get_mempolicy: ::c_long = 4000 + 269; pub const SYS_set_mempolicy: ::c_long = 4000 + 270; pub const SYS_mq_open: ::c_long = 4000 + 271; pub const SYS_mq_unlink: ::c_long = 4000 + 272; pub const SYS_mq_timedsend: ::c_long = 4000 + 273; pub const SYS_mq_timedreceive: ::c_long = 4000 + 274; pub const SYS_mq_notify: ::c_long = 4000 + 275; pub const SYS_mq_getsetattr: ::c_long = 4000 + 276; pub const SYS_vserver: ::c_long = 4000 + 277; pub const SYS_waitid: ::c_long = 4000 + 278; /* pub const SYS_sys_setaltroot: ::c_long = 4000 + 279; */ pub const SYS_add_key: ::c_long = 4000 + 280; pub const SYS_request_key: ::c_long = 4000 + 281; pub const SYS_keyctl: ::c_long = 4000 + 282; pub const SYS_set_thread_area: ::c_long = 4000 + 283; pub const SYS_inotify_init: ::c_long = 4000 + 284; pub const SYS_inotify_add_watch: ::c_long = 4000 + 285; pub const SYS_inotify_rm_watch: ::c_long = 4000 + 286; pub const SYS_migrate_pages: ::c_long = 4000 + 287; pub const SYS_openat: ::c_long = 4000 + 288; pub const SYS_mkdirat: ::c_long = 4000 + 289; pub const SYS_mknodat: ::c_long = 4000 + 290; pub const SYS_fchownat: ::c_long = 4000 + 291; pub const SYS_futimesat: ::c_long = 4000 + 292; pub const SYS_fstatat64: ::c_long = 4000 + 293; pub const SYS_unlinkat: ::c_long = 4000 + 294; pub const SYS_renameat: ::c_long = 4000 + 295; pub const SYS_linkat: ::c_long = 4000 + 296; pub const SYS_symlinkat: ::c_long = 4000 + 297; pub const SYS_readlinkat: ::c_long = 4000 + 298; pub const SYS_fchmodat: ::c_long = 4000 + 299; pub const SYS_faccessat: ::c_long = 4000 + 300; pub const SYS_pselect6: ::c_long = 4000 + 301; pub const SYS_ppoll: ::c_long = 4000 + 302; pub const SYS_unshare: ::c_long = 4000 + 303; pub const SYS_splice: ::c_long = 4000 + 304; pub const SYS_sync_file_range: ::c_long = 4000 + 305; pub const SYS_tee: ::c_long = 4000 + 306; pub const SYS_vmsplice: ::c_long = 4000 + 307; pub const SYS_move_pages: ::c_long = 4000 + 308; pub const SYS_set_robust_list: ::c_long = 4000 + 309; pub const SYS_get_robust_list: ::c_long = 4000 + 310; pub const SYS_kexec_load: ::c_long = 4000 + 311; pub const SYS_getcpu: ::c_long = 4000 + 312; pub const SYS_epoll_pwait: ::c_long = 4000 + 313; pub const SYS_ioprio_set: ::c_long = 4000 + 314; pub const SYS_ioprio_get: ::c_long = 4000 + 315; pub const SYS_utimensat: ::c_long = 4000 + 316; pub const SYS_signalfd: ::c_long = 4000 + 317; pub const SYS_timerfd: ::c_long = 4000 + 318; pub const SYS_eventfd: ::c_long = 4000 + 319; pub const SYS_fallocate: ::c_long = 4000 + 320; pub const SYS_timerfd_create: ::c_long = 4000 + 321; pub const SYS_timerfd_gettime: ::c_long = 4000 + 322; pub const SYS_timerfd_settime: ::c_long = 4000 + 323; pub const SYS_signalfd4: ::c_long = 4000 + 324; pub const SYS_eventfd2: ::c_long = 4000 + 325; pub const SYS_epoll_create1: ::c_long = 4000 + 326; pub const SYS_dup3: ::c_long = 4000 + 327; pub const SYS_pipe2: ::c_long = 4000 + 328; pub const SYS_inotify_init1: ::c_long = 4000 + 329; pub const SYS_preadv: ::c_long = 4000 + 330; pub const SYS_pwritev: ::c_long = 4000 + 331; pub const SYS_rt_tgsigqueueinfo: ::c_long = 4000 + 332; pub const SYS_perf_event_open: ::c_long = 4000 + 333; pub const SYS_accept4: ::c_long = 4000 + 334; pub const SYS_recvmmsg: ::c_long = 4000 + 335; pub const SYS_fanotify_init: ::c_long = 4000 + 336; pub const SYS_fanotify_mark: ::c_long = 4000 + 337; pub const SYS_prlimit64: ::c_long = 4000 + 338; pub const SYS_name_to_handle_at: ::c_long = 4000 + 339; pub const SYS_open_by_handle_at: ::c_long = 4000 + 340; pub const SYS_clock_adjtime: ::c_long = 4000 + 341; pub const SYS_syncfs: ::c_long = 4000 + 342; pub const SYS_sendmmsg: ::c_long = 4000 + 343; pub const SYS_setns: ::c_long = 4000 + 344; pub const SYS_process_vm_readv: ::c_long = 4000 + 345; pub const SYS_process_vm_writev: ::c_long = 4000 + 346; pub const SYS_kcmp: ::c_long = 4000 + 347; pub const SYS_finit_module: ::c_long = 4000 + 348; pub const SYS_sched_setattr: ::c_long = 4000 + 349; pub const SYS_sched_getattr: ::c_long = 4000 + 350; pub const SYS_renameat2: ::c_long = 4000 + 351; pub const SYS_seccomp: ::c_long = 4000 + 352; pub const SYS_getrandom: ::c_long = 4000 + 353; pub const SYS_memfd_create: ::c_long = 4000 + 354; pub const SYS_bpf: ::c_long = 4000 + 355; pub const SYS_execveat: ::c_long = 4000 + 356; pub const SYS_userfaultfd: ::c_long = 4000 + 357; pub const SYS_membarrier: ::c_long = 4000 + 358; pub const SYS_mlock2: ::c_long = 4000 + 359; pub const SYS_copy_file_range: ::c_long = 4000 + 360; pub const SYS_preadv2: ::c_long = 4000 + 361; 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; #[link(name = "util")] extern "C" { pub fn sysctl( name: *mut ::c_int, namelen: ::c_int, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t, ) -> ::c_int; pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int; pub fn backtrace(buf: *mut *mut ::c_void, sz: ::c_int) -> ::c_int; pub fn glob64( pattern: *const ::c_char, flags: ::c_int, errfunc: ::Option< extern "C" fn(epath: *const ::c_char, errno: ::c_int) -> ::c_int, >, pglob: *mut glob64_t, ) -> ::c_int; pub fn globfree64(pglob: *mut glob64_t); pub fn ptrace(request: ::c_uint, ...) -> ::c_long; pub fn pthread_attr_getaffinity_np( attr: *const ::pthread_attr_t, cpusetsize: ::size_t, cpuset: *mut ::cpu_set_t, ) -> ::c_int; pub fn pthread_attr_setaffinity_np( attr: *mut ::pthread_attr_t, cpusetsize: ::size_t, cpuset: *const ::cpu_set_t, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } else { mod no_align; pub use self::no_align::*; } } libc-0.2.66/src/unix/uclibc/mips/mips32/no_align.rs010064400007650000024000000004021353453276600202030ustar0000000000000000s! { // FIXME this is actually a union pub struct sem_t { #[cfg(target_pointer_width = "32")] __size: [::c_char; 16], #[cfg(target_pointer_width = "64")] __size: [::c_char; 32], __align: [::c_long; 0], } } libc-0.2.66/src/unix/uclibc/mips/mips64/align.rs010064400007650000024000000004021353453276600175140ustar0000000000000000s! { // FIXME this is actually a union #[cfg_attr(target_pointer_width = "32", repr(align(4)))] #[cfg_attr(target_pointer_width = "64", repr(align(8)))] pub struct sem_t { __size: [::c_char; 32], } } libc-0.2.66/src/unix/uclibc/mips/mips64/mod.rs010064400007650000024000000126721353775267200172200ustar0000000000000000pub type blkcnt_t = i64; pub type blksize_t = i64; pub type c_char = i8; pub type c_long = i64; pub type c_ulong = u64; pub type fsblkcnt_t = ::c_ulong; pub type fsfilcnt_t = ::c_ulong; pub type ino_t = u64; pub type nlink_t = u64; pub type off_t = i64; pub type rlim_t = ::c_ulong; pub type suseconds_t = i64; pub type time_t = i64; pub type wchar_t = i32; s! { pub struct stat { pub st_dev: ::c_ulong, st_pad1: [::c_long; 2], 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_ulong, st_pad2: [::c_ulong; 1], pub st_size: ::off_t, st_pad3: ::c_long, 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_blksize: ::blksize_t, st_pad4: ::c_long, pub st_blocks: ::blkcnt_t, st_pad5: [::c_long; 7], } pub struct stat64 { pub st_dev: ::c_ulong, st_pad1: [::c_long; 2], 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: ::c_ulong, st_pad2: [::c_long; 2], pub st_size: ::off64_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_blksize: ::blksize_t, st_pad3: ::c_long, pub st_blocks: ::blkcnt64_t, st_pad5: [::c_long; 7], } pub struct pthread_attr_t { __size: [::c_ulong; 7] } pub struct sigaction { pub sa_flags: ::c_int, pub sa_sigaction: ::sighandler_t, pub sa_mask: sigset_t, _restorer: *mut ::c_void, } pub struct stack_t { pub ss_sp: *mut ::c_void, pub ss_size: ::size_t, pub ss_flags: ::c_int, } pub struct sigset_t { __size: [::c_ulong; 16], } pub struct siginfo_t { pub si_signo: ::c_int, pub si_code: ::c_int, pub si_errno: ::c_int, _pad: ::c_int, _pad2: [::c_long; 14], } 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_uint, pub __seq: ::c_ushort, __pad1: ::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, __unused4: ::c_ulong, __unused5: ::c_ulong } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, pub msg_rtime: ::time_t, pub msg_ctime: ::time_t, __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 statfs { pub f_type: ::c_long, pub f_bsize: ::c_long, pub f_frsize: ::c_long, pub f_blocks: ::fsblkcnt_t, pub f_bfree: ::fsblkcnt_t, pub f_files: ::fsblkcnt_t, pub f_ffree: ::fsblkcnt_t, pub f_bavail: ::fsblkcnt_t, pub f_fsid: ::fsid_t, pub f_namelen: ::c_long, f_spare: [::c_long; 6], } pub struct msghdr { pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::size_t, pub msg_control: *mut ::c_void, pub msg_controllen: ::size_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: ::size_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } pub struct termios { 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; ::NCCS], } pub struct sysinfo { pub uptime: ::c_long, pub loads: [::c_ulong; 3], pub totalram: ::c_ulong, pub freeram: ::c_ulong, pub sharedram: ::c_ulong, pub bufferram: ::c_ulong, pub totalswap: ::c_ulong, pub freeswap: ::c_ulong, pub procs: ::c_ushort, pub pad: ::c_ushort, pub totalhigh: ::c_ulong, pub freehigh: ::c_ulong, pub mem_unit: ::c_uint, pub _f: [::c_char; 0], } } pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56; 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; pub use self::align::*; } else { mod no_align; pub use self::no_align::*; } } libc-0.2.66/src/unix/uclibc/mips/mips64/no_align.rs010064400007650000024000000002121353775267200202120ustar0000000000000000s! { // FIXME this is actually a union pub struct sem_t { __size: [::c_char; 32], __align: [::c_long; 0], } } libc-0.2.66/src/unix/uclibc/mips/mod.rs010064400007650000024000000417211353453276600160700ustar0000000000000000pub type pthread_t = ::c_ulong; pub const SFD_CLOEXEC: ::c_int = 0x080000; pub const NCCS: usize = 32; pub const O_TRUNC: ::c_int = 512; pub const O_CLOEXEC: ::c_int = 0x80000; 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 EDOTDOT: ::c_int = 73; pub const SA_NODEFER: ::c_int = 0x40000000; pub const SA_RESETHAND: ::c_int = 0x80000000; pub const SA_RESTART: ::c_int = 0x10000000; pub const SA_NOCLDSTOP: ::c_int = 0x00000001; 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_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; 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 ST_RELATIME: ::c_ulong = 4096; 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 O_APPEND: ::c_int = 8; pub const O_CREAT: ::c_int = 256; pub const O_EXCL: ::c_int = 1024; pub const O_NOCTTY: ::c_int = 2048; pub const O_NONBLOCK: ::c_int = 128; pub const O_SYNC: ::c_int = 0x10; pub const O_RSYNC: ::c_int = 0x10; pub const O_DSYNC: ::c_int = 0x10; pub const O_FSYNC: ::c_int = 0x10; pub const O_ASYNC: ::c_int = 0x1000; pub const O_NDELAY: ::c_int = 0x80; pub const SOCK_NONBLOCK: ::c_int = 128; pub const EDEADLK: ::c_int = 45; pub const ENAMETOOLONG: ::c_int = 78; pub const ENOLCK: ::c_int = 46; pub const ENOSYS: ::c_int = 89; pub const ENOTEMPTY: ::c_int = 93; pub const ELOOP: ::c_int = 90; pub const ENOMSG: ::c_int = 35; pub const EIDRM: ::c_int = 36; pub const ECHRNG: ::c_int = 37; pub const EL2NSYNC: ::c_int = 38; pub const EL3HLT: ::c_int = 39; pub const EL3RST: ::c_int = 40; pub const ELNRNG: ::c_int = 41; pub const EUNATCH: ::c_int = 42; pub const ENOCSI: ::c_int = 43; pub const EL2HLT: ::c_int = 44; pub const EBADE: ::c_int = 50; pub const EBADR: ::c_int = 51; 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; pub const EBADFD: ::c_int = 81; pub const EBADMSG: ::c_int = 77; pub const EREMCHG: ::c_int = 82; pub const ELIBACC: ::c_int = 83; pub const ELIBBAD: ::c_int = 84; pub const ELIBSCN: ::c_int = 85; pub const ELIBMAX: ::c_int = 86; pub const ELIBEXEC: ::c_int = 87; pub const EILSEQ: ::c_int = 88; pub const ERESTART: ::c_int = 91; pub const ESTRPIPE: ::c_int = 92; pub const EUSERS: ::c_int = 94; pub const ENOTSOCK: ::c_int = 95; pub const EDESTADDRREQ: ::c_int = 96; pub const EMSGSIZE: ::c_int = 97; pub const EPROTOTYPE: ::c_int = 98; 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; pub const EADDRNOTAVAIL: ::c_int = 126; pub const ENETDOWN: ::c_int = 127; pub const ENETUNREACH: ::c_int = 128; pub const ENETRESET: ::c_int = 129; pub const ECONNABORTED: ::c_int = 130; pub const ECONNRESET: ::c_int = 131; pub const ENOBUFS: ::c_int = 132; pub const EISCONN: ::c_int = 133; pub const ENOTCONN: ::c_int = 134; pub const ESHUTDOWN: ::c_int = 143; pub const ETOOMANYREFS: ::c_int = 144; pub const ETIMEDOUT: ::c_int = 145; pub const ECONNREFUSED: ::c_int = 146; pub const EHOSTDOWN: ::c_int = 147; pub const EHOSTUNREACH: ::c_int = 148; pub const EALREADY: ::c_int = 149; pub const EINPROGRESS: ::c_int = 150; pub const ESTALE: ::c_int = 151; pub const EUCLEAN: ::c_int = 135; pub const ENOTNAM: ::c_int = 137; pub const ENAVAIL: ::c_int = 138; pub const EISNAM: ::c_int = 139; pub const EREMOTEIO: ::c_int = 140; pub const EDQUOT: ::c_int = 1133; pub const ENOMEDIUM: ::c_int = 159; pub const EMEDIUMTYPE: ::c_int = 160; pub const ECANCELED: ::c_int = 158; pub const ENOKEY: ::c_int = 161; pub const EKEYEXPIRED: ::c_int = 162; pub const EKEYREVOKED: ::c_int = 163; pub const EKEYREJECTED: ::c_int = 164; pub const EOWNERDEAD: ::c_int = 165; pub const ENOTRECOVERABLE: ::c_int = 166; pub const ERFKILL: ::c_int = 167; pub const MAP_NORESERVE: ::c_int = 0x400; pub const MAP_ANON: ::c_int = 0x800; pub const MAP_ANONYMOUS: ::c_int = 0x800; pub const MAP_GROWSDOWN: ::c_int = 0x1000; pub const MAP_DENYWRITE: ::c_int = 0x2000; pub const MAP_EXECUTABLE: ::c_int = 0x4000; pub const MAP_LOCKED: ::c_int = 0x8000; pub const MAP_POPULATE: ::c_int = 0x10000; pub const MAP_NONBLOCK: ::c_int = 0x20000; pub const MAP_STACK: ::c_int = 0x40000; pub const SOCK_STREAM: ::c_int = 2; pub const SOCK_DGRAM: ::c_int = 1; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_OOBINLINE: ::c_int = 0x0100; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_STYLE: ::c_int = SO_TYPE; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; 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; pub const SO_ACCEPTCONN: ::c_int = 0x1009; pub const SO_PROTOCOL: ::c_int = 0x1028; pub const SO_DOMAIN: ::c_int = 0x1029; pub const SO_NO_CHECK: ::c_int = 11; pub const SO_PRIORITY: ::c_int = 12; pub const SO_BSDCOMPAT: ::c_int = 14; pub const SO_PASSCRED: ::c_int = 17; pub const SO_PEERCRED: ::c_int = 18; pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22; pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23; pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24; 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_PEERNAME: ::c_int = 28; pub const SO_TIMESTAMP: ::c_int = 29; pub const SCM_TIMESTAMP: ::c_int = SO_TIMESTAMP; pub const SO_PEERSEC: ::c_int = 30; pub const SO_SNDBUFFORCE: ::c_int = 31; pub const SO_RCVBUFFORCE: ::c_int = 33; pub const SO_PASSSEC: ::c_int = 34; pub const SO_TIMESTAMPNS: ::c_int = 35; pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS; pub const SO_MARK: ::c_int = 36; pub const SO_TIMESTAMPING: ::c_int = 37; pub const SCM_TIMESTAMPING: ::c_int = SO_TIMESTAMPING; pub const SO_RXQ_OVFL: ::c_int = 40; pub const SO_WIFI_STATUS: ::c_int = 41; pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS; pub const SO_PEEK_OFF: ::c_int = 42; pub const SO_NOFCS: ::c_int = 43; pub const SO_LOCK_FILTER: ::c_int = 44; pub const SO_SELECT_ERR_QUEUE: ::c_int = 45; pub const SO_BUSY_POLL: ::c_int = 46; pub const SO_MAX_PACING_RATE: ::c_int = 47; pub const SO_BPF_EXTENSIONS: ::c_int = 48; 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; pub const SIGCHLD: ::c_int = 18; pub const SIGBUS: ::c_int = 10; pub const SIGTTIN: ::c_int = 26; pub const SIGTTOU: ::c_int = 27; pub const SIGXCPU: ::c_int = 30; pub const SIGXFSZ: ::c_int = 31; pub const SIGVTALRM: ::c_int = 28; pub const SIGPROF: ::c_int = 29; pub const SIGWINCH: ::c_int = 20; pub const SIGUSR1: ::c_int = 16; pub const SIGUSR2: ::c_int = 17; pub const SIGCONT: ::c_int = 25; pub const SIGSTOP: ::c_int = 23; 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; pub const SIG_UNBLOCK: ::c_int = 0x2; pub const POLLRDNORM: ::c_short = 0x040; pub const POLLWRNORM: ::c_short = 0x004; pub const POLLRDBAND: ::c_short = 0x080; pub const POLLWRBAND: ::c_short = 0x100; pub const PTHREAD_STACK_MIN: ::size_t = 16384; 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 VEOF: usize = 16; pub const VEOL: usize = 17; pub const VEOL2: usize = 6; pub const VMIN: usize = 4; pub const IEXTEN: ::tcflag_t = 0x00000100; pub const TOSTOP: ::tcflag_t = 0x00008000; pub const FLUSHO: ::tcflag_t = 0x00002000; pub const IUTF8: ::tcflag_t = 0x00004000; pub const TCSANOW: ::c_int = 0x540e; pub const TCSADRAIN: ::c_int = 0x540f; pub const TCSAFLUSH: ::c_int = 0x5410; pub const CPU_SETSIZE: ::c_int = 0x400; pub const PTRACE_TRACEME: ::c_uint = 0; pub const PTRACE_PEEKTEXT: ::c_uint = 1; pub const PTRACE_PEEKDATA: ::c_uint = 2; pub const PTRACE_PEEKUSER: ::c_uint = 3; pub const PTRACE_POKETEXT: ::c_uint = 4; pub const PTRACE_POKEDATA: ::c_uint = 5; pub const PTRACE_POKEUSER: ::c_uint = 6; pub const PTRACE_CONT: ::c_uint = 7; pub const PTRACE_KILL: ::c_uint = 8; pub const PTRACE_SINGLESTEP: ::c_uint = 9; pub const PTRACE_ATTACH: ::c_uint = 16; pub const PTRACE_DETACH: ::c_uint = 17; pub const PTRACE_SYSCALL: ::c_uint = 24; pub const PTRACE_SETOPTIONS: ::c_uint = 0x4200; pub const PTRACE_GETEVENTMSG: ::c_uint = 0x4201; pub const PTRACE_GETSIGINFO: ::c_uint = 0x4202; pub const PTRACE_SETSIGINFO: ::c_uint = 0x4203; 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 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_DEEPBIND: ::c_int = 0x10; pub const RTLD_GLOBAL: ::c_int = 0x4; pub const RTLD_NOLOAD: ::c_int = 0x8; pub const LINUX_REBOOT_MAGIC1: ::c_int = 0xfee1dead; pub const LINUX_REBOOT_MAGIC2: ::c_int = 672274793; pub const LINUX_REBOOT_MAGIC2A: ::c_int = 85072278; pub const LINUX_REBOOT_MAGIC2B: ::c_int = 369367448; pub const LINUX_REBOOT_MAGIC2C: ::c_int = 537993216; pub const LINUX_REBOOT_CMD_RESTART: ::c_int = 0x01234567; pub const LINUX_REBOOT_CMD_HALT: ::c_int = 0xCDEF0123; pub const LINUX_REBOOT_CMD_CAD_ON: ::c_int = 0x89ABCDEF; pub const LINUX_REBOOT_CMD_CAD_OFF: ::c_int = 0x00000000; pub const LINUX_REBOOT_CMD_POWER_OFF: ::c_int = 0x4321FEDC; pub const LINUX_REBOOT_CMD_RESTART2: ::c_int = 0xA1B2C3D4; pub const LINUX_REBOOT_CMD_SW_SUSPEND: ::c_int = 0xD000FCE2; pub const LINUX_REBOOT_CMD_KEXEC: ::c_int = 0x45584543; pub const MCL_CURRENT: ::c_int = 0x0001; pub const MCL_FUTURE: ::c_int = 0x0002; pub const SIGSTKSZ: ::size_t = 8192; 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 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; cfg_if! { if #[cfg(target_arch = "mips")] { mod mips32; pub use self::mips32::*; } else if #[cfg(target_arch = "mips64")] { mod mips64; pub use self::mips64::*; } else { // Unknown target_arch } } libc-0.2.66/src/unix/uclibc/mod.rs010064400007650000024000002152141357020644200151050ustar0000000000000000pub type sa_family_t = u16; pub type pthread_key_t = ::c_uint; pub type speed_t = ::c_uint; pub type tcflag_t = ::c_uint; pub type loff_t = ::c_longlong; pub type clockid_t = ::c_int; pub type key_t = ::c_int; pub type id_t = ::c_uint; pub type useconds_t = u32; pub type dev_t = u64; pub type socklen_t = u32; pub type mode_t = u32; pub type ino64_t = u64; pub type off64_t = i64; pub type blkcnt64_t = i64; pub type rlim64_t = u64; pub type shmatt_t = ::c_ulong; pub type mqd_t = ::c_int; pub type msgqnum_t = ::c_ulong; pub type msglen_t = ::c_ulong; pub type nfds_t = ::c_ulong; pub type nl_item = ::c_int; pub type idtype_t = ::c_uint; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum fpos64_t {} // TODO: fill this out with a struct impl ::Copy for fpos64_t {} impl ::Clone for fpos64_t { fn clone(&self) -> fpos64_t { *self } } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } s! { pub struct in_addr { pub s_addr: ::in_addr_t, } pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } pub struct sockaddr { pub sa_family: sa_family_t, pub sa_data: [::c_char; 14], } pub struct sockaddr_in { pub sin_family: sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [u8; 8], } 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 addrinfo { pub ai_flags: ::c_int, pub ai_family: ::c_int, pub ai_socktype: ::c_int, pub ai_protocol: ::c_int, pub ai_addrlen: socklen_t, pub ai_addr: *mut ::sockaddr, pub ai_canonname: *mut c_char, pub ai_next: *mut addrinfo, } pub struct sockaddr_ll { pub sll_family: ::c_ushort, pub sll_protocol: ::c_ushort, pub sll_ifindex: ::c_int, pub sll_hatype: ::c_ushort, pub sll_pkttype: ::c_uchar, pub sll_halen: ::c_uchar, pub sll_addr: [::c_uchar; 8] } pub struct fd_set { fds_bits: [::c_ulong; FD_SETSIZE / ULONG_SIZE], } 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: *const ::c_char, } pub struct sched_param { pub sched_priority: ::c_int, } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } 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_p_sep_by_space: ::c_char, pub int_n_cs_precedes: ::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 rlimit64 { pub rlim_cur: rlim64_t, pub rlim_max: rlim64_t, } pub struct glob_t { pub gl_pathc: ::size_t, pub gl_pathv: *mut *mut c_char, pub gl_offs: ::size_t, pub gl_flags: ::c_int, __unused1: *mut ::c_void, __unused2: *mut ::c_void, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, } 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_ifu: *mut ::sockaddr, // FIXME This should be a union pub ifa_data: *mut ::c_void } pub struct pthread_rwlockattr_t { __lockkind: ::c_int, __pshared: ::c_int, } pub struct passwd { pub pw_name: *mut ::c_char, pub pw_passwd: *mut ::c_char, pub pw_uid: ::uid_t, pub pw_gid: ::gid_t, pub pw_gecos: *mut ::c_char, pub pw_dir: *mut ::c_char, pub pw_shell: *mut ::c_char, } pub struct spwd { pub sp_namp: *mut ::c_char, pub sp_pwdp: *mut ::c_char, pub sp_lstchg: ::c_long, pub sp_min: ::c_long, pub sp_max: ::c_long, pub sp_warn: ::c_long, pub sp_inact: ::c_long, pub sp_expire: ::c_long, pub sp_flag: ::c_ulong, } 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, #[cfg(target_endian = "little")] pub f_fsid: ::c_ulong, #[cfg(target_pointer_width = "32")] __f_unused: ::c_int, #[cfg(target_endian = "big")] pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6], } pub struct dqblk { pub dqb_bhardlimit: u32, pub dqb_bsoftlimit: u32, pub dqb_curblocks: u32, pub dqb_ihardlimit: u32, pub dqb_isoftlimit: u32, pub dqb_curinodes: u32, pub dqb_btime: ::time_t, pub dqb_itime: ::time_t, } pub struct signalfd_siginfo { pub ssi_signo: u32, pub ssi_errno: i32, pub ssi_code: i32, pub ssi_pid: u32, pub ssi_uid: u32, pub ssi_fd: i32, pub ssi_tid: u32, pub ssi_band: u32, pub ssi_overrun: u32, pub ssi_trapno: u32, pub ssi_status: i32, pub ssi_int: i32, pub ssi_ptr: u64, pub ssi_utime: u64, pub ssi_stime: u64, pub ssi_addr: u64, pub ssi_addr_lsb: u16, _pad2: u16, pub ssi_syscall: i32, pub ssi_call_addr: u64, pub ssi_arch: u32, _pad: [u8; 28], } pub struct fsid_t { __val: [::c_int; 2], } pub struct cpu_set_t { #[cfg(target_pointer_width = "32")] bits: [u32; 32], #[cfg(target_pointer_width = "64")] bits: [u64; 16], } pub struct if_nameindex { pub if_index: ::c_uint, pub if_name: *mut ::c_char, } // System V IPC pub struct msginfo { pub msgpool: ::c_int, pub msgmap: ::c_int, pub msgmax: ::c_int, pub msgmnb: ::c_int, pub msgmni: ::c_int, pub msgssz: ::c_int, pub msgtql: ::c_int, pub msgseg: ::c_ushort, } pub struct ucred { pub pid: ::pid_t, pub uid: ::uid_t, pub gid: ::gid_t, } } s_no_extra_traits! { #[cfg_attr( any(target_arch = "x86", target_arch = "x86_64"), repr(packed) )] #[allow(missing_debug_implementations)] pub struct epoll_event { pub events: u32, pub u64: u64, } #[allow(missing_debug_implementations)] pub struct sockaddr_un { pub sun_family: sa_family_t, pub sun_path: [::c_char; 108] } #[allow(missing_debug_implementations)] pub struct sockaddr_storage { pub ss_family: sa_family_t, __ss_align: ::size_t, #[cfg(target_pointer_width = "32")] __ss_pad2: [u8; 128 - 2 * 4], #[cfg(target_pointer_width = "64")] __ss_pad2: [u8; 128 - 2 * 8], } #[allow(missing_debug_implementations)] pub struct utsname { pub sysname: [::c_char; 65], pub nodename: [::c_char; 65], pub release: [::c_char; 65], pub version: [::c_char; 65], pub machine: [::c_char; 65], pub domainname: [::c_char; 65] } #[allow(missing_debug_implementations)] pub struct dirent { pub d_ino: ::ino_t, pub d_off: ::off_t, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } #[allow(missing_debug_implementations)] pub struct dirent64 { pub d_ino: ::ino64_t, pub d_off: ::off64_t, pub d_reclen: ::c_ushort, pub d_type: ::c_uchar, pub d_name: [::c_char; 256], } pub struct mq_attr { pub mq_flags: ::c_long, pub mq_maxmsg: ::c_long, pub mq_msgsize: ::c_long, pub mq_curmsgs: ::c_long, pad: [::c_long; 4] } pub struct sockaddr_nl { pub nl_family: ::sa_family_t, nl_pad: ::c_ushort, pub nl_pid: u32, pub nl_groups: u32 } pub struct sigevent { pub sigev_value: ::sigval, pub sigev_signo: ::c_int, pub sigev_notify: ::c_int, // Actually a union. We only expose sigev_notify_thread_id because it's // the most useful member pub sigev_notify_thread_id: ::c_int, #[cfg(target_pointer_width = "64")] __unused1: [::c_int; 11], #[cfg(target_pointer_width = "32")] __unused1: [::c_int; 12] } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl PartialEq for mq_attr { fn eq(&self, other: &mq_attr) -> bool { self.mq_flags == other.mq_flags && self.mq_maxmsg == other.mq_maxmsg && self.mq_msgsize == other.mq_msgsize && self.mq_curmsgs == other.mq_curmsgs } } impl Eq for mq_attr {} impl ::fmt::Debug for mq_attr { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("mq_attr") .field("mq_flags", &self.mq_flags) .field("mq_maxmsg", &self.mq_maxmsg) .field("mq_msgsize", &self.mq_msgsize) .field("mq_curmsgs", &self.mq_curmsgs) .finish() } } impl ::hash::Hash for mq_attr { fn hash(&self, state: &mut H) { self.mq_flags.hash(state); self.mq_maxmsg.hash(state); self.mq_msgsize.hash(state); self.mq_curmsgs.hash(state); } } impl PartialEq for sockaddr_nl { fn eq(&self, other: &sockaddr_nl) -> bool { self.nl_family == other.nl_family && self.nl_pid == other.nl_pid && self.nl_groups == other.nl_groups } } impl Eq for sockaddr_nl {} impl ::fmt::Debug for sockaddr_nl { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_nl") .field("nl_family", &self.nl_family) .field("nl_pid", &self.nl_pid) .field("nl_groups", &self.nl_groups) .finish() } } impl ::hash::Hash for sockaddr_nl { fn hash(&self, state: &mut H) { self.nl_family.hash(state); self.nl_pid.hash(state); self.nl_groups.hash(state); } } impl PartialEq for sigevent { fn eq(&self, other: &sigevent) -> bool { self.sigev_value == other.sigev_value && self.sigev_signo == other.sigev_signo && self.sigev_notify == other.sigev_notify && self.sigev_notify_thread_id == other.sigev_notify_thread_id } } impl Eq for sigevent {} impl ::fmt::Debug for sigevent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigevent") .field("sigev_value", &self.sigev_value) .field("sigev_signo", &self.sigev_signo) .field("sigev_notify", &self.sigev_notify) .field("sigev_notify_thread_id", &self.sigev_notify_thread_id) .finish() } } impl ::hash::Hash for sigevent { fn hash(&self, state: &mut H) { self.sigev_value.hash(state); self.sigev_signo.hash(state); self.sigev_notify.hash(state); self.sigev_notify_thread_id.hash(state); } } } } // intentionally not public, only used for fd_set cfg_if! { if #[cfg(target_pointer_width = "32")] { const ULONG_SIZE: usize = 32; } else if #[cfg(target_pointer_width = "64")] { const ULONG_SIZE: usize = 64; } else { // Unknown target_pointer_width } } pub const EXIT_FAILURE: ::c_int = 1; pub const EXIT_SUCCESS: ::c_int = 0; pub const RAND_MAX: ::c_int = 2147483647; 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 F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; // Linux-specific fcntls pub const F_SETLEASE: ::c_int = 1024; pub const F_GETLEASE: ::c_int = 1025; pub const F_NOTIFY: ::c_int = 1026; pub const F_DUPFD_CLOEXEC: ::c_int = 1030; // TODO(#235): Include file sealing fcntls once we have a way to verify them. pub const SIGTRAP: ::c_int = 5; pub const PTHREAD_CREATE_JOINABLE: ::c_int = 0; pub const PTHREAD_CREATE_DETACHED: ::c_int = 1; pub const CLOCK_REALTIME: ::clockid_t = 0; pub const CLOCK_MONOTONIC: ::clockid_t = 1; pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 2; pub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 3; // TODO(#247) Someday our Travis shall have glibc 2.21 (released in Sep // 2014.) See also musl/mod.rs // pub const CLOCK_SGI_CYCLE: ::clockid_t = 10; // pub const CLOCK_TAI: ::clockid_t = 11; pub const TIMER_ABSTIME: ::c_int = 1; pub const RLIMIT_CPU: ::c_int = 0; pub const RLIMIT_FSIZE: ::c_int = 1; pub const RLIMIT_DATA: ::c_int = 2; pub const RLIMIT_STACK: ::c_int = 3; pub const RLIMIT_CORE: ::c_int = 4; pub const RLIMIT_LOCKS: ::c_int = 10; pub const RLIMIT_SIGPENDING: ::c_int = 11; pub const RLIMIT_MSGQUEUE: ::c_int = 12; pub const RLIMIT_NICE: ::c_int = 13; pub const RLIMIT_RTPRIO: ::c_int = 14; pub const RUSAGE_SELF: ::c_int = 0; pub const O_RDONLY: ::c_int = 0; pub const O_WRONLY: ::c_int = 1; pub const O_RDWR: ::c_int = 2; pub const SOCK_CLOEXEC: ::c_int = O_CLOEXEC; pub const S_IFIFO: ::mode_t = 4096; pub const S_IFCHR: ::mode_t = 8192; pub const S_IFBLK: ::mode_t = 24576; pub const S_IFDIR: ::mode_t = 16384; 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 = 61440; pub const S_IRWXU: ::mode_t = 448; pub const S_IXUSR: ::mode_t = 64; pub const S_IWUSR: ::mode_t = 128; pub const S_IRUSR: ::mode_t = 256; pub const S_IRWXG: ::mode_t = 56; pub const S_IXGRP: ::mode_t = 8; pub const S_IWGRP: ::mode_t = 16; pub const S_IRGRP: ::mode_t = 32; pub const S_IRWXO: ::mode_t = 7; pub const S_IXOTH: ::mode_t = 1; pub const S_IWOTH: ::mode_t = 2; pub const S_IROTH: ::mode_t = 4; pub const F_OK: ::c_int = 0; pub const R_OK: ::c_int = 4; pub const W_OK: ::c_int = 2; pub const X_OK: ::c_int = 1; pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::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 SIGABRT: ::c_int = 6; pub const SIGFPE: ::c_int = 8; pub const SIGKILL: ::c_int = 9; pub const SIGSEGV: ::c_int = 11; pub const SIGPIPE: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const PROT_NONE: ::c_int = 0; pub const PROT_READ: ::c_int = 1; pub const PROT_WRITE: ::c_int = 2; pub const PROT_EXEC: ::c_int = 4; pub const LC_CTYPE: ::c_int = 0; pub const LC_NUMERIC: ::c_int = 1; pub const LC_MONETARY: ::c_int = 2; pub const LC_TIME: ::c_int = 3; pub const LC_COLLATE: ::c_int = 4; pub const LC_MESSAGES: ::c_int = 5; pub const LC_ALL: ::c_int = 6; pub const LC_CTYPE_MASK: ::c_int = (1 << LC_CTYPE); pub const LC_NUMERIC_MASK: ::c_int = (1 << LC_NUMERIC); pub const LC_TIME_MASK: ::c_int = (1 << LC_TIME); pub const LC_COLLATE_MASK: ::c_int = (1 << LC_COLLATE); pub const LC_MONETARY_MASK: ::c_int = (1 << LC_MONETARY); pub const LC_MESSAGES_MASK: ::c_int = (1 << LC_MESSAGES); // LC_ALL_MASK defined per platform pub const MAP_FILE: ::c_int = 0x0000; pub const MAP_SHARED: ::c_int = 0x0001; pub const MAP_PRIVATE: ::c_int = 0x0002; pub const MAP_FIXED: ::c_int = 0x0010; pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void; // MS_ flags for msync(2) pub const MS_ASYNC: ::c_int = 0x0001; pub const MS_INVALIDATE: ::c_int = 0x0002; pub const MS_SYNC: ::c_int = 0x0004; // MS_ flags for mount(2) pub const MS_RDONLY: ::c_ulong = 0x01; pub const MS_NOSUID: ::c_ulong = 0x02; pub const MS_NODEV: ::c_ulong = 0x04; pub const MS_NOEXEC: ::c_ulong = 0x08; pub const MS_SYNCHRONOUS: ::c_ulong = 0x10; pub const MS_REMOUNT: ::c_ulong = 0x20; pub const MS_MANDLOCK: ::c_ulong = 0x40; pub const MS_NOATIME: ::c_ulong = 0x0400; pub const MS_NODIRATIME: ::c_ulong = 0x0800; pub const MS_BIND: ::c_ulong = 0x1000; pub const MS_NOUSER: ::c_ulong = 0x80000000; pub const MS_MGC_VAL: ::c_ulong = 0xc0ed0000; pub const MS_MGC_MSK: ::c_ulong = 0xffff0000; pub const MS_RMT_MASK: ::c_ulong = 0x800051; 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 EWOULDBLOCK: ::c_int = EAGAIN; pub const SCM_RIGHTS: ::c_int = 0x01; pub const SCM_CREDENTIALS: ::c_int = 0x02; // netinet/in.h // NOTE: These are in addition to the constants defined in src/unix/mod.rs // IPPROTO_IP defined in src/unix/mod.rs /// Hop-by-hop option header pub const IPPROTO_HOPOPTS: ::c_int = 0; // IPPROTO_ICMP defined in src/unix/mod.rs /// group mgmt protocol pub const IPPROTO_IGMP: ::c_int = 2; /// for compatibility pub const IPPROTO_IPIP: ::c_int = 4; // IPPROTO_TCP defined in src/unix/mod.rs /// exterior gateway protocol pub const IPPROTO_EGP: ::c_int = 8; /// pup pub const IPPROTO_PUP: ::c_int = 12; // IPPROTO_UDP defined in src/unix/mod.rs /// xns idp pub const IPPROTO_IDP: ::c_int = 22; /// tp-4 w/ class negotiation pub const IPPROTO_TP: ::c_int = 29; /// DCCP pub const IPPROTO_DCCP: ::c_int = 33; // IPPROTO_IPV6 defined in src/unix/mod.rs /// IP6 routing header pub const IPPROTO_ROUTING: ::c_int = 43; /// IP6 fragmentation header pub const IPPROTO_FRAGMENT: ::c_int = 44; /// resource reservation pub const IPPROTO_RSVP: ::c_int = 46; /// General Routing Encap. pub const IPPROTO_GRE: ::c_int = 47; /// IP6 Encap Sec. Payload pub const IPPROTO_ESP: ::c_int = 50; /// IP6 Auth Header pub const IPPROTO_AH: ::c_int = 51; // IPPROTO_ICMPV6 defined in src/unix/mod.rs /// IP6 no next header pub const IPPROTO_NONE: ::c_int = 59; /// IP6 destination option pub const IPPROTO_DSTOPTS: ::c_int = 60; pub const IPPROTO_MTP: ::c_int = 92; pub const IPPROTO_BEETPH: ::c_int = 94; /// encapsulation header pub const IPPROTO_ENCAP: ::c_int = 98; /// Protocol indep. multicast pub const IPPROTO_PIM: ::c_int = 103; /// IP Payload Comp. Protocol pub const IPPROTO_COMP: ::c_int = 108; /// SCTP pub const IPPROTO_SCTP: ::c_int = 132; pub const IPPROTO_MH: ::c_int = 135; pub const IPPROTO_UDPLITE: ::c_int = 136; pub const IPPROTO_MPLS: ::c_int = 137; /// raw IP packet pub const IPPROTO_RAW: ::c_int = 255; pub const IPPROTO_MAX: ::c_int = 256; pub const PROT_GROWSDOWN: ::c_int = 0x1000000; pub const PROT_GROWSUP: ::c_int = 0x2000000; pub const MAP_TYPE: ::c_int = 0x000f; pub const MADV_NORMAL: ::c_int = 0; pub const MADV_RANDOM: ::c_int = 1; pub const MADV_SEQUENTIAL: ::c_int = 2; pub const MADV_WILLNEED: ::c_int = 3; pub const MADV_DONTNEED: ::c_int = 4; pub const MADV_REMOVE: ::c_int = 9; pub const MADV_DONTFORK: ::c_int = 10; pub const MADV_DOFORK: ::c_int = 11; pub const MADV_MERGEABLE: ::c_int = 12; pub const MADV_UNMERGEABLE: ::c_int = 13; pub const MADV_HWPOISON: ::c_int = 100; // https://github.com/kraj/uClibc/blob/master/include/net/if.h#L44 pub const IFF_UP: ::c_int = 0x1; // Interface is up. pub const IFF_BROADCAST: ::c_int = 0x2; // Broadcast address valid. pub const IFF_DEBUG: ::c_int = 0x4; // Turn on debugging. pub const IFF_LOOPBACK: ::c_int = 0x8; // Is a loopback net. pub const IFF_POINTOPOINT: ::c_int = 0x10; // Interface is point-to-point link. pub const IFF_NOTRAILERS: ::c_int = 0x20; // Avoid use of trailers. pub const IFF_RUNNING: ::c_int = 0x40; // Resources allocated. pub const IFF_NOARP: ::c_int = 0x80; // No address resolution protocol. pub const IFF_PROMISC: ::c_int = 0x100; // Receive all packets. // Not supported pub const IFF_ALLMULTI: ::c_int = 0x200; // Receive all multicast packets. pub const IFF_MASTER: ::c_int = 0x400; // Master of a load balancer. pub const IFF_SLAVE: ::c_int = 0x800; // Slave of a load balancer. pub const IFF_MULTICAST: ::c_int = 0x1000; // Supports multicast. pub const IFF_PORTSEL: ::c_int = 0x2000; // Can set media type. pub const IFF_AUTOMEDIA: ::c_int = 0x4000; // Auto media select active. // Dialup device with changing addresses. pub const IFF_DYNAMIC: ::c_int = 0x8000; pub const SOL_IP: ::c_int = 0; pub const SOL_TCP: ::c_int = 6; pub const SOL_IPV6: ::c_int = 41; pub const SOL_ICMPV6: ::c_int = 58; pub const SOL_RAW: ::c_int = 255; pub const SOL_DECNET: ::c_int = 261; pub const SOL_X25: ::c_int = 262; pub const SOL_PACKET: ::c_int = 263; pub const SOL_ATM: ::c_int = 264; pub const SOL_AAL: ::c_int = 265; pub const SOL_IRDA: ::c_int = 266; pub const AF_UNSPEC: ::c_int = 0; pub const AF_UNIX: ::c_int = 1; pub const AF_LOCAL: ::c_int = 1; pub const AF_INET: ::c_int = 2; pub const AF_AX25: ::c_int = 3; pub const AF_IPX: ::c_int = 4; pub const AF_APPLETALK: ::c_int = 5; pub const AF_NETROM: ::c_int = 6; pub const AF_BRIDGE: ::c_int = 7; pub const AF_ATMPVC: ::c_int = 8; pub const AF_X25: ::c_int = 9; pub const AF_INET6: ::c_int = 10; pub const AF_ROSE: ::c_int = 11; pub const AF_DECnet: ::c_int = 12; pub const AF_NETBEUI: ::c_int = 13; pub const AF_SECURITY: ::c_int = 14; pub const AF_KEY: ::c_int = 15; pub const AF_NETLINK: ::c_int = 16; pub const AF_ROUTE: ::c_int = AF_NETLINK; pub const AF_PACKET: ::c_int = 17; pub const AF_ASH: ::c_int = 18; pub const AF_ECONET: ::c_int = 19; pub const AF_ATMSVC: ::c_int = 20; pub const AF_SNA: ::c_int = 22; pub const AF_IRDA: ::c_int = 23; pub const AF_PPPOX: ::c_int = 24; pub const AF_WANPIPE: ::c_int = 25; pub const AF_LLC: ::c_int = 26; pub const AF_CAN: ::c_int = 29; pub const AF_TIPC: ::c_int = 30; pub const AF_BLUETOOTH: ::c_int = 31; pub const AF_IUCV: ::c_int = 32; pub const AF_RXRPC: ::c_int = 33; pub const AF_ISDN: ::c_int = 34; pub const AF_PHONET: ::c_int = 35; pub const AF_IEEE802154: ::c_int = 36; pub const AF_CAIF: ::c_int = 37; pub const AF_ALG: ::c_int = 38; pub const PF_UNSPEC: ::c_int = AF_UNSPEC; pub const PF_UNIX: ::c_int = AF_UNIX; pub const PF_LOCAL: ::c_int = AF_LOCAL; pub const PF_INET: ::c_int = AF_INET; pub const PF_AX25: ::c_int = AF_AX25; pub const PF_IPX: ::c_int = AF_IPX; pub const PF_APPLETALK: ::c_int = AF_APPLETALK; pub const PF_NETROM: ::c_int = AF_NETROM; pub const PF_BRIDGE: ::c_int = AF_BRIDGE; pub const PF_ATMPVC: ::c_int = AF_ATMPVC; pub const PF_X25: ::c_int = AF_X25; pub const PF_INET6: ::c_int = AF_INET6; pub const PF_ROSE: ::c_int = AF_ROSE; pub const PF_DECnet: ::c_int = AF_DECnet; pub const PF_NETBEUI: ::c_int = AF_NETBEUI; pub const PF_SECURITY: ::c_int = AF_SECURITY; pub const PF_KEY: ::c_int = AF_KEY; pub const PF_NETLINK: ::c_int = AF_NETLINK; pub const PF_ROUTE: ::c_int = AF_ROUTE; pub const PF_PACKET: ::c_int = AF_PACKET; pub const PF_ASH: ::c_int = AF_ASH; pub const PF_ECONET: ::c_int = AF_ECONET; pub const PF_ATMSVC: ::c_int = AF_ATMSVC; pub const PF_SNA: ::c_int = AF_SNA; pub const PF_IRDA: ::c_int = AF_IRDA; pub const PF_PPPOX: ::c_int = AF_PPPOX; pub const PF_WANPIPE: ::c_int = AF_WANPIPE; pub const PF_LLC: ::c_int = AF_LLC; pub const PF_CAN: ::c_int = AF_CAN; pub const PF_TIPC: ::c_int = AF_TIPC; pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH; pub const PF_IUCV: ::c_int = AF_IUCV; pub const PF_RXRPC: ::c_int = AF_RXRPC; pub const PF_ISDN: ::c_int = AF_ISDN; pub const PF_PHONET: ::c_int = AF_PHONET; pub const PF_IEEE802154: ::c_int = AF_IEEE802154; pub const PF_CAIF: ::c_int = AF_CAIF; pub const PF_ALG: ::c_int = AF_ALG; pub const SOMAXCONN: ::c_int = 128; pub const MSG_OOB: ::c_int = 1; pub const MSG_PEEK: ::c_int = 2; pub const MSG_DONTROUTE: ::c_int = 4; pub const MSG_CTRUNC: ::c_int = 8; pub const MSG_TRUNC: ::c_int = 0x20; pub const MSG_DONTWAIT: ::c_int = 0x40; pub const MSG_EOR: ::c_int = 0x80; pub const MSG_WAITALL: ::c_int = 0x100; pub const MSG_FIN: ::c_int = 0x200; pub const MSG_SYN: ::c_int = 0x400; pub const MSG_CONFIRM: ::c_int = 0x800; pub const MSG_RST: ::c_int = 0x1000; pub const MSG_ERRQUEUE: ::c_int = 0x2000; pub const MSG_NOSIGNAL: ::c_int = 0x4000; pub const MSG_MORE: ::c_int = 0x8000; pub const MSG_WAITFORONE: ::c_int = 0x10000; pub const MSG_CMSG_CLOEXEC: ::c_int = 0x40000000; pub const SOCK_RAW: ::c_int = 3; pub const IP_MULTICAST_TTL: ::c_int = 33; pub const IP_MULTICAST_LOOP: ::c_int = 34; pub const IP_TTL: ::c_int = 2; pub const IP_HDRINCL: ::c_int = 3; pub const IP_ADD_MEMBERSHIP: ::c_int = 35; pub const IP_DROP_MEMBERSHIP: ::c_int = 36; pub const IPV6_ADD_MEMBERSHIP: ::c_int = 20; pub const IPV6_DROP_MEMBERSHIP: ::c_int = 21; pub const IPV6_JOIN_GROUP: ::c_int = 20; pub const IPV6_LEAVE_GROUP: ::c_int = 21; pub const TCP_NODELAY: ::c_int = 1; pub const TCP_MAXSEG: ::c_int = 2; pub const TCP_CORK: ::c_int = 3; pub const TCP_KEEPIDLE: ::c_int = 4; pub const TCP_KEEPINTVL: ::c_int = 5; pub const TCP_KEEPCNT: ::c_int = 6; pub const TCP_SYNCNT: ::c_int = 7; pub const TCP_LINGER2: ::c_int = 8; pub const TCP_DEFER_ACCEPT: ::c_int = 9; 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; // Source: // https://github.com/kraj/uClibc/blob/ca1c74d67dd115d059a875150e10b8560a9c35a8 // /libc/sysdeps/linux/common/bits/in.h // Same for all architectures pub const IPV6_MULTICAST_HOPS: ::c_int = 18; pub const IP_MULTICAST_IF: ::c_int = 32; pub const IPV6_MULTICAST_IF: ::c_int = 17; pub const IPV6_UNICAST_HOPS: ::c_int = 16; // Source: // https://github.com/kraj/uClibc/tree/ca1c74d67dd115d059a875150e10b8560a9c35a8 // Same for all architectures pub const FUTEX_WAIT: ::c_int = 0; pub const FUTEX_PRIVATE_FLAG: ::c_int = 128; pub const FUTEX_WAKE: ::c_int = 1; pub const IPV6_MULTICAST_LOOP: ::c_int = 19; pub const IPV6_V6ONLY: ::c_int = 26; pub const SO_DEBUG: ::c_int = 1; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const LOCK_SH: ::c_int = 1; pub const LOCK_EX: ::c_int = 2; pub const LOCK_NB: ::c_int = 4; pub const LOCK_UN: ::c_int = 8; pub const SS_ONSTACK: ::c_int = 1; pub const SS_DISABLE: ::c_int = 2; pub const PATH_MAX: ::c_int = 4096; 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 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 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_DETACH: ::c_int = 0x2; pub const MNT_EXPIRE: ::c_int = 0x4; pub const MNT_FORCE: ::c_int = 0x1; pub const Q_SYNC: ::c_int = 0x600; pub const Q_QUOTAON: ::c_int = 0x100; pub const Q_QUOTAOFF: ::c_int = 0x200; pub const Q_GETQUOTA: ::c_int = 0x300; pub const Q_SETQUOTA: ::c_int = 0x400; pub const TCIOFF: ::c_int = 2; pub const TCION: ::c_int = 3; pub const TCOOFF: ::c_int = 0; pub const TCOON: ::c_int = 1; pub const TCIFLUSH: ::c_int = 0; pub const TCOFLUSH: ::c_int = 1; pub const TCIOFLUSH: ::c_int = 2; pub const NL0: ::tcflag_t = 0x00000000; pub const NL1: ::tcflag_t = 0x00000100; pub const TAB0: ::tcflag_t = 0x00000000; pub const CR0: ::tcflag_t = 0x00000000; pub const FF0: ::tcflag_t = 0x00000000; pub const BS0: ::tcflag_t = 0x00000000; pub const VT0: ::tcflag_t = 0x00000000; pub const VERASE: usize = 2; pub const VKILL: usize = 3; pub const VINTR: usize = 0; pub const VQUIT: usize = 1; pub const VLNEXT: usize = 15; pub const IGNBRK: ::tcflag_t = 0x00000001; pub const BRKINT: ::tcflag_t = 0x00000002; pub const IGNPAR: ::tcflag_t = 0x00000004; pub const PARMRK: ::tcflag_t = 0x00000008; pub const INPCK: ::tcflag_t = 0x00000010; pub const ISTRIP: ::tcflag_t = 0x00000020; pub const INLCR: ::tcflag_t = 0x00000040; pub const IGNCR: ::tcflag_t = 0x00000080; pub const ICRNL: ::tcflag_t = 0x00000100; pub const IXANY: ::tcflag_t = 0x00000800; pub const IMAXBEL: ::tcflag_t = 0x00002000; pub const OPOST: ::tcflag_t = 0x1; pub const CS5: ::tcflag_t = 0x00000000; pub const CRTSCTS: ::tcflag_t = 0x80000000; pub const ECHO: ::tcflag_t = 0x00000008; pub const CLONE_VM: ::c_int = 0x100; pub const CLONE_FS: ::c_int = 0x200; pub const CLONE_FILES: ::c_int = 0x400; pub const CLONE_SIGHAND: ::c_int = 0x800; pub const CLONE_PTRACE: ::c_int = 0x2000; pub const CLONE_VFORK: ::c_int = 0x4000; pub const CLONE_PARENT: ::c_int = 0x8000; pub const CLONE_THREAD: ::c_int = 0x10000; pub const CLONE_NEWNS: ::c_int = 0x20000; pub const CLONE_SYSVSEM: ::c_int = 0x40000; pub const CLONE_SETTLS: ::c_int = 0x80000; pub const CLONE_PARENT_SETTID: ::c_int = 0x100000; 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_NEWUTS: ::c_int = 0x04000000; pub const CLONE_NEWIPC: ::c_int = 0x08000000; pub const CLONE_NEWUSER: ::c_int = 0x10000000; pub const CLONE_NEWPID: ::c_int = 0x20000000; pub const CLONE_NEWNET: ::c_int = 0x40000000; pub const CLONE_IO: ::c_int = 0x80000000; pub const WNOHANG: ::c_int = 0x00000001; pub const WUNTRACED: ::c_int = 0x00000002; pub const WSTOPPED: ::c_int = WUNTRACED; pub const WEXITED: ::c_int = 0x00000004; pub const WCONTINUED: ::c_int = 0x00000008; pub const WNOWAIT: ::c_int = 0x01000000; pub const __WNOTHREAD: ::c_int = 0x20000000; pub const __WALL: ::c_int = 0x40000000; pub const __WCLONE: ::c_int = 0x80000000; pub const SPLICE_F_MOVE: ::c_uint = 0x01; pub const SPLICE_F_NONBLOCK: ::c_uint = 0x02; pub const SPLICE_F_MORE: ::c_uint = 0x04; pub const SPLICE_F_GIFT: ::c_uint = 0x08; pub const RTLD_LOCAL: ::c_int = 0; pub const RTLD_LAZY: ::c_int = 1; pub const POSIX_FADV_NORMAL: ::c_int = 0; pub const POSIX_FADV_RANDOM: ::c_int = 1; pub const POSIX_FADV_SEQUENTIAL: ::c_int = 2; pub const POSIX_FADV_WILLNEED: ::c_int = 3; pub const AT_FDCWD: ::c_int = -100; pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x100; pub const AT_REMOVEDIR: ::c_int = 0x200; pub const AT_SYMLINK_FOLLOW: ::c_int = 0x400; pub const LOG_CRON: ::c_int = 9 << 3; pub const LOG_AUTHPRIV: ::c_int = 10 << 3; pub const LOG_FTP: ::c_int = 11 << 3; pub const LOG_PERROR: ::c_int = 0x20; pub const POLLIN: ::c_short = 0x1; pub const POLLPRI: ::c_short = 0x2; pub const POLLOUT: ::c_short = 0x4; pub const POLLERR: ::c_short = 0x8; pub const POLLHUP: ::c_short = 0x10; pub const POLLNVAL: ::c_short = 0x20; pub const PIPE_BUF: usize = 4096; pub const SI_LOAD_SHIFT: ::c_uint = 16; pub const SIGEV_SIGNAL: ::c_int = 0; pub const SIGEV_NONE: ::c_int = 1; pub const SIGEV_THREAD: ::c_int = 2; pub const P_ALL: idtype_t = 0; pub const P_PID: idtype_t = 1; pub const P_PGID: idtype_t = 2; pub const UTIME_OMIT: c_long = 1073741822; pub const UTIME_NOW: c_long = 1073741823; pub const L_tmpnam: ::c_uint = 20; pub const _PC_LINK_MAX: ::c_int = 0; pub const _PC_MAX_CANON: ::c_int = 1; pub const _PC_MAX_INPUT: ::c_int = 2; pub const _PC_NAME_MAX: ::c_int = 3; pub const _PC_PATH_MAX: ::c_int = 4; pub const _PC_PIPE_BUF: ::c_int = 5; pub const _PC_CHOWN_RESTRICTED: ::c_int = 6; pub const _PC_NO_TRUNC: ::c_int = 7; pub const _PC_VDISABLE: ::c_int = 8; pub const _SC_ARG_MAX: ::c_int = 0; pub const _SC_CHILD_MAX: ::c_int = 1; pub const _SC_CLK_TCK: ::c_int = 2; pub const _SC_NGROUPS_MAX: ::c_int = 3; pub const _SC_OPEN_MAX: ::c_int = 4; pub const _SC_STREAM_MAX: ::c_int = 5; pub const _SC_TZNAME_MAX: ::c_int = 6; pub const _SC_JOB_CONTROL: ::c_int = 7; pub const _SC_SAVED_IDS: ::c_int = 8; pub const _SC_REALTIME_SIGNALS: ::c_int = 9; pub const _SC_PRIORITY_SCHEDULING: ::c_int = 10; pub const _SC_TIMERS: ::c_int = 11; pub const _SC_ASYNCHRONOUS_IO: ::c_int = 12; pub const _SC_PRIORITIZED_IO: ::c_int = 13; pub const _SC_SYNCHRONIZED_IO: ::c_int = 14; pub const _SC_FSYNC: ::c_int = 15; pub const _SC_MAPPED_FILES: ::c_int = 16; pub const _SC_MEMLOCK: ::c_int = 17; pub const _SC_MEMLOCK_RANGE: ::c_int = 18; pub const _SC_MEMORY_PROTECTION: ::c_int = 19; pub const _SC_MESSAGE_PASSING: ::c_int = 20; pub const _SC_SEMAPHORES: ::c_int = 21; pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 22; pub const _SC_AIO_LISTIO_MAX: ::c_int = 23; pub const _SC_AIO_MAX: ::c_int = 24; pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 25; pub const _SC_DELAYTIMER_MAX: ::c_int = 26; pub const _SC_MQ_OPEN_MAX: ::c_int = 27; pub const _SC_MQ_PRIO_MAX: ::c_int = 28; pub const _SC_VERSION: ::c_int = 29; pub const _SC_PAGESIZE: ::c_int = 30; pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; pub const _SC_RTSIG_MAX: ::c_int = 31; pub const _SC_SEM_NSEMS_MAX: ::c_int = 32; pub const _SC_SEM_VALUE_MAX: ::c_int = 33; pub const _SC_SIGQUEUE_MAX: ::c_int = 34; pub const _SC_TIMER_MAX: ::c_int = 35; pub const _SC_BC_BASE_MAX: ::c_int = 36; pub const _SC_BC_DIM_MAX: ::c_int = 37; pub const _SC_BC_SCALE_MAX: ::c_int = 38; pub const _SC_BC_STRING_MAX: ::c_int = 39; pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 40; pub const _SC_EXPR_NEST_MAX: ::c_int = 42; pub const _SC_LINE_MAX: ::c_int = 43; pub const _SC_RE_DUP_MAX: ::c_int = 44; pub const _SC_2_VERSION: ::c_int = 46; pub const _SC_2_C_BIND: ::c_int = 47; pub const _SC_2_C_DEV: ::c_int = 48; pub const _SC_2_FORT_DEV: ::c_int = 49; pub const _SC_2_FORT_RUN: ::c_int = 50; pub const _SC_2_SW_DEV: ::c_int = 51; pub const _SC_2_LOCALEDEF: ::c_int = 52; pub const _SC_IOV_MAX: ::c_int = 60; pub const _SC_THREADS: ::c_int = 67; pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 68; pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 69; pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 70; pub const _SC_LOGIN_NAME_MAX: ::c_int = 71; pub const _SC_TTY_NAME_MAX: ::c_int = 72; pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 73; pub const _SC_THREAD_KEYS_MAX: ::c_int = 74; pub const _SC_THREAD_STACK_MIN: ::c_int = 75; pub const _SC_THREAD_THREADS_MAX: ::c_int = 76; pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 77; pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 78; pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 79; pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 80; pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 81; pub const _SC_NPROCESSORS_ONLN: ::c_int = 84; pub const _SC_ATEXIT_MAX: ::c_int = 87; pub const _SC_XOPEN_VERSION: ::c_int = 89; pub const _SC_XOPEN_XCU_VERSION: ::c_int = 90; pub const _SC_XOPEN_UNIX: ::c_int = 91; pub const _SC_XOPEN_CRYPT: ::c_int = 92; pub const _SC_XOPEN_ENH_I18N: ::c_int = 93; pub const _SC_XOPEN_SHM: ::c_int = 94; pub const _SC_2_CHAR_TERM: ::c_int = 95; pub const _SC_2_UPE: ::c_int = 97; pub const _SC_XBS5_ILP32_OFF32: ::c_int = 125; pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 126; pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 128; pub const _SC_XOPEN_LEGACY: ::c_int = 129; pub const _SC_XOPEN_REALTIME: ::c_int = 130; pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 131; pub const _SC_HOST_NAME_MAX: ::c_int = 180; pub const RLIM_SAVED_MAX: ::rlim_t = RLIM_INFINITY; pub const RLIM_SAVED_CUR: ::rlim_t = RLIM_INFINITY; pub const GLOB_ERR: ::c_int = 1 << 0; pub const GLOB_MARK: ::c_int = 1 << 1; pub const GLOB_NOSORT: ::c_int = 1 << 2; pub const GLOB_DOOFFS: ::c_int = 1 << 3; pub const GLOB_NOCHECK: ::c_int = 1 << 4; pub const GLOB_APPEND: ::c_int = 1 << 5; pub const GLOB_NOESCAPE: ::c_int = 1 << 6; pub const GLOB_NOSPACE: ::c_int = 1; pub const GLOB_ABORTED: ::c_int = 2; pub const GLOB_NOMATCH: ::c_int = 3; 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 S_IEXEC: mode_t = 64; pub const S_IWRITE: mode_t = 128; pub const S_IREAD: mode_t = 256; pub const F_LOCK: ::c_int = 1; pub const F_TEST: ::c_int = 3; pub const F_TLOCK: ::c_int = 2; pub const F_ULOCK: ::c_int = 0; pub const ST_RDONLY: ::c_ulong = 1; pub const ST_NOSUID: ::c_ulong = 2; pub const ST_NODEV: ::c_ulong = 4; pub const ST_NOEXEC: ::c_ulong = 8; pub const ST_SYNCHRONOUS: ::c_ulong = 16; pub const ST_MANDLOCK: ::c_ulong = 64; pub const ST_WRITE: ::c_ulong = 128; pub const ST_APPEND: ::c_ulong = 256; pub const ST_IMMUTABLE: ::c_ulong = 512; pub const ST_NOATIME: ::c_ulong = 1024; pub const ST_NODIRATIME: ::c_ulong = 2048; pub const RTLD_NEXT: *mut ::c_void = -1i64 as *mut ::c_void; 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], }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { size: [0; __SIZEOF_PTHREAD_COND_T], }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { size: [0; __SIZEOF_PTHREAD_RWLOCK_T], }; } 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 __SIZEOF_PTHREAD_COND_T: usize = 48; pub const SCHED_OTHER: ::c_int = 0; pub const SCHED_FIFO: ::c_int = 1; pub const SCHED_RR: ::c_int = 2; pub const SCHED_BATCH: ::c_int = 3; pub const SCHED_IDLE: ::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 MSG_STAT: ::c_int = 11; pub const MSG_INFO: ::c_int = 12; pub const MSG_NOERROR: ::c_int = 0o10000; pub const MSG_EXCEPT: ::c_int = 0o20000; pub const SHM_R: ::c_int = 0o400; pub const SHM_W: ::c_int = 0o200; pub const SHM_RDONLY: ::c_int = 0o10000; pub const SHM_RND: ::c_int = 0o20000; pub const SHM_REMAP: ::c_int = 0o40000; pub const SHM_LOCK: ::c_int = 11; 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 EPOLLONESHOT: ::c_int = 0x40000000; pub const QFMT_VFS_OLD: ::c_int = 1; pub const QFMT_VFS_V0: ::c_int = 2; pub const EFD_SEMAPHORE: ::c_int = 0x1; pub const LOG_NFACILITIES: ::c_int = 24; pub const SEM_FAILED: *mut ::sem_t = 0 as *mut sem_t; pub const RB_AUTOBOOT: ::c_int = 0x01234567u32 as i32; pub const RB_HALT_SYSTEM: ::c_int = 0xcdef0123u32 as i32; pub const RB_ENABLE_CAD: ::c_int = 0x89abcdefu32 as i32; pub const RB_DISABLE_CAD: ::c_int = 0x00000000u32 as i32; pub const RB_POWER_OFF: ::c_int = 0x4321fedcu32 as i32; 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_FAMILY: ::c_int = -6; pub const EAI_SOCKTYPE: ::c_int = -7; pub const EAI_SERVICE: ::c_int = -8; pub const EAI_MEMORY: ::c_int = -10; pub const EAI_OVERFLOW: ::c_int = -12; 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 SYNC_FILE_RANGE_WAIT_BEFORE: ::c_uint = 1; pub const SYNC_FILE_RANGE_WRITE: ::c_uint = 2; pub const SYNC_FILE_RANGE_WAIT_AFTER: ::c_uint = 4; pub const EAI_SYSTEM: ::c_int = -11; pub const MREMAP_MAYMOVE: ::c_int = 1; pub const MREMAP_FIXED: ::c_int = 2; pub const PR_SET_PDEATHSIG: ::c_int = 1; pub const PR_GET_PDEATHSIG: ::c_int = 2; pub const PR_GET_DUMPABLE: ::c_int = 3; pub const PR_SET_DUMPABLE: ::c_int = 4; pub const PR_GET_UNALIGN: ::c_int = 5; pub const PR_SET_UNALIGN: ::c_int = 6; pub const PR_UNALIGN_NOPRINT: ::c_int = 1; pub const PR_UNALIGN_SIGBUS: ::c_int = 2; pub const PR_GET_KEEPCAPS: ::c_int = 7; pub const PR_SET_KEEPCAPS: ::c_int = 8; pub const PR_GET_FPEMU: ::c_int = 9; pub const PR_SET_FPEMU: ::c_int = 10; pub const PR_FPEMU_NOPRINT: ::c_int = 1; pub const PR_FPEMU_SIGFPE: ::c_int = 2; pub const PR_GET_FPEXC: ::c_int = 11; pub const PR_SET_FPEXC: ::c_int = 12; pub const PR_FP_EXC_SW_ENABLE: ::c_int = 0x80; pub const PR_FP_EXC_DIV: ::c_int = 0x010000; pub const PR_FP_EXC_OVF: ::c_int = 0x020000; pub const PR_FP_EXC_UND: ::c_int = 0x040000; pub const PR_FP_EXC_RES: ::c_int = 0x080000; pub const PR_FP_EXC_INV: ::c_int = 0x100000; pub const PR_FP_EXC_DISABLED: ::c_int = 0; pub const PR_FP_EXC_NONRECOV: ::c_int = 1; pub const PR_FP_EXC_ASYNC: ::c_int = 2; pub const PR_FP_EXC_PRECISE: ::c_int = 3; pub const PR_GET_TIMING: ::c_int = 13; pub const PR_SET_TIMING: ::c_int = 14; pub const PR_TIMING_STATISTICAL: ::c_int = 0; pub const PR_TIMING_TIMESTAMP: ::c_int = 1; pub const PR_SET_NAME: ::c_int = 15; pub const PR_GET_NAME: ::c_int = 16; pub const PR_GET_ENDIAN: ::c_int = 19; pub const PR_SET_ENDIAN: ::c_int = 20; pub const PR_ENDIAN_BIG: ::c_int = 0; pub const PR_ENDIAN_LITTLE: ::c_int = 1; pub const PR_ENDIAN_PPC_LITTLE: ::c_int = 2; pub const PR_GET_SECCOMP: ::c_int = 21; pub const PR_SET_SECCOMP: ::c_int = 22; pub const PR_CAPBSET_READ: ::c_int = 23; pub const PR_CAPBSET_DROP: ::c_int = 24; pub const PR_GET_TSC: ::c_int = 25; pub const PR_SET_TSC: ::c_int = 26; pub const PR_TSC_ENABLE: ::c_int = 1; pub const PR_TSC_SIGSEGV: ::c_int = 2; pub const PR_GET_SECUREBITS: ::c_int = 27; pub const PR_SET_SECUREBITS: ::c_int = 28; pub const PR_SET_TIMERSLACK: ::c_int = 29; pub const PR_GET_TIMERSLACK: ::c_int = 30; pub const PR_TASK_PERF_EVENTS_DISABLE: ::c_int = 31; pub const PR_TASK_PERF_EVENTS_ENABLE: ::c_int = 32; pub const PR_MCE_KILL: ::c_int = 33; pub const PR_MCE_KILL_CLEAR: ::c_int = 0; pub const PR_MCE_KILL_SET: ::c_int = 1; pub const PR_MCE_KILL_LATE: ::c_int = 0; pub const PR_MCE_KILL_EARLY: ::c_int = 1; pub const PR_MCE_KILL_DEFAULT: ::c_int = 2; pub const PR_MCE_KILL_GET: ::c_int = 34; pub const PR_SET_MM: ::c_int = 35; pub const PR_SET_MM_START_CODE: ::c_int = 1; pub const PR_SET_MM_END_CODE: ::c_int = 2; pub const PR_SET_MM_START_DATA: ::c_int = 3; pub const PR_SET_MM_END_DATA: ::c_int = 4; pub const PR_SET_MM_START_STACK: ::c_int = 5; pub const PR_SET_MM_START_BRK: ::c_int = 6; pub const PR_SET_MM_BRK: ::c_int = 7; pub const PR_SET_MM_ARG_START: ::c_int = 8; pub const PR_SET_MM_ARG_END: ::c_int = 9; pub const PR_SET_MM_ENV_START: ::c_int = 10; pub const PR_SET_MM_ENV_END: ::c_int = 11; pub const PR_SET_MM_AUXV: ::c_int = 12; pub const PR_SET_MM_EXE_FILE: ::c_int = 13; pub const PR_SET_MM_MAP: ::c_int = 14; pub const PR_SET_MM_MAP_SIZE: ::c_int = 15; pub const PR_SET_PTRACER: ::c_int = 0x59616d61; pub const PR_SET_CHILD_SUBREAPER: ::c_int = 36; pub const PR_GET_CHILD_SUBREAPER: ::c_int = 37; pub const PR_SET_NO_NEW_PRIVS: ::c_int = 38; pub const PR_GET_NO_NEW_PRIVS: ::c_int = 39; pub const PR_GET_TID_ADDRESS: ::c_int = 40; pub const PR_SET_THP_DISABLE: ::c_int = 41; pub const PR_GET_THP_DISABLE: ::c_int = 42; pub const GRND_NONBLOCK: ::c_uint = 0x0001; pub const GRND_RANDOM: ::c_uint = 0x0002; pub const ABDAY_1: ::nl_item = 0x300; pub const ABDAY_2: ::nl_item = 0x301; pub const ABDAY_3: ::nl_item = 0x302; pub const ABDAY_4: ::nl_item = 0x303; pub const ABDAY_5: ::nl_item = 0x304; pub const ABDAY_6: ::nl_item = 0x305; pub const ABDAY_7: ::nl_item = 0x306; pub const DAY_1: ::nl_item = 0x307; pub const DAY_2: ::nl_item = 0x308; pub const DAY_3: ::nl_item = 0x309; pub const DAY_4: ::nl_item = 0x30A; pub const DAY_5: ::nl_item = 0x30B; pub const DAY_6: ::nl_item = 0x30C; pub const DAY_7: ::nl_item = 0x30D; pub const ABMON_1: ::nl_item = 0x30E; pub const ABMON_2: ::nl_item = 0x30F; pub const ABMON_3: ::nl_item = 0x310; pub const ABMON_4: ::nl_item = 0x311; pub const ABMON_5: ::nl_item = 0x312; pub const ABMON_6: ::nl_item = 0x313; pub const ABMON_7: ::nl_item = 0x314; pub const ABMON_8: ::nl_item = 0x315; pub const ABMON_9: ::nl_item = 0x316; pub const ABMON_10: ::nl_item = 0x317; pub const ABMON_11: ::nl_item = 0x318; pub const ABMON_12: ::nl_item = 0x319; pub const MON_1: ::nl_item = 0x31A; pub const MON_2: ::nl_item = 0x31B; pub const MON_3: ::nl_item = 0x31C; pub const MON_4: ::nl_item = 0x31D; pub const MON_5: ::nl_item = 0x31E; pub const MON_6: ::nl_item = 0x31F; pub const MON_7: ::nl_item = 0x320; pub const MON_8: ::nl_item = 0x321; pub const MON_9: ::nl_item = 0x322; pub const MON_10: ::nl_item = 0x323; pub const MON_11: ::nl_item = 0x324; pub const MON_12: ::nl_item = 0x325; pub const AM_STR: ::nl_item = 0x326; pub const PM_STR: ::nl_item = 0x327; pub const D_T_FMT: ::nl_item = 0x328; pub const D_FMT: ::nl_item = 0x329; pub const T_FMT: ::nl_item = 0x32A; pub const T_FMT_AMPM: ::nl_item = 0x32B; pub const ERA: ::nl_item = 0x32C; pub const ERA_D_FMT: ::nl_item = 0x32E; pub const ALT_DIGITS: ::nl_item = 0x32F; pub const ERA_D_T_FMT: ::nl_item = 0x330; pub const ERA_T_FMT: ::nl_item = 0x331; pub const CODESET: ::nl_item = 10; pub const CRNCYSTR: ::nl_item = 0x215; pub const RADIXCHAR: ::nl_item = 0x100; pub const THOUSEP: ::nl_item = 0x101; pub const NOEXPR: ::nl_item = 0x501; pub const YESSTR: ::nl_item = 0x502; pub const NOSTR: ::nl_item = 0x503; pub const FILENAME_MAX: ::c_uint = 4095; f! { pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () { let fd = fd as usize; let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; (*set).fds_bits[fd / size] &= !(1 << (fd % size)); return } 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 } pub fn FD_SET(fd: ::c_int, set: *mut fd_set) -> () { let fd = fd as usize; let size = ::mem::size_of_val(&(*set).fds_bits[0]) * 8; (*set).fds_bits[fd / size] |= 1 << (fd % size); return } pub fn FD_ZERO(set: *mut fd_set) -> () { for slot in (*set).fds_bits.iter_mut() { *slot = 0; } } pub fn WIFSTOPPED(status: ::c_int) -> bool { (status & 0xff) == 0x7f } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WIFCONTINUED(status: ::c_int) -> bool { status == 0xffff } pub fn WIFSIGNALED(status: ::c_int) -> bool { ((status & 0x7f) + 1) as i8 >= 2 } pub fn WTERMSIG(status: ::c_int) -> ::c_int { status & 0x7f } pub fn WIFEXITED(status: ::c_int) -> bool { (status & 0x7f) == 0 } pub fn WEXITSTATUS(status: ::c_int) -> ::c_int { (status >> 8) & 0xff } pub fn WCOREDUMP(status: ::c_int) -> bool { (status & 0x80) != 0 } pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () { for slot in cpuset.bits.iter_mut() { *slot = 0; } } 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); 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); 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); 0 != (cpuset.bits[idx] & (1 << offset)) } pub fn CPU_EQUAL(set1: &cpu_set_t, set2: &cpu_set_t) -> bool { set1.bits == set2.bits } pub fn QCMD(cmd: ::c_int, type_: ::c_int) -> ::c_int { (cmd << 8) | (type_ & 0x00ff) } } extern "C" { #[cfg_attr(target_os = "linux", link_name = "__xpg_strerror_r")] pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::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 abs(i: ::c_int) -> ::c_int; pub fn atof(s: *const ::c_char) -> ::c_double; pub fn labs(i: ::c_long) -> ::c_long; pub fn rand() -> ::c_int; pub fn srand(seed: ::c_uint); pub fn fdatasync(fd: ::c_int) -> ::c_int; pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::timezone) -> ::c_int; pub fn mincore( addr: *mut ::c_void, len: ::size_t, vec: *mut ::c_uchar, ) -> ::c_int; pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; pub fn clock_nanosleep( clk_id: ::clockid_t, flags: ::c_int, rqtp: *const ::timespec, rmtp: *mut ::timespec, ) -> ::c_int; pub fn clock_settime( clk_id: ::clockid_t, tp: *const ::timespec, ) -> ::c_int; pub fn prctl(option: ::c_int, ...) -> ::c_int; pub fn pthread_getattr_np( native: ::pthread_t, attr: *mut ::pthread_attr_t, ) -> ::c_int; pub fn pthread_attr_getguardsize( attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, stacksize: *mut ::size_t, ) -> ::c_int; pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; pub fn setgroups(ngroups: ::size_t, ptr: *const ::gid_t) -> ::c_int; pub fn initgroups(user: *const ::c_char, group: ::gid_t) -> ::c_int; pub fn sched_setscheduler( pid: ::pid_t, policy: ::c_int, param: *const ::sched_param, ) -> ::c_int; pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int; pub fn sched_get_priority_max(policy: ::c_int) -> ::c_int; pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int; pub fn epoll_create(size: ::c_int) -> ::c_int; pub fn epoll_create1(flags: ::c_int) -> ::c_int; pub fn epoll_ctl( epfd: ::c_int, op: ::c_int, fd: ::c_int, event: *mut ::epoll_event, ) -> ::c_int; pub fn epoll_wait( epfd: ::c_int, events: *mut ::epoll_event, maxevents: ::c_int, timeout: ::c_int, ) -> ::c_int; pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int; pub fn mount( src: *const ::c_char, target: *const ::c_char, fstype: *const ::c_char, flags: ::c_ulong, data: *const ::c_void, ) -> ::c_int; pub fn umount(target: *const ::c_char) -> ::c_int; pub fn umount2(target: *const ::c_char, flags: ::c_int) -> ::c_int; pub fn clone( cb: extern "C" fn(*mut ::c_void) -> ::c_int, child_stack: *mut ::c_void, flags: ::c_int, arg: *mut ::c_void, ... ) -> ::c_int; pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int; pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int; pub fn memrchr( cx: *const ::c_void, c: ::c_int, n: ::size_t, ) -> *mut ::c_void; pub fn syscall(num: ::c_long, ...) -> ::c_long; pub fn sendfile( out_fd: ::c_int, in_fd: ::c_int, offset: *mut off_t, count: ::size_t, ) -> ::ssize_t; pub fn splice( fd_in: ::c_int, off_in: *mut ::loff_t, fd_out: ::c_int, off_out: *mut ::loff_t, len: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn tee( fd_in: ::c_int, fd_out: ::c_int, len: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn vmsplice( fd: ::c_int, iov: *const ::iovec, nr_segs: ::size_t, flags: ::c_uint, ) -> ::ssize_t; pub fn posix_fadvise( fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int, ) -> ::c_int; pub fn getrlimit(resource: ::c_int, rlim: *mut ::rlimit) -> ::c_int; pub fn setrlimit(resource: ::c_int, rlim: *const ::rlimit) -> ::c_int; pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int; pub fn utimensat( dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int, ) -> ::c_int; pub fn duplocale(base: ::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 uselocale(loc: ::locale_t) -> ::locale_t; pub fn creat64(path: *const c_char, mode: mode_t) -> ::c_int; pub fn fstat64(fildes: ::c_int, buf: *mut stat64) -> ::c_int; pub fn fstatat64( fildes: ::c_int, path: *const ::c_char, buf: *mut stat64, flag: ::c_int, ) -> ::c_int; pub fn ftruncate64(fd: ::c_int, length: off64_t) -> ::c_int; pub fn getrlimit64(resource: ::c_int, rlim: *mut rlimit64) -> ::c_int; pub fn lseek64(fd: ::c_int, offset: off64_t, whence: ::c_int) -> off64_t; pub fn lstat64(path: *const c_char, buf: *mut stat64) -> ::c_int; pub fn mmap64( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, flags: ::c_int, fd: ::c_int, offset: off64_t, ) -> *mut ::c_void; pub fn open64(path: *const c_char, oflag: ::c_int, ...) -> ::c_int; pub fn openat64( fd: ::c_int, path: *const c_char, oflag: ::c_int, ... ) -> ::c_int; pub fn pread64( fd: ::c_int, buf: *mut ::c_void, count: ::size_t, offset: off64_t, ) -> ::ssize_t; pub fn pwrite64( fd: ::c_int, buf: *const ::c_void, count: ::size_t, offset: off64_t, ) -> ::ssize_t; pub fn readdir64(dirp: *mut ::DIR) -> *mut ::dirent64; pub fn readdir64_r( dirp: *mut ::DIR, entry: *mut ::dirent64, result: *mut *mut ::dirent64, ) -> ::c_int; pub fn setrlimit64(resource: ::c_int, rlim: *const rlimit64) -> ::c_int; pub fn stat64(path: *const c_char, buf: *mut stat64) -> ::c_int; pub fn truncate64(path: *const c_char, length: off64_t) -> ::c_int; pub fn eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int; pub fn mknodat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, dev: dev_t, ) -> ::c_int; pub fn ppoll( fds: *mut ::pollfd, nfds: nfds_t, timeout: *const ::timespec, sigmask: *const sigset_t, ) -> ::c_int; pub fn pthread_condattr_getclock( attr: *const pthread_condattr_t, clock_id: *mut clockid_t, ) -> ::c_int; pub fn pthread_condattr_setclock( attr: *mut pthread_condattr_t, clock_id: ::clockid_t, ) -> ::c_int; pub fn pthread_condattr_setpshared( attr: *mut pthread_condattr_t, pshared: ::c_int, ) -> ::c_int; pub fn pthread_condattr_getpshared( attr: *const pthread_condattr_t, pshared: *mut ::c_int, ) -> ::c_int; pub fn sched_getaffinity( pid: ::pid_t, cpusetsize: ::size_t, cpuset: *mut cpu_set_t, ) -> ::c_int; pub fn sched_setaffinity( pid: ::pid_t, cpusetsize: ::size_t, cpuset: *const cpu_set_t, ) -> ::c_int; pub fn unshare(flags: ::c_int) -> ::c_int; pub fn sem_timedwait( sem: *mut sem_t, abstime: *const ::timespec, ) -> ::c_int; pub fn sem_getvalue(sem: *mut sem_t, sval: *mut ::c_int) -> ::c_int; pub fn accept4( fd: ::c_int, addr: *mut ::sockaddr, len: *mut ::socklen_t, flg: ::c_int, ) -> ::c_int; pub fn pthread_mutex_timedlock( lock: *mut pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; pub fn pthread_mutexattr_setpshared( attr: *mut pthread_mutexattr_t, pshared: ::c_int, ) -> ::c_int; pub fn pthread_mutexattr_getpshared( attr: *const pthread_mutexattr_t, pshared: *mut ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_getkind_np( attr: *const pthread_rwlockattr_t, val: *mut ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_setkind_np( attr: *mut pthread_rwlockattr_t, val: ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_getpshared( attr: *const pthread_rwlockattr_t, val: *mut ::c_int, ) -> ::c_int; pub fn pthread_rwlockattr_setpshared( attr: *mut pthread_rwlockattr_t, val: ::c_int, ) -> ::c_int; pub fn ptsname_r( fd: ::c_int, buf: *mut ::c_char, buflen: ::size_t, ) -> ::c_int; pub fn clearenv() -> ::c_int; pub fn waitid( idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int, ) -> ::c_int; pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int; pub fn setpwent(); pub fn endpwent(); pub fn getpwent() -> *mut passwd; pub fn setspent(); pub fn endspent(); pub fn getspent() -> *mut spwd; pub fn getspnam(__name: *const ::c_char) -> *mut spwd; pub fn shm_open( name: *const c_char, oflag: ::c_int, mode: mode_t, ) -> ::c_int; // System V IPC 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 ftok(pathname: *const ::c_char, proj_id: ::c_int) -> ::key_t; 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 msgrcv( msqid: ::c_int, msgp: *mut ::c_void, msgsz: ::size_t, msgtyp: ::c_long, msgflg: ::c_int, ) -> ::ssize_t; pub fn msgsnd( msqid: ::c_int, msgp: *const ::c_void, msgsz: ::size_t, msgflg: ::c_int, ) -> ::c_int; pub fn mprotect( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, ) -> ::c_int; pub fn __errno_location() -> *mut ::c_int; pub fn fopen64( filename: *const c_char, mode: *const c_char, ) -> *mut ::FILE; pub fn freopen64( filename: *const c_char, mode: *const c_char, file: *mut ::FILE, ) -> *mut ::FILE; pub fn tmpfile64() -> *mut ::FILE; pub fn fgetpos64(stream: *mut ::FILE, ptr: *mut fpos64_t) -> ::c_int; pub fn fsetpos64(stream: *mut ::FILE, ptr: *const fpos64_t) -> ::c_int; pub fn fseeko64( stream: *mut ::FILE, offset: ::off64_t, whence: ::c_int, ) -> ::c_int; pub fn ftello64(stream: *mut ::FILE) -> ::off64_t; pub fn readahead( fd: ::c_int, offset: ::off64_t, count: ::size_t, ) -> ::ssize_t; 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, flags: ::c_int, ) -> ::c_int; pub fn lsetxattr( path: *const c_char, name: *const c_char, value: *const ::c_void, size: ::size_t, flags: ::c_int, ) -> ::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(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 quotactl( cmd: ::c_int, special: *const ::c_char, id: ::c_int, data: *mut ::c_char, ) -> ::c_int; pub fn mq_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::mqd_t; pub fn mq_close(mqd: ::mqd_t) -> ::c_int; pub fn mq_unlink(name: *const ::c_char) -> ::c_int; pub fn mq_receive( mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msg_prio: *mut ::c_uint, ) -> ::ssize_t; pub fn mq_send( mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msg_prio: ::c_uint, ) -> ::c_int; pub fn mq_getattr(mqd: ::mqd_t, attr: *mut ::mq_attr) -> ::c_int; pub fn mq_setattr( mqd: ::mqd_t, newattr: *const ::mq_attr, oldattr: *mut ::mq_attr, ) -> ::c_int; pub fn epoll_pwait( epfd: ::c_int, events: *mut ::epoll_event, maxevents: ::c_int, timeout: ::c_int, sigmask: *const ::sigset_t, ) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn sigtimedwait( set: *const sigset_t, info: *mut siginfo_t, timeout: *const ::timespec, ) -> ::c_int; pub fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::c_int; pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char; pub fn prlimit( pid: ::pid_t, resource: ::c_int, new_limit: *const ::rlimit, old_limit: *mut ::rlimit, ) -> ::c_int; pub fn prlimit64( pid: ::pid_t, resource: ::c_int, new_limit: *const ::rlimit64, old_limit: *mut ::rlimit64, ) -> ::c_int; pub fn reboot(how_to: ::c_int) -> ::c_int; pub fn setfsgid(gid: ::gid_t) -> ::c_int; pub fn setfsuid(uid: ::uid_t) -> ::c_int; pub fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int; pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int; // Not available now on Android pub fn mkfifoat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, ) -> ::c_int; pub fn if_nameindex() -> *mut if_nameindex; pub fn if_freenameindex(ptr: *mut if_nameindex); pub fn sync_file_range( fd: ::c_int, offset: ::off64_t, nbytes: ::off64_t, flags: ::c_uint, ) -> ::c_int; pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int; pub fn freeifaddrs(ifa: *mut ::ifaddrs); pub fn mremap( addr: *mut ::c_void, len: ::size_t, new_len: ::size_t, flags: ::c_int, ... ) -> *mut ::c_void; pub fn glob( pattern: *const c_char, flags: ::c_int, errfunc: ::Option< extern "C" fn(epath: *const c_char, errno: ::c_int) -> ::c_int, >, pglob: *mut ::glob_t, ) -> ::c_int; pub fn globfree(pglob: *mut ::glob_t); pub fn shm_unlink(name: *const ::c_char) -> ::c_int; pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long); pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; pub fn telldir(dirp: *mut ::DIR) -> ::c_long; pub fn madvise( addr: *mut ::c_void, len: ::size_t, advice: ::c_int, ) -> ::c_int; pub fn msync( addr: *mut ::c_void, len: ::size_t, flags: ::c_int, ) -> ::c_int; pub fn recvfrom( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::ssize_t; pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char; pub fn bind( socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t, ) -> ::c_int; pub fn writev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn readv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn sendmsg( fd: ::c_int, msg: *const ::msghdr, flags: ::c_int, ) -> ::ssize_t; pub fn recvmsg( fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int, ) -> ::ssize_t; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")] pub fn getgrgid_r( gid: ::gid_t, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigaltstack$UNIX2003" )] #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")] 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; #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")] pub fn getgrnam_r( name: *const ::c_char, grp: *mut ::group, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut ::group, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_sigmask$UNIX2003" )] 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 sem_unlink(name: *const ::c_char) -> ::c_int; pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")] pub fn getpwnam_r( name: *const ::c_char, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")] #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")] pub fn getpwuid_r( uid: ::uid_t, pwd: *mut passwd, buf: *mut ::c_char, buflen: ::size_t, result: *mut *mut passwd, ) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "sigwait$UNIX2003" )] #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")] pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int; pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; 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 getgrgid(gid: ::gid_t) -> *mut ::group; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "popen$UNIX2003" )] pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE; pub fn uname(buf: *mut ::utsname) -> ::c_int; } cfg_if! { if #[cfg(any(target_arch = "mips", target_arch = "mips64"))] { mod mips; pub use self::mips::*; } else if #[cfg(target_arch = "x86_64")] { mod x86_64; pub use self::x86_64::*; } else if #[cfg(target_arch = "arm")] { mod arm; pub use self::arm::*; } else { pub use unsupported_target; } } cfg_if! { if #[cfg(libc_align)] { #[macro_use] mod align; } else { #[macro_use] mod no_align; } } expand_align!(); libc-0.2.66/src/unix/uclibc/no_align.rs010064400007650000024000000037651353453276600161350ustar0000000000000000macro_rules! expand_align { () => { s! { pub struct pthread_mutex_t { #[cfg(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))] __align: [::c_long; 0], #[cfg(any(libc_align, target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } pub struct pthread_rwlock_t { #[cfg(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))] __align: [::c_long; 0], #[cfg(not(any( target_arch = "mips", target_arch = "arm", target_arch = "powerpc")))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } pub struct pthread_mutexattr_t { #[cfg(any(target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64"))] __align: [::c_int; 0], #[cfg(not(any(target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64")))] __align: [::c_long; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } pub struct pthread_cond_t { __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_COND_T], } pub struct pthread_condattr_t { __align: [::c_int; 0], size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } } } libc-0.2.66/src/unix/uclibc/x86_64/align.rs010064400007650000024000000061501353775267200163710ustar0000000000000000macro_rules! expand_align { () => { s! { #[cfg_attr(target_pointer_width = "32", repr(align(4)))] #[cfg_attr(target_pointer_width = "64", repr(align(8)))] pub struct sem_t { // ToDo #[cfg(target_pointer_width = "32")] __size: [::c_char; 16], #[cfg(target_pointer_width = "64")] __size: [::c_char; 32], } #[cfg_attr(any(target_pointer_width = "32", target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64"), repr(align(4)))] #[cfg_attr(not(any(target_pointer_width = "32", target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64")), repr(align(8)))] pub struct pthread_mutexattr_t { // ToDo size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } #[repr(align(4))] pub struct pthread_condattr_t { // ToDo size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } } s_no_extra_traits! { #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")), repr(align(4)))] #[cfg_attr(all(any(target_pointer_width = "64", not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")))), repr(align(8)))] #[allow(missing_debug_implementations)] pub struct pthread_mutex_t { // ToDo size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } #[repr(align(8))] #[allow(missing_debug_implementations)] pub struct pthread_cond_t { // ToDo size: [u8; ::__SIZEOF_PTHREAD_COND_T], } #[cfg_attr(all(target_pointer_width = "32", any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")), repr(align(4)))] #[cfg_attr(any(target_pointer_width = "64", not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))), repr(align(8)))] #[allow(missing_debug_implementations)] pub struct pthread_rwlock_t { // ToDo size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } } }; } libc-0.2.66/src/unix/uclibc/x86_64/l4re.rs010064400007650000024000000032421353453276600161410ustar0000000000000000/// L4Re specifics /// This module contains definitions required by various L4Re libc backends. /// Some of them are formally not part of the libc, but are a dependency of the /// libc and hence we should provide them here. pub type l4_umword_t = ::c_ulong; // Unsigned machine word. pub type pthread_t = *mut ::c_void; s! { /// CPU sets. pub struct l4_sched_cpu_set_t { // from the L4Re docs /// Combination of granularity and offset. /// /// The granularity defines how many CPUs each bit in map describes. /// The offset is the numer of the first CPU described by the first /// bit in the bitmap. /// offset must be a multiple of 2^graularity. /// /// | MSB | LSB | /// | ---------------- | ------------------- | /// | 8bit granularity | 24bit offset .. | gran_offset: l4_umword_t , /// Bitmap of CPUs. map: l4_umword_t , } } #[cfg(target_os = "l4re")] #[allow(missing_debug_implementations)] pub struct pthread_attr_t { pub __detachstate: ::c_int, pub __schedpolicy: ::c_int, pub __schedparam: super::__sched_param, pub __inheritsched: ::c_int, pub __scope: ::c_int, pub __guardsize: ::size_t, pub __stackaddr_set: ::c_int, pub __stackaddr: *mut ::c_void, // better don't use it pub __stacksize: ::size_t, // L4Re specifics pub affinity: l4_sched_cpu_set_t, pub create_flags: ::c_uint, } // 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; libc-0.2.66/src/unix/uclibc/x86_64/mod.rs010064400007650000024000000215431353453276600160560ustar0000000000000000//! Definitions for uclibc on 64bit systems pub type blkcnt_t = i64; pub type blksize_t = i64; pub type clock_t = i64; pub type c_char = u8; pub type c_long = i64; pub type c_ulong = u64; pub type fsblkcnt_t = ::c_ulong; pub type fsfilcnt_t = ::c_ulong; pub type fsword_t = ::c_long; pub type ino_t = ::c_ulong; pub type nlink_t = ::c_uint; pub type off_t = ::c_long; pub type rlim_t = c_ulong; pub type rlim64_t = u64; // [uClibc docs] Note stat64 has the same shape as stat for x86-64. pub type stat64 = stat; pub type suseconds_t = ::c_long; pub type time_t = ::c_int; pub type wchar_t = ::c_int; s! { 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, // read / write __pad1: ::c_ushort, pub __seq: ::c_ushort, __pad2: ::c_ushort, __unused1: ::c_ulong, __unused2: ::c_ulong } #[cfg(not(target_os = "l4re"))] pub struct pthread_attr_t { __detachstate: ::c_int, __schedpolicy: ::c_int, __schedparam: __sched_param, __inheritsched: ::c_int, __scope: ::c_int, __guardsize: ::size_t, __stackaddr_set: ::c_int, __stackaddr: *mut ::c_void, // better don't use it __stacksize: ::size_t, } pub struct __sched_param { __sched_priority: ::c_int, } pub struct siginfo_t { si_signo: ::c_int, // signal number si_errno: ::c_int, // if not zero: error value of signal, see errno.h si_code: ::c_int, // signal code pub _pad: [::c_int; 28], // unported union _align: [usize; 0], } pub struct shmid_ds { pub shm_perm: ::ipc_perm, pub shm_segsz: ::size_t, // segment size in bytes pub shm_atime: ::time_t, // time of last shmat() 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, __unused1: ::c_ulong, __unused2: ::c_ulong } pub struct msqid_ds { pub msg_perm: ::ipc_perm, pub msg_stime: ::time_t, pub msg_rtime: ::time_t, pub msg_ctime: ::time_t, __msg_cbytes: ::c_ulong, pub msg_qnum: ::msgqnum_t, pub msg_qbytes: ::msglen_t, pub msg_lspid: ::pid_t, pub msg_lrpid: ::pid_t, __ignored1: ::c_ulong, __ignored2: ::c_ulong, } pub struct sockaddr { pub sa_family: ::sa_family_t, pub sa_data: [::c_char; 14], } pub struct sockaddr_in { pub sin_family: ::sa_family_t, pub sin_port: ::in_port_t, pub sin_addr: ::in_addr, pub sin_zero: [u8; 8], } 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, } // ------------------------------------------------------------ // definitions below are *unverified* and might **break** the software // pub struct in_addr { // pub s_addr: in_addr_t, // } // // pub struct in6_addr { // pub s6_addr: [u8; 16], // #[cfg(not(libc_align))] // __align: [u32; 0], // } pub struct stat { pub st_dev: ::c_ulong, pub st_ino: ::ino_t, // According to uclibc/libc/sysdeps/linux/x86_64/bits/stat.h, order of // nlink and mode are swapped on 64 bit systems. pub st_nlink: ::nlink_t, pub st_mode: ::mode_t, pub st_uid: ::uid_t, pub st_gid: ::gid_t, pub st_rdev: ::c_ulong, // dev_t pub st_size: off_t, // file size pub st_blksize: ::blksize_t, pub st_blocks: ::blkcnt_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, st_pad4: [::c_long; 3] } pub struct sigaction { pub sa_handler: ::sighandler_t, pub sa_flags: ::c_ulong, pub sa_restorer: *mut ::c_void, pub sa_mask: ::sigset_t, } pub struct stack_t { // ToDo pub ss_sp: *mut ::c_void, pub ss_flags: ::c_int, pub ss_size: ::size_t } pub struct statfs { // ToDo 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, f_spare: [fsword_t; 5], } pub struct msghdr { // ToDo pub msg_name: *mut ::c_void, pub msg_namelen: ::socklen_t, pub msg_iov: *mut ::iovec, pub msg_iovlen: ::size_t, pub msg_control: *mut ::c_void, pub msg_controllen: ::size_t, pub msg_flags: ::c_int, } pub struct termios { // ToDo 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; ::NCCS], } pub struct sigset_t { // ToDo __val: [::c_ulong; 16], } pub struct sysinfo { // ToDo pub uptime: ::c_long, pub loads: [::c_ulong; 3], pub totalram: ::c_ulong, pub freeram: ::c_ulong, pub sharedram: ::c_ulong, pub bufferram: ::c_ulong, pub totalswap: ::c_ulong, pub freeswap: ::c_ulong, pub procs: ::c_ushort, pub pad: ::c_ushort, pub totalhigh: ::c_ulong, pub freehigh: ::c_ulong, pub mem_unit: ::c_uint, pub _f: [::c_char; 0], } pub struct glob_t { // ToDo pub gl_pathc: ::size_t, pub gl_pathv: *mut *mut c_char, pub gl_offs: ::size_t, pub gl_flags: ::c_int, __unused1: *mut ::c_void, __unused2: *mut ::c_void, __unused3: *mut ::c_void, __unused4: *mut ::c_void, __unused5: *mut ::c_void, } pub struct rlimit64 { // ToDo pub rlim_cur: rlim64_t, pub rlim_max: rlim64_t, } pub struct cpu_set_t { // ToDo #[cfg(target_pointer_width = "32")] bits: [u32; 32], #[cfg(target_pointer_width = "64")] bits: [u64; 16], } pub struct fsid_t { // ToDo __val: [::c_int; 2], } } s_no_extra_traits! { #[allow(missing_debug_implementations)] pub struct dirent { pub d_ino: ::ino64_t, pub d_off: ::off64_t, pub d_reclen: u16, pub d_type: u8, pub d_name: [::c_char; 256], } #[allow(missing_debug_implementations)] pub struct dirent64 { pub d_ino: ::ino64_t, pub d_off: ::off64_t, pub d_reclen: u16, pub d_type: u8, pub d_name: [::c_char; 256], } } // constants pub const EADDRINUSE: ::c_int = 98; // Address already in use pub const EADDRNOTAVAIL: ::c_int = 99; // Cannot assign requested address 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 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 O_APPEND: ::c_int = 02000; pub const O_ACCMODE: ::c_int = 0003; 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_NONBLOCK: ::c_int = 04000; pub const O_TRUNC: ::c_int = 01000; pub const NCCS: usize = 32; pub const SIG_SETMASK: ::c_int = 2; // Set the set of blocked signals pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40; pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4; pub const SO_BROADCAST: ::c_int = 6; pub const SOCK_DGRAM: ::c_int = 2; // connectionless, unreliable datagrams pub const SOCK_STREAM: ::c_int = 1; // …/common/bits/socket_type.h pub const SO_ERROR: ::c_int = 4; pub const SOL_SOCKET: ::c_int = 1; pub const SO_RCVTIMEO: ::c_int = 20; pub const SO_REUSEADDR: ::c_int = 2; pub const SO_SNDTIMEO: ::c_int = 21; pub const RLIM_INFINITY: u64 = 0xffffffffffffffff; pub const __SIZEOF_PTHREAD_COND_T: usize = 48; pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4; pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56; cfg_if! { if #[cfg(target_os = "l4re")] { mod l4re; pub use self::l4re::*; } else { mod other; pub use other::*; } } cfg_if! { if #[cfg(libc_align)] { #[macro_use] mod align; } else { #[macro_use] mod no_align; } } expand_align!(); libc-0.2.66/src/unix/uclibc/x86_64/no_align.rs010064400007650000024000000044311353453276600170620ustar0000000000000000macro_rules! expand_align { () => { s! { pub struct sem_t { // ToDo #[cfg(target_pointer_width = "32")] __size: [::c_char; 16], #[cfg(target_pointer_width = "64")] __size: [::c_char; 32], __align: [::c_long; 0], } pub struct pthread_mutex_t { // ToDo #[cfg(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))] __align: [::c_long; 0], #[cfg(not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEX_T], } pub struct pthread_mutexattr_t { // ToDo #[cfg(any(target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64"))] __align: [::c_int; 0], #[cfg(not(any(target_arch = "x86_64", target_arch = "powerpc64", target_arch = "mips64", target_arch = "s390x", target_arch = "sparc64")))] __align: [::c_long; 0], size: [u8; ::__SIZEOF_PTHREAD_MUTEXATTR_T], } pub struct pthread_cond_t { // ToDo __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_COND_T], } pub struct pthread_condattr_t { // ToDo __align: [::c_int; 0], size: [u8; ::__SIZEOF_PTHREAD_CONDATTR_T], } pub struct pthread_rwlock_t { // ToDo #[cfg(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc"))] __align: [::c_long; 0], #[cfg(not(any(target_arch = "mips", target_arch = "arm", target_arch = "powerpc")))] __align: [::c_longlong; 0], size: [u8; ::__SIZEOF_PTHREAD_RWLOCK_T], } } } } libc-0.2.66/src/unix/uclibc/x86_64/other.rs010064400007650000024000000002541353453276600164140ustar0000000000000000// Thestyle checker discourages the use of #[cfg], so this has to go into a // separate module pub type pthread_t = ::c_ulong; pub const PTHREAD_STACK_MIN: usize = 16384; libc-0.2.66/src/vxworks/aarch64.rs010064400007650000024000000001351354107165000150460ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; pub type c_long = i64; pub type c_ulong = u64; libc-0.2.66/src/vxworks/arm.rs010064400007650000024000000001351354107165000143750ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; pub type c_long = i32; pub type c_ulong = u32; libc-0.2.66/src/vxworks/mod.rs010075500007650000024000001700671355206162000144120ustar0000000000000000//! Interface to VxWorks C library use core::mem::size_of; use core::ptr::null_mut; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum DIR {} impl ::Copy for DIR {} impl ::Clone for DIR { fn clone(&self) -> DIR { *self } } 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 pid_t = ::c_int; pub type in_addr_t = u32; pub type sighandler_t = ::size_t; pub type cpuset_t = u32; pub type blkcnt_t = ::c_long; pub type blksize_t = ::c_long; pub type ino_t = ::c_ulong; pub type rlim_t = ::c_ulong; pub type suseconds_t = ::c_long; pub type time_t = ::c_long; pub type errno_t = ::c_int; pub type useconds_t = ::c_ulong; pub type socklen_t = ::c_uint; pub type pthread_t = ::c_ulong; pub type clockid_t = ::c_int; //defined for the structs pub type dev_t = ::c_ulong; pub type mode_t = ::c_int; pub type nlink_t = ::c_ulong; pub type uid_t = ::c_ushort; pub type gid_t = ::c_ushort; pub type sigset_t = ::c_ulonglong; pub type key_t = ::c_long; pub type nfds_t = ::c_uint; pub type stat64 = ::stat; pub type pthread_key_t = ::c_ulong; // From b_off_t.h pub type off_t = ::c_longlong; pub type off64_t = off_t; // From b_BOOL.h pub type BOOL = ::c_int; // From vxWind.h .. pub type _Vx_OBJ_HANDLE = ::c_int; pub type _Vx_TASK_ID = ::_Vx_OBJ_HANDLE; pub type _Vx_MSG_Q_ID = ::_Vx_OBJ_HANDLE; pub type _Vx_SEM_ID_KERNEL = ::_Vx_OBJ_HANDLE; pub type _Vx_RTP_ID = ::_Vx_OBJ_HANDLE; pub type _Vx_SD_ID = ::_Vx_OBJ_HANDLE; pub type _Vx_CONDVAR_ID = ::_Vx_OBJ_HANDLE; pub type _Vx_SEM_ID = *mut ::_Vx_semaphore; pub type OBJ_HANDLE = ::_Vx_OBJ_HANDLE; pub type TASK_ID = ::OBJ_HANDLE; pub type MSG_Q_ID = ::OBJ_HANDLE; pub type SEM_ID_KERNEL = ::OBJ_HANDLE; pub type RTP_ID = ::OBJ_HANDLE; pub type SD_ID = ::OBJ_HANDLE; pub type CONDVAR_ID = ::OBJ_HANDLE; // From vxTypes.h pub type _Vx_usr_arg_t = isize; pub type _Vx_exit_code_t = isize; pub type _Vx_ticks_t = ::c_uint; pub type _Vx_ticks64_t = ::c_ulonglong; pub type sa_family_t = ::c_uchar; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum _Vx_semaphore {} impl ::Copy for _Vx_semaphore {} impl ::Clone for _Vx_semaphore { fn clone(&self) -> _Vx_semaphore { *self } } s! { // b_pthread_condattr_t.h pub struct pthread_condattr_t { pub condAttrStatus: ::c_int, pub condAttrPshared: ::c_int, pub condAttrClockId: ::clockid_t, } // b_pthread_cond_t.h pub struct pthread_cond_t{ pub condSemId: ::_Vx_SEM_ID, pub condValid: ::c_int, pub condInitted: ::c_int, pub condRefCount: ::c_int, pub condMutex: *mut ::pthread_mutex_t, pub condAttr: ::pthread_condattr_t, pub condSemName: [::c_char; _PTHREAD_SHARED_SEM_NAME_MAX] } // b_pthread_rwlockattr_t.h pub struct pthread_rwlockattr_t { pub rwlockAttrStatus: ::c_int, pub rwlockAttrPshared: ::c_int, pub rwlockAttrMaxReaders: ::c_uint, pub rwlockAttrConformOpt: ::c_uint, } // b_pthread_rwlock_t.h pub struct pthread_rwlock_t { pub rwlockSemId: :: _Vx_SEM_ID, pub rwlockReadersRefCount: ::c_uint, pub rwlockValid: ::c_int, pub rwlockInitted: ::c_int, pub rwlockAttr: ::pthread_rwlockattr_t, pub rwlockSemName: [::c_char; _PTHREAD_SHARED_SEM_NAME_MAX] } // b_struct_timeval.h pub struct timeval { pub tv_sec: ::time_t, pub tv_usec: ::suseconds_t, } // socket.h pub struct linger { pub l_onoff: ::c_int, pub l_linger: ::c_int, } pub struct sockaddr { pub sa_len : ::c_uchar, pub sa_family : sa_family_t, pub sa_data : [::c_char; 14], } pub struct iovec { pub iov_base: *mut ::c_void, pub iov_len: ::size_t, } pub struct msghdr { pub msg_name: *mut c_void, pub msg_namelen: socklen_t, pub msg_iov: *mut iovec, pub msg_iovlen: ::c_int, pub msg_control: *mut c_void, pub msg_controllen: socklen_t, pub msg_flags: ::c_int, } pub struct cmsghdr { pub cmsg_len: socklen_t, pub cmsg_level: ::c_int, pub cmsg_type: ::c_int, } // poll.h pub struct pollfd { pub fd : ::c_int, pub events : ::c_short, pub revents : ::c_short, } // resource.h pub struct rlimit { pub rlim_cur : ::rlim_t, pub rlim_max : ::rlim_t, } // stat.h 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_size : ::off_t, pub st_atime : ::time_t, pub st_mtime : ::time_t, pub st_ctime : ::time_t, pub st_blksize : ::blksize_t, pub st_blocks : ::blkcnt_t, pub st_attrib : ::c_uchar, pub st_reserved1 : ::c_int, pub st_reserved2 : ::c_int, pub st_reserved3 : ::c_int, pub st_reserved4 : ::c_int, } //b_struct__Timespec.h pub struct _Timespec { pub tv_sec : ::time_t, pub tv_nsec : ::c_long, } // b_struct__Sched_param.h pub struct _Sched_param { pub sched_priority: ::c_int, /* scheduling priority */ pub sched_ss_low_priority: ::c_int, /* low scheduling priority */ pub sched_ss_repl_period: ::_Timespec, /* replenishment period */ pub sched_ss_init_budget: ::_Timespec, /* initial budget */ pub sched_ss_max_repl: ::c_int, /* max pending replenishment */ } // b_pthread_attr_t.h pub struct pthread_attr_t { pub threadAttrStatus : ::c_int, pub threadAttrStacksize : ::size_t, pub threadAttrStackaddr : *mut ::c_void, pub threadAttrGuardsize : ::size_t, pub threadAttrDetachstate : ::c_int, pub threadAttrContentionscope : ::c_int, pub threadAttrInheritsched : ::c_int, pub threadAttrSchedpolicy : ::c_int, pub threadAttrName : *mut ::c_char, pub threadAttrOptions : ::c_int, pub threadAttrSchedparam : ::_Sched_param, } // signal.h pub struct sigaction { pub sa_u : ::sa_u_t, pub sa_mask : ::sigset_t, pub sa_flags : ::c_int, } // b_stack_t.h pub struct stack_t { pub ss_sp : *mut ::c_void, pub ss_size : ::size_t, pub ss_flags : ::c_int, } // signal.h pub struct siginfo_t { pub si_signo : ::c_int, pub si_code : ::c_int, pub si_value : ::sigval, pub si_errno : ::c_int, pub si_status: ::c_int, pub si_addr: *mut ::c_void, pub si_uid: ::uid_t, pub si_pid: ::pid_t, } // pthread.h (krnl) // b_pthread_mutexattr_t.h (usr) pub struct pthread_mutexattr_t { mutexAttrStatus : ::c_int, mutexAttrPshared : ::c_int, mutexAttrProtocol : ::c_int, mutexAttrPrioceiling : ::c_int, mutexAttrType : ::c_int, } // pthread.h (krnl) // b_pthread_mutex_t.h (usr) pub struct pthread_mutex_t { pub mutexSemId: ::_Vx_SEM_ID, /*_Vx_SEM_ID ..*/ pub mutexValid: ::c_int, pub mutexInitted: ::c_int, pub mutexCondRefCount: ::c_int, pub mutexSavPriority: ::c_int, pub mutexAttr: ::pthread_mutexattr_t, pub mutexSemName: [::c_char; _PTHREAD_SHARED_SEM_NAME_MAX], } // b_struct_timespec.h pub struct timespec { pub tv_sec: ::time_t, pub tv_nsec: ::c_long, } // 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, } // in.h pub struct in_addr { pub s_addr: in_addr_t, } // in.h pub struct ip_mreq { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } // in6.h #[repr(align(4))] pub struct in6_addr { pub s6_addr: [u8; 16], } // in6.h pub struct ipv6_mreq { pub ipv6mr_multiaddr: in6_addr, pub ipv6mr_interface: ::c_uint, } // netdb.h pub struct addrinfo { pub ai_flags : ::c_int, pub ai_family : ::c_int, pub ai_socktype : ::c_int, pub ai_protocol : ::c_int, pub ai_addrlen : ::size_t, pub ai_canonname: *mut ::c_char, pub ai_addr : *mut ::sockaddr, pub ai_next : *mut ::addrinfo, } // in.h pub struct sockaddr_in { pub sin_len : u8, pub sin_family: u8, pub sin_port : u16, pub sin_addr : ::in_addr, pub sin_zero : [::c_char; 8], } // in6.h pub struct sockaddr_in6 { pub sin6_len : u8, pub sin6_family : u8, pub sin6_port : u16, pub sin6_flowinfo: u32, pub sin6_addr : ::in6_addr, pub sin6_scope_id: u32, } pub struct Dl_info { pub dli_fname: *const ::c_char, pub dli_fbase: *mut ::c_void, pub dli_sname: *const ::c_char, pub dli_saddr: *mut ::c_void, } } s_no_extra_traits! { // dirent.h pub struct dirent { pub d_ino : ::ino_t, pub d_name : [::c_char; _PARM_NAME_MAX as usize + 1], } pub struct sockaddr_un { pub sun_len: u8, pub sun_family: sa_family_t, pub sun_path: [::c_char; 104] } // rtpLibCommon.h pub struct RTP_DESC { pub status : ::c_int, pub options : u32, pub entrAddr : *mut ::c_void, pub initTaskId: ::TASK_ID, pub parentId : ::RTP_ID, pub pathName : [::c_char; VX_RTP_NAME_LENGTH as usize + 1], pub taskCnt : ::c_int, pub textStart : *mut ::c_void, pub textEnd : *mut ::c_void, } // socket.h pub struct sockaddr_storage { pub ss_len : ::c_uchar, pub ss_family : ::sa_family_t, pub __ss_pad1 : [::c_char; _SS_PAD1SIZE], pub __ss_align : i32, pub __ss_pad2 : [::c_char; _SS_PAD2SIZE], } pub union sa_u_t { pub sa_handler : ::Option !>, pub sa_sigaction: ::Option !>, } pub union sigval { pub sival_int : ::c_int, pub sival_ptr : *mut ::c_void, } } cfg_if! { if #[cfg(feature = "extra_traits")] { impl ::fmt::Debug for dirent { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("dirent") .field("d_ino", &self.d_ino) .field("d_name", &&self.d_name[..]) .finish() } } impl ::fmt::Debug for sockaddr_un { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_un") .field("sun_len", &self.sun_len) .field("sun_family", &self.sun_family) .field("sun_path", &&self.sun_path[..]) .finish() } } impl ::fmt::Debug for RTP_DESC { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("RTP_DESC") .field("status", &self.status) .field("options", &self.options) .field("entrAddr", &self.entrAddr) .field("initTaskId", &self.initTaskId) .field("parentId", &self.parentId) .field("pathName", &&self.pathName[..]) .field("taskCnt", &self.taskCnt) .field("textStart", &self.textStart) .field("textEnd", &self.textEnd) .finish() } } impl ::fmt::Debug for sockaddr_storage { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sockaddr_storage") .field("ss_len", &self.ss_len) .field("ss_family", &self.ss_family) .field("__ss_pad1", &&self.__ss_pad1[..]) .field("__ss_align", &self.__ss_align) .field("__ss_pad2", &&self.__ss_pad2[..]) .finish() } } impl PartialEq for sa_u_t { fn eq(&self, other: &sa_u_t) -> bool { unsafe { let h1 = match self.sa_handler { Some(handler) => handler as usize, None => 0 as usize, }; let h2 = match other.sa_handler { Some(handler) => handler as usize, None => 0 as usize, }; h1 == h2 } } } impl Eq for sa_u_t {} impl ::fmt::Debug for sa_u_t { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { unsafe { let h = match self.sa_handler { Some(handler) => handler as usize, None => 0 as usize, }; f.debug_struct("sa_u_t") .field("sa_handler", &h) .finish() } } } impl ::hash::Hash for sa_u_t { fn hash(&self, state: &mut H) { unsafe { let h = match self.sa_handler { Some(handler) => handler as usize, None => 0 as usize, }; h.hash(state) } } } impl PartialEq for sigval { fn eq(&self, other: &sigval) -> bool { unsafe { self.sival_ptr as usize == other.sival_ptr as usize } } } impl Eq for sigval {} impl ::fmt::Debug for sigval { fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { f.debug_struct("sigval") .field("sival_ptr", unsafe { &(self.sival_ptr as usize) }) .finish() } } impl ::hash::Hash for sigval { fn hash(&self, state: &mut H) { unsafe { (self.sival_ptr as usize).hash(state) }; } } } } pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::c_int = 2; pub const EXIT_SUCCESS: ::c_int = 0; pub const EXIT_FAILURE: ::c_int = 1; pub const EAI_SERVICE: ::c_int = 9; pub const EAI_SOCKTYPE: ::c_int = 10; pub const EAI_SYSTEM: ::c_int = 11; // This is not defined in vxWorks, but we have to define it here // to make the building pass for getrandom and libstd, FIXME pub const RTLD_DEFAULT: *mut ::c_void = 0i64 as *mut ::c_void; //Clock Lib Stuff pub const CLOCK_REALTIME: ::c_int = 0x0; pub const CLOCK_MONOTONIC: ::c_int = 0x1; pub const CLOCK_PROCESS_CPUTIME_ID: ::c_int = 0x2; pub const CLOCK_THREAD_CPUTIME_ID: ::c_int = 0x3; pub const TIMER_ABSTIME: ::c_int = 0x1; pub const TIMER_RELTIME: ::c_int = 0x0; // PTHREAD STUFF pub const PTHREAD_INITIALIZED_OBJ: ::c_int = 0xF70990EF; pub const PTHREAD_DESTROYED_OBJ: ::c_int = -1; pub const PTHREAD_VALID_OBJ: ::c_int = 0xEC542A37; pub const PTHREAD_INVALID_OBJ: ::c_int = -1; pub const PTHREAD_UNUSED_YET_OBJ: ::c_int = -1; pub const PTHREAD_PRIO_NONE: ::c_int = 0; pub const PTHREAD_PRIO_INHERIT: ::c_int = 1; pub const PTHREAD_PRIO_PROTECT: ::c_int = 2; pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0; 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 PTHREAD_STACK_MIN: usize = 4096; pub const _PTHREAD_SHARED_SEM_NAME_MAX: usize = 30; // ERRNO STUFF pub const OK: ::c_int = 0; pub const EPERM: ::c_int = 1; /* Not owner */ pub const ENOENT: ::c_int = 2; /* No such file or directory */ pub const ESRCH: ::c_int = 3; /* No such process */ pub const EINTR: ::c_int = 4; /* Interrupted system call */ pub const EIO: ::c_int = 5; /* I/O error */ pub const ENXIO: ::c_int = 6; /* No such device or address */ pub const E2BIG: ::c_int = 7; /* Arg list too long */ pub const ENOEXEC: ::c_int = 8; /* Exec format error */ pub const EBADF: ::c_int = 9; /* Bad file number */ pub const ECHILD: ::c_int = 10; /* No children */ pub const EAGAIN: ::c_int = 11; /* No more processes */ pub const ENOMEM: ::c_int = 12; /* Not enough core */ pub const EACCES: ::c_int = 13; /* Permission denied */ 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 ENODEV: ::c_int = 19; pub const ENOTDIR: ::c_int = 20; pub const EISDIR: ::c_int = 21; 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 EROFS: ::c_int = 30; pub const EPIPE: ::c_int = 32; pub const EDEADLK: ::c_int = 33; pub const ERANGE: ::c_int = 38; pub const EDESTADDRREQ: ::c_int = 40; pub const EPROTOTYPE: ::c_int = 41; pub const ENOPROTOOPT: ::c_int = 42; pub const EPROTONOSUPPORT: ::c_int = 43; pub const ESOCKTNOSUPPORT: ::c_int = 44; pub const EOPNOTSUPP: ::c_int = 45; pub const EPFNOSUPPORT: ::c_int = 46; pub const EAFNOSUPPORT: ::c_int = 47; pub const EADDRINUSE: ::c_int = 48; pub const EADDRNOTAVAIL: ::c_int = 49; pub const ENOTSOCK: ::c_int = 50; pub const ENETUNREACH: ::c_int = 51; pub const ENETRESET: ::c_int = 52; pub const ECONNABORTED: ::c_int = 53; pub const ECONNRESET: ::c_int = 54; pub const ENOBUFS: ::c_int = 55; pub const EISCONN: ::c_int = 56; pub const ENOTCONN: ::c_int = 57; 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 EINPROGRESS: ::c_int = 68; pub const EALREADY: ::c_int = 69; pub const EWOULDBLOCK: ::c_int = 70; pub const ENOSYS: ::c_int = 71; pub const EDQUOT: ::c_int = 83; pub const ESTALE: ::c_int = 88; // NFS errnos: Refer to pkgs_v2/storage/fs/nfs/h/nfs/nfsCommon.h const M_nfsStat: ::c_int = 48 << 16; enum nfsstat { NFSERR_REMOTE = 71, NFSERR_WFLUSH = 99, NFSERR_BADHANDLE = 10001, NFSERR_NOT_SYNC = 10002, NFSERR_BAD_COOKIE = 10003, NFSERR_TOOSMALL = 10005, NFSERR_BADTYPE = 10007, NFSERR_JUKEBOX = 10008, } pub const S_nfsLib_NFS_OK: ::c_int = OK; pub const S_nfsLib_NFSERR_PERM: ::c_int = EPERM; pub const S_nfsLib_NFSERR_NOENT: ::c_int = ENOENT; pub const S_nfsLib_NFSERR_IO: ::c_int = EIO; pub const S_nfsLib_NFSERR_NXIO: ::c_int = ENXIO; pub const S_nfsLib_NFSERR_ACCESS: ::c_int = EACCES; pub const S_nfsLib_NFSERR_EXIST: ::c_int = EEXIST; pub const S_nfsLib_NFSERR_ENODEV: ::c_int = ENODEV; pub const S_nfsLib_NFSERR_NOTDIR: ::c_int = ENOTDIR; pub const S_nfsLib_NFSERR_ISDIR: ::c_int = EISDIR; pub const S_nfsLib_NFSERR_INVAL: ::c_int = EINVAL; pub const S_nfsLib_NFSERR_FBIG: ::c_int = EFBIG; pub const S_nfsLib_NFSERR_NOSPC: ::c_int = ENOSPC; pub const S_nfsLib_NFSERR_ROFS: ::c_int = EROFS; pub const S_nfsLib_NFSERR_NAMETOOLONG: ::c_int = ENAMETOOLONG; pub const S_nfsLib_NFSERR_NOTEMPTY: ::c_int = ENOTEMPTY; pub const S_nfsLib_NFSERR_DQUOT: ::c_int = EDQUOT; pub const S_nfsLib_NFSERR_STALE: ::c_int = ESTALE; pub const S_nfsLib_NFSERR_WFLUSH: ::c_int = M_nfsStat | nfsstat::NFSERR_WFLUSH as ::c_int; pub const S_nfsLib_NFSERR_REMOTE: ::c_int = M_nfsStat | nfsstat::NFSERR_REMOTE as ::c_int; pub const S_nfsLib_NFSERR_BADHANDLE: ::c_int = M_nfsStat | nfsstat::NFSERR_BADHANDLE as ::c_int; pub const S_nfsLib_NFSERR_NOT_SYNC: ::c_int = M_nfsStat | nfsstat::NFSERR_NOT_SYNC as ::c_int; pub const S_nfsLib_NFSERR_BAD_COOKIE: ::c_int = M_nfsStat | nfsstat::NFSERR_BAD_COOKIE as ::c_int; pub const S_nfsLib_NFSERR_NOTSUPP: ::c_int = EOPNOTSUPP; pub const S_nfsLib_NFSERR_TOOSMALL: ::c_int = M_nfsStat | nfsstat::NFSERR_TOOSMALL as ::c_int; pub const S_nfsLib_NFSERR_SERVERFAULT: ::c_int = EIO; pub const S_nfsLib_NFSERR_BADTYPE: ::c_int = M_nfsStat | nfsstat::NFSERR_BADTYPE as ::c_int; pub const S_nfsLib_NFSERR_JUKEBOX: ::c_int = M_nfsStat | nfsstat::NFSERR_JUKEBOX as ::c_int; // in.h pub const IPPROTO_IP: ::c_int = 0; pub const IPPROTO_IPV6: ::c_int = 41; pub const IP_TTL: ::c_int = 4; pub const IP_MULTICAST_IF: ::c_int = 9; pub const IP_MULTICAST_TTL: ::c_int = 10; pub const IP_MULTICAST_LOOP: ::c_int = 11; pub const IP_ADD_MEMBERSHIP: ::c_int = 12; pub const IP_DROP_MEMBERSHIP: ::c_int = 13; // in6.h pub const IPV6_V6ONLY: ::c_int = 1; pub const IPV6_UNICAST_HOPS: ::c_int = 4; pub const IPV6_MULTICAST_IF: ::c_int = 9; pub const IPV6_MULTICAST_HOPS: ::c_int = 10; pub const IPV6_MULTICAST_LOOP: ::c_int = 11; pub const IPV6_ADD_MEMBERSHIP: ::c_int = 12; pub const IPV6_DROP_MEMBERSHIP: ::c_int = 13; // STAT Stuff pub const S_IFMT: ::c_int = 0xf000; pub const S_IFIFO: ::c_int = 0x1000; pub const S_IFCHR: ::c_int = 0x2000; pub const S_IFDIR: ::c_int = 0x4000; pub const S_IFBLK: ::c_int = 0x6000; pub const S_IFREG: ::c_int = 0x8000; pub const S_IFLNK: ::c_int = 0xa000; pub const S_IFSHM: ::c_int = 0xb000; pub const S_IFSOCK: ::c_int = 0xc000; pub const S_ISUID: ::c_int = 0x0800; pub const S_ISGID: ::c_int = 0x0400; pub const S_ISTXT: ::c_int = 0x0200; pub const S_IRUSR: ::c_int = 0x0100; pub const S_IWUSR: ::c_int = 0x0080; pub const S_IXUSR: ::c_int = 0x0040; pub const S_IRWXU: ::c_int = 0x01c0; pub const S_IRGRP: ::c_int = 0x0020; pub const S_IWGRP: ::c_int = 0x0010; pub const S_IXGRP: ::c_int = 0x0008; pub const S_IRWXG: ::c_int = 0x0038; pub const S_IROTH: ::c_int = 0x0004; pub const S_IWOTH: ::c_int = 0x0002; pub const S_IXOTH: ::c_int = 0x0001; pub const S_IRWXO: ::c_int = 0x0007; // socket.h pub const SOL_SOCKET: ::c_int = 0xffff; pub const SO_DEBUG: ::c_int = 0x0001; pub const SO_REUSEADDR: ::c_int = 0x0004; pub const SO_KEEPALIVE: ::c_int = 0x0008; pub const SO_DONTROUTE: ::c_int = 0x0010; pub const SO_RCVLOWAT: ::c_int = 0x0012; pub const SO_SNDLOWAT: ::c_int = 0x0013; pub const SO_SNDTIMEO: ::c_int = 0x1005; pub const SO_ACCEPTCONN: ::c_int = 0x001e; pub const SO_BROADCAST: ::c_int = 0x0020; pub const SO_USELOOPBACK: ::c_int = 0x0040; pub const SO_LINGER: ::c_int = 0x0080; pub const SO_REUSEPORT: ::c_int = 0x0200; pub const SO_VLAN: ::c_int = 0x8000; pub const SO_SNDBUF: ::c_int = 0x1001; pub const SO_RCVBUF: ::c_int = 0x1002; pub const SO_RCVTIMEO: ::c_int = 0x1006; pub const SO_ERROR: ::c_int = 0x1007; pub const SO_TYPE: ::c_int = 0x1008; pub const SO_BINDTODEVICE: ::c_int = 0x1010; pub const SO_OOBINLINE: ::c_int = 0x1011; pub const SO_CONNTIMEO: ::c_int = 0x100a; pub const SOCK_STREAM: ::c_int = 1; pub const SOCK_DGRAM: ::c_int = 2; pub const SOCK_RAW: ::c_int = 3; pub const SOCK_RDM: ::c_int = 4; pub const SOCK_SEQPACKET: ::c_int = 5; pub const SOCK_PACKET: ::c_int = 10; pub const _SS_MAXSIZE: usize = 128; pub const _SS_ALIGNSIZE: usize = size_of::(); pub const _SS_PAD1SIZE: usize = (_SS_ALIGNSIZE - size_of::<::c_uchar>() - size_of::<::sa_family_t>()); pub const _SS_PAD2SIZE: usize = (_SS_MAXSIZE - size_of::<::c_uchar>() - size_of::<::sa_family_t>() - _SS_PAD1SIZE - _SS_ALIGNSIZE); pub const MSG_OOB: ::c_int = 0x0001; pub const MSG_PEEK: ::c_int = 0x0002; pub const MSG_DONTROUTE: ::c_int = 0x0004; pub const MSG_EOR: ::c_int = 0x0008; pub const MSG_TRUNC: ::c_int = 0x0010; pub const MSG_CTRUNC: ::c_int = 0x0020; pub const MSG_WAITALL: ::c_int = 0x0040; pub const MSG_DONTWAIT: ::c_int = 0x0080; pub const MSG_EOF: ::c_int = 0x0100; pub const MSG_EXP: ::c_int = 0x0200; pub const MSG_MBUF: ::c_int = 0x0400; pub const MSG_NOTIFICATION: ::c_int = 0x0800; pub const MSG_COMPAT: ::c_int = 0x8000; pub const AF_UNSPEC: ::c_int = 0; pub const AF_LOCAL: ::c_int = 1; pub const AF_UNIX: ::c_int = AF_LOCAL; pub const AF_INET: ::c_int = 2; pub const AF_NETLINK: ::c_int = 16; pub const AF_ROUTE: ::c_int = 17; pub const AF_LINK: ::c_int = 18; pub const AF_PACKET: ::c_int = 19; pub const pseudo_AF_KEY: ::c_int = 27; pub const AF_KEY: ::c_int = pseudo_AF_KEY; pub const AF_INET6: ::c_int = 28; pub const AF_SOCKDEV: ::c_int = 31; pub const AF_TIPC: ::c_int = 33; pub const AF_MIPC: ::c_int = 34; pub const AF_MIPC_SAFE: ::c_int = 35; pub const AF_MAX: ::c_int = 37; pub const SHUT_RD: ::c_int = 0; pub const SHUT_WR: ::c_int = 1; pub const SHUT_RDWR: ::c_int = 2; pub const IPPROTO_TCP: ::c_int = 6; pub const TCP_NODELAY: ::c_int = 1; pub const TCP_MAXSEG: ::c_int = 2; pub const TCP_NOPUSH: ::c_int = 3; pub const TCP_KEEPIDLE: ::c_int = 4; pub const TCP_KEEPINTVL: ::c_int = 5; pub const TCP_KEEPCNT: ::c_int = 6; // ioLib.h pub const FIONREAD: ::c_int = 0x40040001; pub const FIOFLUSH: ::c_int = 2; pub const FIOOPTIONS: ::c_int = 3; pub const FIOBAUDRATE: ::c_int = 4; pub const FIODISKFORMAT: ::c_int = 5; pub const FIODISKINIT: ::c_int = 6; pub const FIOSEEK: ::c_int = 7; pub const FIOWHERE: ::c_int = 8; pub const FIODIRENTRY: ::c_int = 9; pub const FIORENAME: ::c_int = 10; pub const FIOREADYCHANGE: ::c_int = 11; pub const FIODISKCHANGE: ::c_int = 13; pub const FIOCANCEL: ::c_int = 14; pub const FIOSQUEEZE: ::c_int = 15; pub const FIOGETNAME: ::c_int = 18; pub const FIONBIO: ::c_int = 0x90040010; // limits.h pub const PATH_MAX: ::c_int = _PARM_PATH_MAX; pub const _POSIX_PATH_MAX: ::c_int = 256; // Some poll stuff 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; // fnctlcom.h pub const FD_CLOEXEC: ::c_int = 1; pub const F_DUPFD: ::c_int = 0; pub const F_GETFD: ::c_int = 1; pub const F_SETFD: ::c_int = 2; pub const F_GETFL: ::c_int = 3; pub const F_SETFL: ::c_int = 4; pub const F_GETOWN: ::c_int = 5; pub const F_SETOWN: ::c_int = 6; pub const F_GETLK: ::c_int = 7; pub const F_SETLK: ::c_int = 8; pub const F_SETLKW: ::c_int = 9; pub const F_DUPFD_CLOEXEC: ::c_int = 14; // signal.h 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 = -1 as isize as sighandler_t; 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 SIGFMT: ::c_int = 12; pub const SIGPIPE: ::c_int = 13; pub const SIGALRM: ::c_int = 14; pub const SIGTERM: ::c_int = 15; pub const SIGCNCL: ::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 SIG_BLOCK: ::c_int = 1; pub const SIG_UNBLOCK: ::c_int = 2; pub const SIG_SETMASK: ::c_int = 3; pub const SI_SYNC: ::c_int = 0; pub const SI_USER: ::c_int = -1; pub const SI_QUEUE: ::c_int = -2; pub const SI_TIMER: ::c_int = -3; pub const SI_ASYNCIO: ::c_int = -4; pub const SI_MESGQ: ::c_int = -5; pub const SI_CHILD: ::c_int = -6; pub const SI_KILL: ::c_int = SI_USER; // vxParams.h definitions pub const _PARM_NAME_MAX: ::c_int = 255; pub const _PARM_PATH_MAX: ::c_int = 1024; // WAIT STUFF pub const WNOHANG: ::c_int = 0x01; pub const WUNTRACED: ::c_int = 0x02; const PTHREAD_MUTEXATTR_INITIALIZER: pthread_mutexattr_t = pthread_mutexattr_t { mutexAttrStatus: PTHREAD_INITIALIZED_OBJ, mutexAttrProtocol: PTHREAD_PRIO_NONE, mutexAttrPrioceiling: 0, mutexAttrType: PTHREAD_MUTEX_DEFAULT, mutexAttrPshared: 1, }; pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { mutexSemId: null_mut(), mutexValid: PTHREAD_VALID_OBJ, mutexInitted: PTHREAD_UNUSED_YET_OBJ, mutexCondRefCount: 0, mutexSavPriority: -1, mutexAttr: PTHREAD_MUTEXATTR_INITIALIZER, mutexSemName: [0; _PTHREAD_SHARED_SEM_NAME_MAX], }; const PTHREAD_CONDATTR_INITIALIZER: pthread_condattr_t = pthread_condattr_t { condAttrStatus: 0xf70990ef, condAttrPshared: 1, condAttrClockId: CLOCK_REALTIME, }; pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { condSemId: null_mut(), condValid: PTHREAD_VALID_OBJ, condInitted: PTHREAD_UNUSED_YET_OBJ, condRefCount: 0, condMutex: null_mut(), condAttr: PTHREAD_CONDATTR_INITIALIZER, condSemName: [0; _PTHREAD_SHARED_SEM_NAME_MAX], }; const PTHREAD_RWLOCKATTR_INITIALIZER: pthread_rwlockattr_t = pthread_rwlockattr_t { rwlockAttrStatus: PTHREAD_INITIALIZED_OBJ, rwlockAttrPshared: 1, rwlockAttrMaxReaders: 0, rwlockAttrConformOpt: 1, }; pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { rwlockSemId: null_mut(), rwlockReadersRefCount: 0, rwlockValid: PTHREAD_VALID_OBJ, rwlockInitted: PTHREAD_UNUSED_YET_OBJ, rwlockAttr: PTHREAD_RWLOCKATTR_INITIALIZER, rwlockSemName: [0; _PTHREAD_SHARED_SEM_NAME_MAX], }; pub const SEEK_SET: ::c_int = 0; pub const SEEK_CUR: ::c_int = 1; pub const SEEK_END: ::c_int = 2; // rtpLibCommon.h pub const VX_RTP_NAME_LENGTH: ::c_int = 255; pub const RTP_ID_ERROR: ::RTP_ID = -1; // h/public/unistd.h pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 21; // Via unistd.h pub const _SC_PAGESIZE: ::c_int = 39; pub const O_ACCMODE: ::c_int = 3; pub const O_CLOEXEC: ::c_int = 0x100000; // fcntlcom pub const O_EXCL: ::c_int = 0x0800; pub const O_CREAT: ::c_int = 0x0200; pub const O_TRUNC: ::c_int = 0x0400; pub const O_APPEND: ::c_int = 0x0008; pub const O_RDWR: ::c_int = 0x0002; pub const O_WRONLY: ::c_int = 0x0001; pub const O_RDONLY: ::c_int = 0; pub const O_NONBLOCK: ::c_int = 0x4000; #[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 {} // TODO: fill this out with a struct impl ::Copy for fpos_t {} impl ::Clone for fpos_t { fn clone(&self) -> fpos_t { *self } } f! { pub fn CMSG_ALIGN(len: usize) -> usize { len + ::mem::size_of::() - 1 & !(::mem::size_of::() - 1) } pub fn CMSG_NXTHDR(mhdr: *const msghdr, cmsg: *const cmsghdr) -> *mut cmsghdr { let next = cmsg as usize + CMSG_ALIGN((*cmsg).cmsg_len as usize) + CMSG_ALIGN(::mem::size_of::<::cmsghdr>()); let max = (*mhdr).msg_control as usize + (*mhdr).msg_controllen as usize; if next <= max { (cmsg as usize + CMSG_ALIGN((*cmsg).cmsg_len as usize)) as *mut ::cmsghdr } else { 0 as *mut ::cmsghdr } } pub fn CMSG_FIRSTHDR(mhdr: *const msghdr) -> *mut cmsghdr { if (*mhdr).msg_controllen as usize > 0 { (*mhdr).msg_control as *mut cmsghdr } else { 0 as *mut cmsghdr } } pub fn CMSG_DATA(cmsg: *const cmsghdr) -> *mut ::c_uchar { (cmsg as *mut ::c_uchar) .offset(CMSG_ALIGN(::mem::size_of::<::cmsghdr>()) as isize) } pub fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { (CMSG_ALIGN(length as usize) + CMSG_ALIGN(::mem::size_of::())) as ::c_uint } pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { CMSG_ALIGN(::mem::size_of::()) as ::c_uint + length } } extern "C" { 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; pub fn fopen(filename: *const c_char, mode: *const c_char) -> *mut FILE; pub fn freopen( filename: *const c_char, mode: *const c_char, file: *mut FILE, ) -> *mut FILE; pub fn fflush(file: *mut FILE) -> c_int; pub fn fclose(file: *mut FILE) -> c_int; pub fn remove(filename: *const c_char) -> c_int; pub fn rename(oldname: *const c_char, newname: *const c_char) -> c_int; pub fn tmpfile() -> *mut FILE; pub fn setvbuf( stream: *mut FILE, buffer: *mut c_char, mode: c_int, size: size_t, ) -> c_int; pub fn setbuf(stream: *mut FILE, buf: *mut c_char); pub fn getchar() -> c_int; pub fn putchar(c: c_int) -> c_int; pub fn fgetc(stream: *mut FILE) -> c_int; pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char; pub fn fputc(c: c_int, stream: *mut FILE) -> c_int; pub fn fputs(s: *const c_char, stream: *mut FILE) -> c_int; pub fn puts(s: *const c_char) -> c_int; pub fn ungetc(c: c_int, stream: *mut FILE) -> c_int; pub fn fread( ptr: *mut c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; pub fn fwrite( ptr: *const c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int; pub fn ftell(stream: *mut FILE) -> c_long; pub fn rewind(stream: *mut FILE); pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> c_int; pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> c_int; 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 atoi(s: *const c_char) -> c_int; pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double; 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; pub fn malloc(size: size_t) -> *mut c_void; pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void; pub fn free(p: *mut c_void); pub fn abort() -> !; pub fn exit(status: c_int) -> !; pub fn atexit(cb: extern "C" fn()) -> c_int; pub fn system(s: *const c_char) -> c_int; pub fn getenv(s: *const c_char) -> *mut c_char; pub fn strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char; pub fn strncpy( dst: *mut c_char, src: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char; pub fn strncat( s: *mut c_char, ct: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int; pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strdup(cs: *const c_char) -> *mut c_char; pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strcasecmp(s1: *const c_char, s2: *const c_char) -> c_int; pub fn strncasecmp( s1: *const c_char, s2: *const c_char, n: size_t, ) -> c_int; pub fn strlen(cs: *const c_char) -> size_t; pub fn strerror(n: c_int) -> *mut c_char; pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char; pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t; pub fn wcslen(buf: *const wchar_t) -> size_t; pub fn wcstombs( dest: *mut c_char, src: *const wchar_t, n: size_t, ) -> ::size_t; pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void; pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int; pub fn memcpy( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memmove( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void; } extern "C" { pub fn fprintf( stream: *mut ::FILE, format: *const ::c_char, ... ) -> ::c_int; pub fn printf(format: *const ::c_char, ...) -> ::c_int; pub fn snprintf( s: *mut ::c_char, n: ::size_t, format: *const ::c_char, ... ) -> ::c_int; pub fn sprintf(s: *mut ::c_char, format: *const ::c_char, ...) -> ::c_int; pub fn fscanf( stream: *mut ::FILE, format: *const ::c_char, ... ) -> ::c_int; pub fn scanf(format: *const ::c_char, ...) -> ::c_int; pub fn sscanf(s: *const ::c_char, format: *const ::c_char, ...) -> ::c_int; pub fn getchar_unlocked() -> ::c_int; pub fn putchar_unlocked(c: ::c_int) -> ::c_int; pub fn stat(path: *const c_char, buf: *mut stat) -> ::c_int; pub fn fdopen(fd: ::c_int, mode: *const c_char) -> *mut ::FILE; pub fn fileno(stream: *mut ::FILE) -> ::c_int; pub fn creat(path: *const c_char, mode: mode_t) -> ::c_int; pub fn rewinddir(dirp: *mut ::DIR); pub fn fchown(fd: ::c_int, owner: ::uid_t, group: ::gid_t) -> ::c_int; pub fn access(path: *const c_char, amode: ::c_int) -> ::c_int; pub fn alarm(seconds: ::c_uint) -> ::c_uint; pub fn fchdir(dirfd: ::c_int) -> ::c_int; pub fn chown(path: *const c_char, uid: uid_t, gid: gid_t) -> ::c_int; pub fn fpathconf(filedes: ::c_int, name: ::c_int) -> c_long; pub fn getegid() -> gid_t; pub fn geteuid() -> uid_t; pub fn getgroups(ngroups_max: ::c_int, groups: *mut gid_t) -> ::c_int; pub fn getlogin() -> *mut c_char; pub fn getopt( argc: ::c_int, argv: *const *mut c_char, optstr: *const c_char, ) -> ::c_int; pub fn pathconf(path: *const c_char, name: ::c_int) -> c_long; pub fn pause() -> ::c_int; pub fn seteuid(uid: uid_t) -> ::c_int; pub fn setegid(gid: gid_t) -> ::c_int; pub fn sleep(secs: ::c_uint) -> ::c_uint; pub fn ttyname(fd: ::c_int) -> *mut c_char; pub fn wait(status: *mut ::c_int) -> pid_t; pub fn umask(mask: mode_t) -> mode_t; pub fn mlock(addr: *const ::c_void, len: ::size_t) -> ::c_int; pub fn mlockall(flags: ::c_int) -> ::c_int; pub fn munlockall() -> ::c_int; pub fn mmap( addr: *mut ::c_void, len: ::size_t, prot: ::c_int, flags: ::c_int, fd: ::c_int, offset: off_t, ) -> *mut ::c_void; pub fn munmap(addr: *mut ::c_void, len: ::size_t) -> ::c_int; pub fn truncate(path: *const c_char, length: off_t) -> ::c_int; pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; pub fn pthread_exit(value: *mut ::c_void) -> !; pub fn pthread_attr_setdetachstate( attr: *mut ::pthread_attr_t, state: ::c_int, ) -> ::c_int; pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::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; #[link_name = "_rtld_dlopen"] pub fn dlopen(filename: *const ::c_char, flag: ::c_int) -> *mut ::c_void; #[link_name = "_rtld_dlerror"] pub fn dlerror() -> *mut ::c_char; #[link_name = "_rtld_dlsym"] pub fn dlsym( handle: *mut ::c_void, symbol: *const ::c_char, ) -> *mut ::c_void; #[link_name = "_rtld_dlclose"] pub fn dlclose(handle: *mut ::c_void) -> ::c_int; #[link_name = "_rtld_dladdr"] pub fn dladdr(addr: *mut ::c_void, info: *mut Dl_info) -> ::c_int; // time.h pub fn gmtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm; pub fn localtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm; pub fn mktime(tm: *mut tm) -> time_t; pub fn time(time: *mut time_t) -> time_t; pub fn gmtime(time_p: *const time_t) -> *mut tm; pub fn localtime(time_p: *const time_t) -> *mut tm; pub fn timegm(tm: *mut tm) -> time_t; pub fn difftime(time1: time_t, time0: time_t) -> ::c_double; pub fn gethostname(name: *mut ::c_char, len: ::size_t) -> ::c_int; pub fn usleep(secs: ::useconds_t) -> ::c_int; pub fn putenv(string: *mut c_char) -> ::c_int; pub fn setlocale( category: ::c_int, locale: *const ::c_char, ) -> *mut ::c_char; pub fn sigprocmask( how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t, ) -> ::c_int; pub fn sigpending(set: *mut sigset_t) -> ::c_int; pub fn mkfifo(path: *const c_char, mode: mode_t) -> ::c_int; pub fn fseeko( stream: *mut ::FILE, offset: ::off_t, whence: ::c_int, ) -> ::c_int; pub fn ftello(stream: *mut ::FILE) -> ::off_t; pub fn mkstemp(template: *mut ::c_char) -> ::c_int; pub fn tmpnam(ptr: *mut ::c_char) -> *mut ::c_char; pub fn openlog(ident: *const ::c_char, logopt: ::c_int, facility: ::c_int); pub fn closelog(); pub fn setlogmask(maskpri: ::c_int) -> ::c_int; pub fn syslog(priority: ::c_int, message: *const ::c_char, ...); pub fn getline( lineptr: *mut *mut c_char, n: *mut size_t, stream: *mut FILE, ) -> ssize_t; } extern "C" { // stdlib.h pub fn memalign(block_size: ::size_t, size_arg: ::size_t) -> *mut ::c_void; // ioLib.h pub fn getcwd(buf: *mut ::c_char, size: ::size_t) -> *mut ::c_char; // ioLib.h pub fn chdir(attr: *const ::c_char) -> ::c_int; // pthread.h pub fn pthread_mutexattr_init(attr: *mut pthread_mutexattr_t) -> ::c_int; // pthread.h pub fn pthread_mutexattr_destroy( attr: *mut pthread_mutexattr_t, ) -> ::c_int; // pthread.h pub fn pthread_mutexattr_settype( pAttr: *mut ::pthread_mutexattr_t, pType: ::c_int, ) -> ::c_int; // pthread.h pub fn pthread_mutex_init( mutex: *mut pthread_mutex_t, attr: *const pthread_mutexattr_t, ) -> ::c_int; // pthread.h pub fn pthread_mutex_destroy(mutex: *mut pthread_mutex_t) -> ::c_int; // pthread.h pub fn pthread_mutex_lock(mutex: *mut pthread_mutex_t) -> ::c_int; // pthread.h pub fn pthread_mutex_trylock(mutex: *mut pthread_mutex_t) -> ::c_int; // pthread.h pub fn pthread_mutex_timedlock( attr: *mut pthread_mutex_t, spec: *const timespec, ) -> ::c_int; // pthread.h pub fn pthread_mutex_unlock(mutex: *mut pthread_mutex_t) -> ::c_int; // pthread.h pub fn pthread_attr_setname( pAttr: *mut ::pthread_attr_t, name: *mut ::c_char, ) -> ::c_int; // pthread.h pub fn pthread_attr_setstacksize( attr: *mut ::pthread_attr_t, stacksize: ::size_t, ) -> ::c_int; // pthread.h pub fn pthread_attr_getstacksize( attr: *const ::pthread_attr_t, size: *mut ::size_t, ) -> ::c_int; // pthread.h pub fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int; // pthread.h pub fn pthread_create( pThread: *mut ::pthread_t, pAttr: *const ::pthread_attr_t, start_routine: extern "C" fn(*mut ::c_void) -> *mut ::c_void, value: *mut ::c_void, ) -> ::c_int; // pthread.h pub fn pthread_attr_destroy(thread: *mut ::pthread_attr_t) -> ::c_int; // pthread.h pub fn pthread_detach(thread: ::pthread_t) -> ::c_int; // int pthread_atfork (void (*)(void), void (*)(void), void (*)(void)); pub fn pthread_atfork( prepare: ::Option, parent: ::Option, child: ::Option, ) -> ::c_int; // stat.h pub fn fstat(fildes: ::c_int, buf: *mut stat) -> ::c_int; // stat.h pub fn lstat(path: *const ::c_char, buf: *mut stat) -> ::c_int; // unistd.h pub fn ftruncate(fd: ::c_int, length: off_t) -> ::c_int; // dirent.h pub fn readdir_r( pDir: *mut ::DIR, entry: *mut ::dirent, result: *mut *mut ::dirent, ) -> ::c_int; // dirent.h pub fn readdir(pDir: *mut ::DIR) -> *mut ::dirent; // fcntl.h or // ioLib.h pub fn open(path: *const ::c_char, oflag: ::c_int, ...) -> ::c_int; // poll.h pub fn poll(fds: *mut pollfd, nfds: nfds_t, timeout: ::c_int) -> ::c_int; // pthread.h pub fn pthread_condattr_init(attr: *mut ::pthread_condattr_t) -> ::c_int; // pthread.h pub fn pthread_condattr_destroy( attr: *mut ::pthread_condattr_t, ) -> ::c_int; // pthread.h pub fn pthread_condattr_getclock( pAttr: *const ::pthread_condattr_t, pClockId: *mut ::clockid_t, ) -> ::c_int; // pthread.h pub fn pthread_condattr_setclock( pAttr: *mut ::pthread_condattr_t, clockId: ::clockid_t, ) -> ::c_int; // pthread.h pub fn pthread_cond_init( cond: *mut ::pthread_cond_t, attr: *const ::pthread_condattr_t, ) -> ::c_int; // pthread.h pub fn pthread_cond_destroy(cond: *mut pthread_cond_t) -> ::c_int; // pthread.h pub fn pthread_cond_signal(cond: *mut ::pthread_cond_t) -> ::c_int; // pthread.h pub fn pthread_cond_broadcast(cond: *mut ::pthread_cond_t) -> ::c_int; // pthread.h pub fn pthread_cond_wait( cond: *mut ::pthread_cond_t, mutex: *mut ::pthread_mutex_t, ) -> ::c_int; // pthread.h pub fn pthread_rwlockattr_init( attr: *mut ::pthread_rwlockattr_t, ) -> ::c_int; // pthread.h pub fn pthread_rwlockattr_destroy( attr: *mut ::pthread_rwlockattr_t, ) -> ::c_int; // pthread.h pub fn pthread_rwlockattr_setmaxreaders( attr: *mut ::pthread_rwlockattr_t, attr2: ::c_uint, ) -> ::c_int; // pthread.h pub fn pthread_rwlock_init( attr: *mut ::pthread_rwlock_t, host: *const ::pthread_rwlockattr_t, ) -> ::c_int; // pthread.h pub fn pthread_rwlock_destroy(attr: *mut ::pthread_rwlock_t) -> ::c_int; // pthread.h pub fn pthread_rwlock_rdlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; // pthread.h pub fn pthread_rwlock_tryrdlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; // pthread.h pub fn pthread_rwlock_timedrdlock( attr: *mut ::pthread_rwlock_t, host: *const ::timespec, ) -> ::c_int; // pthread.h pub fn pthread_rwlock_wrlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; // pthread.h pub fn pthread_rwlock_trywrlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; // pthread.h pub fn pthread_rwlock_timedwrlock( attr: *mut ::pthread_rwlock_t, host: *const ::timespec, ) -> ::c_int; // pthread.h pub fn pthread_rwlock_unlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; // pthread.h pub fn pthread_key_create( key: *mut ::pthread_key_t, dtor: ::Option, ) -> ::c_int; // pthread.h pub fn pthread_key_delete(key: ::pthread_key_t) -> ::c_int; // pthread.h pub fn pthread_setspecific( key: ::pthread_key_t, value: *const ::c_void, ) -> ::c_int; // pthread.h pub fn pthread_getspecific(key: ::pthread_key_t) -> *mut ::c_void; // pthread.h pub fn pthread_cond_timedwait( cond: *mut ::pthread_cond_t, mutex: *mut ::pthread_mutex_t, abstime: *const ::timespec, ) -> ::c_int; // pthread.h pub fn pthread_attr_getname( attr: *mut ::pthread_attr_t, name: *mut *mut ::c_char, ) -> ::c_int; // pthread.h pub fn pthread_join( thread: ::pthread_t, status: *mut *mut ::c_void, ) -> ::c_int; // pthread.h pub fn pthread_self() -> ::pthread_t; // clockLib.h pub fn clock_gettime( clock_id: ::clockid_t, tp: *mut ::timespec, ) -> ::c_int; // clockLib.h pub fn clock_settime( clock_id: ::clockid_t, tp: *const ::timespec, ) -> ::c_int; // clockLib.h pub fn clock_getres( clock_id: ::clockid_t, res: *mut ::timespec, ) -> ::c_int; // clockLib.h pub fn clock_nanosleep( clock_id: ::clockid_t, flags: ::c_int, rqtp: *const ::timespec, rmtp: *mut ::timespec, ) -> ::c_int; // timerLib.h pub fn nanosleep( rqtp: *const ::timespec, rmtp: *mut ::timespec, ) -> ::c_int; // socket.h pub fn accept( s: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, ) -> ::c_int; // socket.h pub fn bind(fd: ::c_int, addr: *const sockaddr, len: socklen_t) -> ::c_int; // socket.h pub fn connect( s: ::c_int, name: *const ::sockaddr, namelen: ::socklen_t, ) -> ::c_int; // socket.h pub fn getpeername( s: ::c_int, name: *mut ::sockaddr, namelen: *mut ::socklen_t, ) -> ::c_int; // socket.h pub fn getsockname( socket: ::c_int, address: *mut sockaddr, address_len: *mut socklen_t, ) -> ::c_int; // socket.h pub fn getsockopt( sockfd: ::c_int, level: ::c_int, optname: ::c_int, optval: *mut ::c_void, optlen: *mut ::socklen_t, ) -> ::c_int; // socket.h pub fn listen(socket: ::c_int, backlog: ::c_int) -> ::c_int; // socket.h pub fn recv( s: ::c_int, buf: *mut ::c_void, bufLen: ::size_t, flags: ::c_int, ) -> ::ssize_t; // socket.h pub fn recvfrom( s: ::c_int, buf: *mut ::c_void, bufLen: ::size_t, flags: ::c_int, from: *mut ::sockaddr, pFromLen: *mut ::socklen_t, ) -> ::ssize_t; pub fn recvmsg( socket: ::c_int, mp: *mut ::msghdr, flags: ::c_int, ) -> ::ssize_t; // socket.h pub fn send( socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int, ) -> ::ssize_t; pub fn sendmsg( socket: ::c_int, mp: *const ::msghdr, flags: ::c_int, ) -> ::ssize_t; // socket.h pub fn sendto( socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int, addr: *const sockaddr, addrlen: socklen_t, ) -> ::ssize_t; // socket.h pub fn setsockopt( socket: ::c_int, level: ::c_int, name: ::c_int, value: *const ::c_void, option_len: socklen_t, ) -> ::c_int; // socket.h pub fn shutdown(s: ::c_int, how: ::c_int) -> ::c_int; // socket.h pub fn socket( domain: ::c_int, _type: ::c_int, protocol: ::c_int, ) -> ::c_int; // icotl.h pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; // fcntl.h pub fn fcntl(fd: ::c_int, cmd: ::c_int, ...) -> ::c_int; // ntp_rfc2553.h for kernel // netdb.h for user pub fn gai_strerror(errcode: ::c_int) -> *mut ::c_char; // ioLib.h or // unistd.h pub fn close(fd: ::c_int) -> ::c_int; // ioLib.h or // unistd.h pub fn read(fd: ::c_int, buf: *mut ::c_void, count: ::size_t) -> ::ssize_t; // ioLib.h or // unistd.h pub fn write( fd: ::c_int, buf: *const ::c_void, count: ::size_t, ) -> ::ssize_t; // ioLib.h or // unistd.h pub fn isatty(fd: ::c_int) -> ::c_int; // ioLib.h or // unistd.h pub fn dup(src: ::c_int) -> ::c_int; // ioLib.h or // unistd.h pub fn dup2(src: ::c_int, dst: ::c_int) -> ::c_int; // ioLib.h or // unistd.h pub fn pipe(fds: *mut ::c_int) -> ::c_int; // ioLib.h or // unistd.h pub fn unlink(pathname: *const ::c_char) -> ::c_int; // unistd.h and // ioLib.h pub fn lseek(fd: ::c_int, offset: off_t, whence: ::c_int) -> off_t; // netdb.h pub fn getaddrinfo( node: *const ::c_char, service: *const ::c_char, hints: *const addrinfo, res: *mut *mut addrinfo, ) -> ::c_int; // netdb.h pub fn freeaddrinfo(res: *mut addrinfo); // signal.h pub fn signal(signum: ::c_int, handler: sighandler_t) -> sighandler_t; // unistd.h pub fn getpid() -> pid_t; // unistd.h pub fn getppid() -> pid_t; // wait.h pub fn waitpid(pid: pid_t, status: *mut ::c_int, optons: ::c_int) -> pid_t; // unistd.h pub fn sysconf(attr: ::c_int) -> ::c_long; // stdlib.h pub fn setenv( // setenv.c envVarName: *const ::c_char, envVarValue: *const ::c_char, overwrite: ::c_int, ) -> ::c_int; // stdlib.h pub fn unsetenv( // setenv.c envVarName: *const ::c_char, ) -> ::c_int; // stdlib.h pub fn realpath( fileName: *const ::c_char, resolvedName: *mut ::c_char, ) -> *mut ::c_char; // unistd.h pub fn link(src: *const ::c_char, dst: *const ::c_char) -> ::c_int; // unistd.h pub fn readlink( path: *const ::c_char, buf: *mut ::c_char, bufsize: ::size_t, ) -> ::ssize_t; // unistd.h pub fn symlink(path1: *const ::c_char, path2: *const ::c_char) -> ::c_int; // dirent.h pub fn opendir(name: *const ::c_char) -> *mut ::DIR; // unistd.h pub fn rmdir(path: *const ::c_char) -> ::c_int; // stat.h pub fn mkdir(dirName: *const ::c_char, mode: ::mode_t) -> ::c_int; // stat.h pub fn chmod(path: *const ::c_char, mode: ::mode_t) -> ::c_int; // stat.h pub fn fchmod(attr1: ::c_int, attr2: ::mode_t) -> ::c_int; // unistd.h pub fn fsync(fd: ::c_int) -> ::c_int; // dirent.h pub fn closedir(ptr: *mut ::DIR) -> ::c_int; // sched.h pub fn sched_yield() -> ::c_int; // errnoLib.h pub fn errnoSet(err: ::c_int) -> ::c_int; // errnoLib.h pub fn errnoGet() -> ::c_int; // unistd.h pub fn _exit(status: ::c_int) -> !; // unistd.h pub fn setgid(gid: ::gid_t) -> ::c_int; // unistd.h pub fn getgid() -> ::gid_t; // unistd.h pub fn setuid(uid: ::uid_t) -> ::c_int; // unistd.h pub fn getuid() -> ::uid_t; // signal.h pub fn sigemptyset(__set: *mut sigset_t) -> ::c_int; // pthread.h for kernel // signal.h for user pub fn pthread_sigmask( __how: ::c_int, __set: *const sigset_t, __oset: *mut sigset_t, ) -> ::c_int; // signal.h for user pub fn kill(__pid: pid_t, __signo: ::c_int) -> ::c_int; // signal.h for user pub fn sigqueue( __pid: pid_t, __signo: ::c_int, __value: ::sigval, ) -> ::c_int; // signal.h for user pub fn _sigqueue( rtpId: ::RTP_ID, signo: ::c_int, pValue: *const ::sigval, sigCode: ::c_int, ) -> ::c_int; // signal.h pub fn taskKill(taskId: ::TASK_ID, signo: ::c_int) -> ::c_int; // signal.h pub fn raise(__signo: ::c_int) -> ::c_int; // taskLibCommon.h pub fn taskIdSelf() -> ::TASK_ID; pub fn taskDelay(ticks: ::_Vx_ticks_t) -> ::c_int; // rtpLibCommon.h pub fn rtpInfoGet(rtpId: ::RTP_ID, rtpStruct: *mut ::RTP_DESC) -> ::c_int; pub fn rtpSpawn( pubrtpFileName: *const ::c_char, argv: *mut *const ::c_char, envp: *mut *const ::c_char, priority: ::c_int, uStackSize: ::size_t, options: ::c_int, taskOptions: ::c_int, ) -> RTP_ID; // ioLib.h pub fn _realpath( fileName: *const ::c_char, resolvedName: *mut ::c_char, ) -> *mut ::c_char; // pathLib.h pub fn _pathIsAbsolute( filepath: *const ::c_char, pNameTail: *mut *const ::c_char, ) -> BOOL; pub fn writev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn readv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; // randomNumGen.h pub fn randBytes(buf: *mut c_uchar, length: c_int) -> c_int; pub fn randABytes(buf: *mut c_uchar, length: c_int) -> c_int; pub fn randUBytes(buf: *mut c_uchar, length: c_int) -> c_int; pub fn randSecure() -> c_int; } //Dummy functions, these don't really exist in VxWorks. // wait.h macros pub fn WIFEXITED(status: ::c_int) -> bool { (status & 0xFF00) == 0 } pub fn WIFSIGNALED(status: ::c_int) -> bool { (status & 0xFF00) != 0 } pub fn WIFSTOPPED(status: ::c_int) -> bool { (status & 0xFF0000) != 0 } pub fn WEXITSTATUS(status: ::c_int) -> ::c_int { status & 0xFF } pub fn WTERMSIG(status: ::c_int) -> ::c_int { (status >> 8) & 0xFF } pub fn WSTOPSIG(status: ::c_int) -> ::c_int { (status >> 16) & 0xFF } pub fn pread( _fd: ::c_int, _buf: *mut ::c_void, _count: ::size_t, _offset: off64_t, ) -> ::ssize_t { -1 } pub fn pwrite( _fd: ::c_int, _buf: *const ::c_void, _count: ::size_t, _offset: off64_t, ) -> ::ssize_t { -1 } pub fn posix_memalign( memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t, ) -> ::c_int { // check to see if align is a power of 2 and if align is a multiple // of sizeof(void *) if (align & align - 1 != 0) || (align as usize % size_of::<::size_t>() != 0) { return ::EINVAL; } unsafe { // posix_memalign should not set errno let e = ::errnoGet(); let temp = memalign(align, size); ::errnoSet(e as ::c_int); if temp.is_null() { ::ENOMEM } else { *memptr = temp; 0 } } } 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 if #[cfg(any(target_arch = "x86"))] { mod x86; pub use self::x86::*; } else if #[cfg(any(target_arch = "x86_64"))] { mod x86_64; pub use self::x86_64::*; } else if #[cfg(any(target_arch = "powerpc"))] { mod powerpc; pub use self::powerpc::*; } else if #[cfg(any(target_arch = "powerpc64"))] { mod powerpc64; pub use self::powerpc64::*; } else { // Unknown target_arch } } libc-0.2.66/src/vxworks/powerpc.rs010064400007650000024000000001351354107165000152750ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; pub type c_long = i32; pub type c_ulong = u32; libc-0.2.66/src/vxworks/powerpc64.rs010064400007650000024000000001351354107165000154470ustar0000000000000000pub type c_char = u8; pub type wchar_t = u32; pub type c_long = i64; pub type c_ulong = u64; libc-0.2.66/src/vxworks/x86.rs010064400007650000024000000001351354107165000142430ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; pub type c_long = i32; pub type c_ulong = u32; libc-0.2.66/src/vxworks/x86_64.rs010064400007650000024000000001351354107165000145540ustar0000000000000000pub type c_char = i8; pub type wchar_t = i32; pub type c_long = i64; pub type c_ulong = u64; libc-0.2.66/src/wasi.rs010064400007650000024000000562101353775267200130620ustar0000000000000000pub use ffi::c_void; pub type c_char = i8; pub type c_uchar = u8; pub type c_schar = i8; pub type c_int = i32; pub type c_uint = u32; pub type c_short = i16; pub type c_ushort = u16; pub type c_long = i32; pub type c_ulong = u32; pub type c_longlong = i64; pub type c_ulonglong = u64; pub type intmax_t = i64; pub type uintmax_t = u64; pub type size_t = usize; pub type ssize_t = isize; pub type ptrdiff_t = isize; pub type intptr_t = isize; pub type uintptr_t = usize; pub type off_t = i64; pub type pid_t = i32; pub type clock_t = c_longlong; pub type time_t = c_longlong; pub type c_double = f64; pub type c_float = f32; pub type ino_t = u64; pub type sigset_t = c_uchar; pub type suseconds_t = c_longlong; pub type mode_t = u32; pub type dev_t = u64; pub type uid_t = u32; pub type gid_t = u32; pub type nlink_t = u64; pub type blksize_t = c_long; pub type blkcnt_t = i64; pub type nfds_t = c_ulong; pub type __wasi_rights_t = u64; #[allow(missing_copy_implementations)] #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum FILE {} #[allow(missing_copy_implementations)] #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum DIR {} #[allow(missing_copy_implementations)] #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum __locale_struct {} pub type locale_t = *mut __locale_struct; s! { #[repr(align(8))] pub struct fpos_t { data: [u8; 16], } 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_int, pub __tm_zone: *const c_char, pub __tm_nsec: c_int, } pub struct timeval { pub tv_sec: time_t, pub tv_usec: suseconds_t, } pub struct timespec { pub tv_sec: time_t, pub tv_nsec: c_long, } pub struct tms { pub tms_utime: clock_t, pub tms_stime: clock_t, pub tms_cutime: clock_t, pub tms_cstime: clock_t, } pub struct itimerspec { pub it_interval: timespec, pub it_value: timespec, } pub struct iovec { pub iov_base: *mut c_void, pub iov_len: size_t, } 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_p_sep_by_space: c_char, pub int_n_cs_precedes: 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 pollfd { pub fd: c_int, pub events: c_short, pub revents: c_short, } pub struct rusage { pub ru_utime: timeval, pub ru_stime: timeval, } pub struct stat { pub st_dev: dev_t, pub st_ino: ino_t, pub st_nlink: nlink_t, pub st_mode: mode_t, pub st_uid: uid_t, pub st_gid: gid_t, __pad0: c_uint, pub st_rdev: dev_t, pub st_size: off_t, pub st_blksize: blksize_t, pub st_blocks: blkcnt_t, pub st_atim: timespec, pub st_mtim: timespec, pub st_ctim: timespec, __reserved: [c_longlong; 3], } } // Declare dirent outside of s! so that it doesn't implement Copy, Eq, Hash, // etc., since it contains a flexible array member with a dynamic size. #[repr(C)] #[allow(missing_copy_implementations)] #[cfg_attr(feature = "extra_traits", derive(Debug))] pub struct dirent { pub d_ino: ino_t, pub d_type: c_uchar, /// d_name is declared in WASI libc as a flexible array member, which /// can't be directly expressed in Rust. As an imperfect workaround, /// declare it as a zero-length array instead. pub d_name: [c_char; 0], } pub const EXIT_SUCCESS: c_int = 0; pub const EXIT_FAILURE: c_int = 1; pub const STDIN_FILENO: c_int = 0; pub const STDOUT_FILENO: c_int = 1; pub const STDERR_FILENO: c_int = 2; pub const SEEK_SET: c_int = 2; pub const SEEK_CUR: c_int = 0; pub const SEEK_END: c_int = 1; pub const _IOFBF: c_int = 0; pub const _IONBF: c_int = 2; pub const _IOLBF: c_int = 1; pub const FD_SETSIZE: size_t = 1024; pub const O_APPEND: c_int = 0x0001; pub const O_DSYNC: c_int = 0x0002; pub const O_NONBLOCK: c_int = 0x0004; pub const O_RSYNC: c_int = 0x0008; pub const O_SYNC: c_int = 0x0010; pub const O_CREAT: c_int = 0x0001 << 12; pub const O_DIRECTORY: c_int = 0x0002 << 12; pub const O_EXCL: c_int = 0x0004 << 12; pub const O_TRUNC: c_int = 0x0008 << 12; pub const O_NOFOLLOW: c_int = 0x01000000; 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_RDWR: c_int = O_WRONLY | O_RDONLY; pub const O_ACCMODE: c_int = O_EXEC | O_RDWR | O_SEARCH; pub const POSIX_FADV_DONTNEED: c_int = 4; pub const POSIX_FADV_NOREUSE: c_int = 5; pub const POSIX_FADV_NORMAL: c_int = 0; pub const POSIX_FADV_RANDOM: c_int = 2; pub const POSIX_FADV_SEQUENTIAL: c_int = 1; pub const POSIX_FADV_WILLNEED: c_int = 3; pub const AT_EACCESS: c_int = 0x0; pub const AT_SYMLINK_NOFOLLOW: c_int = 0x1; pub const AT_SYMLINK_FOLLOW: c_int = 0x2; pub const AT_REMOVEDIR: c_int = 0x4; pub const UTIME_OMIT: c_long = 1073741822; pub const UTIME_NOW: c_long = 1073741823; pub const E2BIG: c_int = 1; pub const EACCES: c_int = 2; pub const EADDRINUSE: c_int = 3; pub const EADDRNOTAVAIL: c_int = 4; pub const EAFNOSUPPORT: c_int = 5; pub const EAGAIN: c_int = 6; pub const EALREADY: c_int = 7; pub const EBADF: c_int = 8; pub const EBADMSG: c_int = 9; pub const EBUSY: c_int = 10; pub const ECANCELED: c_int = 11; pub const ECHILD: c_int = 12; pub const ECONNABORTED: c_int = 13; pub const ECONNREFUSED: c_int = 14; pub const ECONNRESET: c_int = 15; pub const EDEADLK: c_int = 16; pub const EDESTADDRREQ: c_int = 17; pub const EDOM: c_int = 18; pub const EDQUOT: c_int = 19; pub const EEXIST: c_int = 20; pub const EFAULT: c_int = 21; pub const EFBIG: c_int = 22; pub const EHOSTUNREACH: c_int = 23; pub const EIDRM: c_int = 24; pub const EILSEQ: c_int = 25; pub const EINPROGRESS: c_int = 26; pub const EINTR: c_int = 27; pub const EINVAL: c_int = 28; pub const EIO: c_int = 29; pub const EISCONN: c_int = 30; pub const EISDIR: c_int = 31; pub const ELOOP: c_int = 32; pub const EMFILE: c_int = 33; pub const EMLINK: c_int = 34; pub const EMSGSIZE: c_int = 35; pub const EMULTIHOP: c_int = 36; pub const ENAMETOOLONG: c_int = 37; pub const ENETDOWN: c_int = 38; pub const ENETRESET: c_int = 39; pub const ENETUNREACH: c_int = 40; pub const ENFILE: c_int = 41; pub const ENOBUFS: c_int = 42; pub const ENODEV: c_int = 43; pub const ENOENT: c_int = 44; pub const ENOEXEC: c_int = 45; pub const ENOLCK: c_int = 46; pub const ENOLINK: c_int = 47; pub const ENOMEM: c_int = 48; pub const ENOMSG: c_int = 49; pub const ENOPROTOOPT: c_int = 50; pub const ENOSPC: c_int = 51; pub const ENOSYS: c_int = 52; pub const ENOTCONN: c_int = 53; pub const ENOTDIR: c_int = 54; pub const ENOTEMPTY: c_int = 55; pub const ENOTRECOVERABLE: c_int = 56; pub const ENOTSOCK: c_int = 57; pub const ENOTSUP: c_int = 58; pub const ENOTTY: c_int = 59; pub const ENXIO: c_int = 60; pub const EOVERFLOW: c_int = 61; pub const EOWNERDEAD: c_int = 62; pub const EPERM: c_int = 63; pub const EPIPE: c_int = 64; pub const EPROTO: c_int = 65; pub const EPROTONOSUPPORT: c_int = 66; pub const EPROTOTYPE: c_int = 67; pub const ERANGE: c_int = 68; pub const EROFS: c_int = 69; pub const ESPIPE: c_int = 70; pub const ESRCH: c_int = 71; pub const ESTALE: c_int = 72; pub const ETIMEDOUT: c_int = 73; pub const ETXTBSY: c_int = 74; pub const EXDEV: c_int = 75; pub const ENOTCAPABLE: c_int = 76; pub const EOPNOTSUPP: c_int = ENOTSUP; pub const EWOULDBLOCK: c_int = EAGAIN; #[cfg_attr( feature = "rustc-dep-of-std", 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"))) )] extern "C" { pub fn _Exit(code: c_int) -> !; pub fn _exit(code: c_int) -> !; pub fn abort() -> !; pub fn aligned_alloc(a: size_t, b: size_t) -> *mut c_void; pub fn calloc(amt: size_t, amt2: size_t) -> *mut c_void; pub fn exit(code: c_int) -> !; pub fn free(ptr: *mut c_void); pub fn getenv(s: *const c_char) -> *mut c_char; pub fn malloc(amt: size_t) -> *mut c_void; pub fn malloc_usable_size(ptr: *mut c_void) -> size_t; pub fn sbrk(increment: ::intptr_t) -> *mut ::c_void; pub fn rand() -> c_int; pub fn read(fd: c_int, ptr: *mut c_void, size: size_t) -> ssize_t; pub fn realloc(ptr: *mut c_void, amt: size_t) -> *mut c_void; pub fn setenv(k: *const c_char, v: *const c_char, a: c_int) -> c_int; pub fn unsetenv(k: *const c_char) -> c_int; pub fn clearenv() -> ::c_int; pub fn write(fd: c_int, ptr: *const c_void, size: size_t) -> ssize_t; pub static mut environ: *mut *mut c_char; pub fn fopen(a: *const c_char, b: *const c_char) -> *mut FILE; pub fn freopen( a: *const c_char, b: *const c_char, f: *mut FILE, ) -> *mut FILE; pub fn fclose(f: *mut FILE) -> c_int; pub fn remove(a: *const c_char) -> c_int; pub fn rename(a: *const c_char, b: *const c_char) -> c_int; pub fn feof(f: *mut FILE) -> c_int; pub fn ferror(f: *mut FILE) -> c_int; pub fn fflush(f: *mut FILE) -> c_int; pub fn clearerr(f: *mut FILE); pub fn fseek(f: *mut FILE, b: c_long, c: c_int) -> c_int; pub fn ftell(f: *mut FILE) -> c_long; pub fn rewind(f: *mut FILE); pub fn fgetpos(f: *mut FILE, pos: *mut fpos_t) -> c_int; pub fn fsetpos(f: *mut FILE, pos: *const fpos_t) -> c_int; pub fn fread( buf: *mut c_void, a: size_t, b: size_t, f: *mut FILE, ) -> size_t; pub fn fwrite( buf: *const c_void, a: size_t, b: size_t, f: *mut FILE, ) -> size_t; pub fn fgetc(f: *mut FILE) -> c_int; pub fn getc(f: *mut FILE) -> c_int; pub fn getchar() -> c_int; pub fn ungetc(a: c_int, f: *mut FILE) -> c_int; pub fn fputc(a: c_int, f: *mut FILE) -> c_int; pub fn putc(a: c_int, f: *mut FILE) -> c_int; pub fn putchar(a: c_int) -> c_int; pub fn fputs(a: *const c_char, f: *mut FILE) -> c_int; pub fn puts(a: *const c_char) -> c_int; pub fn perror(a: *const c_char); pub fn srand(a: c_uint); pub fn atexit(a: extern "C" fn()) -> c_int; pub fn at_quick_exit(a: extern "C" fn()) -> c_int; pub fn quick_exit(a: c_int) -> !; pub fn posix_memalign(a: *mut *mut c_void, b: size_t, c: size_t) -> c_int; pub fn rand_r(a: *mut c_uint) -> c_int; pub fn random() -> c_long; pub fn srandom(a: c_uint); pub fn putenv(a: *mut c_char) -> c_int; pub fn clock() -> clock_t; pub fn time(a: *mut time_t) -> time_t; pub fn difftime(a: time_t, b: time_t) -> c_double; pub fn mktime(a: *mut tm) -> time_t; pub fn strftime( a: *mut c_char, b: size_t, c: *const c_char, d: *const tm, ) -> size_t; pub fn gmtime(a: *const time_t) -> *mut tm; pub fn gmtime_r(a: *const time_t, b: *mut tm) -> *mut tm; pub fn localtime_r(a: *const time_t, b: *mut tm) -> *mut tm; 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; 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 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 tolower(c: c_int) -> c_int; pub fn toupper(c: c_int) -> c_int; pub fn setvbuf( stream: *mut FILE, buffer: *mut c_char, mode: c_int, size: size_t, ) -> c_int; pub fn setbuf(stream: *mut FILE, buf: *mut c_char); pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char; 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 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 strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char; pub fn strncpy( dst: *mut c_char, src: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char; pub fn strncat( s: *mut c_char, ct: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int; pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strdup(cs: *const c_char) -> *mut c_char; pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strcasecmp(s1: *const c_char, s2: *const c_char) -> c_int; pub fn strncasecmp( s1: *const c_char, s2: *const c_char, n: size_t, ) -> c_int; pub fn strlen(cs: *const c_char) -> size_t; pub fn strnlen(cs: *const c_char, maxlen: size_t) -> size_t; pub fn strerror(n: c_int) -> *mut c_char; pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char; pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t; pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void; pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int; pub fn memcpy( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memmove( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void; pub fn fprintf( stream: *mut ::FILE, format: *const ::c_char, ... ) -> ::c_int; pub fn printf(format: *const ::c_char, ...) -> ::c_int; pub fn snprintf( s: *mut ::c_char, n: ::size_t, format: *const ::c_char, ... ) -> ::c_int; pub fn sprintf(s: *mut ::c_char, format: *const ::c_char, ...) -> ::c_int; pub fn fscanf( stream: *mut ::FILE, format: *const ::c_char, ... ) -> ::c_int; pub fn scanf(format: *const ::c_char, ...) -> ::c_int; pub fn sscanf(s: *const ::c_char, format: *const ::c_char, ...) -> ::c_int; pub fn getchar_unlocked() -> ::c_int; pub fn putchar_unlocked(c: ::c_int) -> ::c_int; pub fn shutdown(socket: ::c_int, how: ::c_int) -> ::c_int; pub fn fstat(fildes: ::c_int, buf: *mut stat) -> ::c_int; pub fn mkdir(path: *const c_char, mode: mode_t) -> ::c_int; pub fn stat(path: *const c_char, buf: *mut stat) -> ::c_int; pub fn fdopen(fd: ::c_int, mode: *const c_char) -> *mut ::FILE; pub fn fileno(stream: *mut ::FILE) -> ::c_int; pub fn open(path: *const c_char, oflag: ::c_int, ...) -> ::c_int; pub fn creat(path: *const c_char, mode: mode_t) -> ::c_int; pub fn fcntl(fd: ::c_int, cmd: ::c_int, ...) -> ::c_int; pub fn opendir(dirname: *const c_char) -> *mut ::DIR; pub fn fdopendir(fd: ::c_int) -> *mut ::DIR; pub fn readdir(dirp: *mut ::DIR) -> *mut ::dirent; pub fn closedir(dirp: *mut ::DIR) -> ::c_int; pub fn rewinddir(dirp: *mut ::DIR); pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; pub fn openat( dirfd: ::c_int, pathname: *const ::c_char, flags: ::c_int, ... ) -> ::c_int; pub fn fstatat( dirfd: ::c_int, pathname: *const ::c_char, buf: *mut stat, flags: ::c_int, ) -> ::c_int; pub fn linkat( olddirfd: ::c_int, oldpath: *const ::c_char, newdirfd: ::c_int, newpath: *const ::c_char, flags: ::c_int, ) -> ::c_int; pub fn mkdirat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, ) -> ::c_int; pub fn readlinkat( dirfd: ::c_int, pathname: *const ::c_char, buf: *mut ::c_char, bufsiz: ::size_t, ) -> ::ssize_t; pub fn renameat( olddirfd: ::c_int, oldpath: *const ::c_char, newdirfd: ::c_int, newpath: *const ::c_char, ) -> ::c_int; pub fn symlinkat( target: *const ::c_char, newdirfd: ::c_int, linkpath: *const ::c_char, ) -> ::c_int; pub fn unlinkat( dirfd: ::c_int, pathname: *const ::c_char, flags: ::c_int, ) -> ::c_int; pub fn access(path: *const c_char, amode: ::c_int) -> ::c_int; pub fn close(fd: ::c_int) -> ::c_int; pub fn fpathconf(filedes: ::c_int, name: ::c_int) -> c_long; pub fn getopt( argc: ::c_int, argv: *const *mut c_char, optstr: *const c_char, ) -> ::c_int; pub fn isatty(fd: ::c_int) -> ::c_int; pub fn link(src: *const c_char, dst: *const c_char) -> ::c_int; pub fn lseek(fd: ::c_int, offset: off_t, whence: ::c_int) -> off_t; pub fn pathconf(path: *const c_char, name: ::c_int) -> c_long; pub fn pause() -> ::c_int; pub fn rmdir(path: *const c_char) -> ::c_int; pub fn sleep(secs: ::c_uint) -> ::c_uint; pub fn unlink(c: *const c_char) -> ::c_int; pub fn pread( fd: ::c_int, buf: *mut ::c_void, count: ::size_t, offset: off_t, ) -> ::ssize_t; pub fn pwrite( fd: ::c_int, buf: *const ::c_void, count: ::size_t, offset: off_t, ) -> ::ssize_t; pub fn lstat(path: *const c_char, buf: *mut stat) -> ::c_int; pub fn fsync(fd: ::c_int) -> ::c_int; pub fn fdatasync(fd: ::c_int) -> ::c_int; pub fn symlink(path1: *const c_char, path2: *const c_char) -> ::c_int; pub fn truncate(path: *const c_char, length: off_t) -> ::c_int; pub fn ftruncate(fd: ::c_int, length: off_t) -> ::c_int; pub fn getrusage(resource: ::c_int, usage: *mut rusage) -> ::c_int; pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; pub fn times(buf: *mut ::tms) -> ::clock_t; pub fn strerror_r( errnum: ::c_int, buf: *mut c_char, buflen: ::size_t, ) -> ::c_int; pub fn usleep(secs: ::c_uint) -> ::c_int; pub fn send( socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int, ) -> ::ssize_t; pub fn recv( socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_int, ) -> ::ssize_t; pub fn poll(fds: *mut pollfd, nfds: nfds_t, timeout: ::c_int) -> ::c_int; pub fn setlocale( category: ::c_int, locale: *const ::c_char, ) -> *mut ::c_char; pub fn localeconv() -> *mut lconv; pub fn readlink( path: *const c_char, buf: *mut c_char, bufsz: ::size_t, ) -> ::ssize_t; pub fn timegm(tm: *mut ::tm) -> time_t; pub fn sysconf(name: ::c_int) -> ::c_long; pub fn fseeko( stream: *mut ::FILE, offset: ::off_t, whence: ::c_int, ) -> ::c_int; pub fn ftello(stream: *mut ::FILE) -> ::off_t; pub fn posix_fallocate( fd: ::c_int, offset: ::off_t, len: ::off_t, ) -> ::c_int; pub fn strcasestr(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn getline( lineptr: *mut *mut c_char, n: *mut size_t, stream: *mut FILE, ) -> ssize_t; pub fn faccessat( dirfd: ::c_int, pathname: *const ::c_char, mode: ::c_int, flags: ::c_int, ) -> ::c_int; pub fn writev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn readv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, ) -> ::ssize_t; pub fn pwritev( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn preadv( fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t, ) -> ::ssize_t; pub fn posix_fadvise( fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int, ) -> ::c_int; pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int; pub fn utimensat( dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int, ) -> ::c_int; pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int; pub fn memrchr( cx: *const ::c_void, c: ::c_int, n: ::size_t, ) -> *mut ::c_void; pub fn abs(i: c_int) -> c_int; pub fn labs(i: c_long) -> c_long; pub fn duplocale(base: ::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 uselocale(loc: ::locale_t) -> ::locale_t; pub fn sched_yield() -> ::c_int; 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; pub fn __wasilibc_unlinkat(fd: c_int, path: *const c_char) -> c_int; pub fn __wasilibc_rmdirat(fd: c_int, path: *const c_char) -> c_int; pub fn __wasilibc_init_preopen(); pub fn __wasilibc_find_relpath( path: *const c_char, rights_base: __wasi_rights_t, rights_inheriting: __wasi_rights_t, relative_path: *mut *const c_char, ) -> c_int; pub fn __wasilibc_tell(fd: c_int) -> ::off_t; pub fn arc4random() -> u32; pub fn arc4random_buf(a: *mut c_void, b: size_t); pub fn arc4random_uniform(a: u32) -> u32; } libc-0.2.66/src/windows/gnu/align.rs010064400007650000024000000010151355140103400154400ustar0000000000000000cfg_if! { if #[cfg(target_pointer_width = "64")] { s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [f64; 4] } } } else if #[cfg(target_pointer_width = "32")] { s_no_extra_traits! { #[allow(missing_debug_implementations)] #[repr(align(16))] pub struct max_align_t { priv_: [i64; 6] } } } } libc-0.2.66/src/windows/gnu/mod.rs010064400007650000024000000010231354141276600151410ustar0000000000000000pub const L_tmpnam: ::c_uint = 14; pub const TMP_MAX: ::c_uint = 0x7fff; // stdio file descriptor numbers pub const STDIN_FILENO: ::c_int = 0; pub const STDOUT_FILENO: ::c_int = 1; pub const STDERR_FILENO: ::c_int = 2; extern "C" { pub fn strcasecmp(s1: *const ::c_char, s2: *const ::c_char) -> ::c_int; pub fn strncasecmp( s1: *const ::c_char, s2: *const ::c_char, n: ::size_t, ) -> ::c_int; } cfg_if! { if #[cfg(libc_align)] { mod align; pub use self::align::*; } } libc-0.2.66/src/windows/mod.rs010064400007650000024000000447431357020644200143620ustar0000000000000000//! Windows CRT definitions 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 size_t = usize; pub type ptrdiff_t = isize; pub type intptr_t = isize; pub type uintptr_t = usize; pub type ssize_t = isize; pub type sighandler_t = usize; pub type c_char = i8; pub type c_long = i32; pub type c_ulong = u32; pub type wchar_t = u16; pub type clock_t = i32; cfg_if! { if #[cfg(all(target_arch = "x86", target_env = "gnu"))] { pub type time_t = i32; } else { pub type time_t = i64; } } pub type off_t = i32; pub type dev_t = u32; pub type ino_t = u16; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {} impl ::Copy for timezone {} impl ::Clone for timezone { fn clone(&self) -> timezone { *self } } pub type time64_t = i64; pub type SOCKET = ::uintptr_t; s! { // note this is the struct called stat64 in Windows. Not stat, nor stati64. pub struct stat { pub st_dev: dev_t, pub st_ino: ino_t, pub st_mode: u16, pub st_nlink: ::c_short, pub st_uid: ::c_short, pub st_gid: ::c_short, pub st_rdev: dev_t, pub st_size: i64, pub st_atime: time64_t, pub st_mtime: time64_t, pub st_ctime: time64_t, } // note that this is called utimbuf64 in Windows pub struct utimbuf { pub actime: time64_t, pub modtime: time64_t, } 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 struct timeval { pub tv_sec: c_long, pub tv_usec: c_long, } pub struct timespec { pub tv_sec: time_t, pub tv_nsec: c_long, } pub struct sockaddr { pub sa_family: c_ushort, pub sa_data: [c_char; 14], } } 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 = 32767; 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 = 4; pub const _IOLBF: ::c_int = 64; pub const BUFSIZ: ::c_uint = 512; pub const FOPEN_MAX: ::c_uint = 20; pub const FILENAME_MAX: ::c_uint = 260; 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; pub const S_IFMT: ::c_int = 61440; pub const S_IEXEC: ::c_int = 64; pub const S_IWRITE: ::c_int = 128; pub const S_IREAD: ::c_int = 256; 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 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 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 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 = 36; pub const EDEADLOCK: ::c_int = 36; pub const ENAMETOOLONG: ::c_int = 38; pub const ENOLCK: ::c_int = 39; pub const ENOSYS: ::c_int = 40; pub const ENOTEMPTY: ::c_int = 41; pub const EILSEQ: ::c_int = 42; pub const STRUNCATE: ::c_int = 80; // POSIX Supplement (from errno.h) pub const EADDRINUSE: ::c_int = 100; pub const EADDRNOTAVAIL: ::c_int = 101; pub const EAFNOSUPPORT: ::c_int = 102; pub const EALREADY: ::c_int = 103; pub const EBADMSG: ::c_int = 104; pub const ECANCELED: ::c_int = 105; pub const ECONNABORTED: ::c_int = 106; pub const ECONNREFUSED: ::c_int = 107; pub const ECONNRESET: ::c_int = 108; pub const EDESTADDRREQ: ::c_int = 109; pub const EHOSTUNREACH: ::c_int = 110; pub const EIDRM: ::c_int = 111; pub const EINPROGRESS: ::c_int = 112; pub const EISCONN: ::c_int = 113; pub const ELOOP: ::c_int = 114; pub const EMSGSIZE: ::c_int = 115; pub const ENETDOWN: ::c_int = 116; pub const ENETRESET: ::c_int = 117; pub const ENETUNREACH: ::c_int = 118; pub const ENOBUFS: ::c_int = 119; pub const ENODATA: ::c_int = 120; pub const ENOLINK: ::c_int = 121; pub const ENOMSG: ::c_int = 122; pub const ENOPROTOOPT: ::c_int = 123; pub const ENOSR: ::c_int = 124; pub const ENOSTR: ::c_int = 125; pub const ENOTCONN: ::c_int = 126; pub const ENOTRECOVERABLE: ::c_int = 127; pub const ENOTSOCK: ::c_int = 128; pub const ENOTSUP: ::c_int = 129; pub const EOPNOTSUPP: ::c_int = 130; pub const EOVERFLOW: ::c_int = 132; pub const EOWNERDEAD: ::c_int = 133; pub const EPROTO: ::c_int = 134; pub const EPROTONOSUPPORT: ::c_int = 135; pub const EPROTOTYPE: ::c_int = 136; pub const ETIME: ::c_int = 137; pub const ETIMEDOUT: ::c_int = 138; pub const ETXTBSY: ::c_int = 139; pub const EWOULDBLOCK: ::c_int = 140; // signal codes pub const SIGINT: ::c_int = 2; pub const SIGILL: ::c_int = 4; pub const SIGFPE: ::c_int = 8; 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; // inline comment below appeases style checker #[cfg(all(target_env = "msvc", feature = "rustc-dep-of-std"))] // " if " #[link(name = "msvcrt", cfg(not(target_feature = "crt-static")))] #[link(name = "libcmt", cfg(target_feature = "crt-static"))] extern "C" {} #[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 {} // TODO: fill this out with a struct impl ::Copy for fpos_t {} impl ::Clone for fpos_t { fn clone(&self) -> fpos_t { *self } } extern "C" { 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; pub fn fopen(filename: *const c_char, mode: *const c_char) -> *mut FILE; pub fn freopen( filename: *const c_char, mode: *const c_char, file: *mut FILE, ) -> *mut FILE; pub fn fflush(file: *mut FILE) -> c_int; pub fn fclose(file: *mut FILE) -> c_int; pub fn remove(filename: *const c_char) -> c_int; pub fn rename(oldname: *const c_char, newname: *const c_char) -> c_int; pub fn tmpfile() -> *mut FILE; pub fn setvbuf( stream: *mut FILE, buffer: *mut c_char, mode: c_int, size: size_t, ) -> c_int; pub fn setbuf(stream: *mut FILE, buf: *mut c_char); pub fn getchar() -> c_int; pub fn putchar(c: c_int) -> c_int; pub fn fgetc(stream: *mut FILE) -> c_int; pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char; pub fn fputc(c: c_int, stream: *mut FILE) -> c_int; pub fn fputs(s: *const c_char, stream: *mut FILE) -> c_int; pub fn puts(s: *const c_char) -> c_int; pub fn ungetc(c: c_int, stream: *mut FILE) -> c_int; pub fn fread( ptr: *mut c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; pub fn fwrite( ptr: *const c_void, size: size_t, nobj: size_t, stream: *mut FILE, ) -> size_t; pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int; pub fn ftell(stream: *mut FILE) -> c_long; pub fn rewind(stream: *mut FILE); pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> c_int; pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> c_int; 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 atoi(s: *const c_char) -> c_int; pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double; 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; pub fn malloc(size: size_t) -> *mut c_void; pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void; pub fn free(p: *mut c_void); pub fn abort() -> !; pub fn exit(status: c_int) -> !; pub fn _exit(status: c_int) -> !; pub fn atexit(cb: extern "C" fn()) -> c_int; pub fn system(s: *const c_char) -> c_int; pub fn getenv(s: *const c_char) -> *mut c_char; pub fn strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char; pub fn strncpy( dst: *mut c_char, src: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char; pub fn strncat( s: *mut c_char, ct: *const c_char, n: size_t, ) -> *mut c_char; pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int; pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int; pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char; pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t; pub fn strdup(cs: *const c_char) -> *mut c_char; pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char; pub fn strlen(cs: *const c_char) -> size_t; pub fn strnlen(cs: *const c_char, maxlen: size_t) -> size_t; pub fn strerror(n: c_int) -> *mut c_char; pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char; pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t; pub fn wcslen(buf: *const wchar_t) -> size_t; pub fn wcstombs( dest: *mut c_char, src: *const wchar_t, n: size_t, ) -> ::size_t; pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void; pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int; pub fn memcpy( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memmove( dest: *mut c_void, src: *const c_void, n: size_t, ) -> *mut c_void; pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void; pub fn abs(i: c_int) -> c_int; pub fn atof(s: *const c_char) -> c_double; pub fn labs(i: c_long) -> c_long; pub fn rand() -> c_int; pub fn srand(seed: c_uint); pub fn signal(signum: c_int, handler: sighandler_t) -> sighandler_t; pub fn raise(signum: c_int) -> c_int; #[link_name = "_time64"] pub fn time(destTime: *mut time_t) -> time_t; #[link_name = "_chmod"] pub fn chmod(path: *const c_char, mode: ::c_int) -> ::c_int; #[link_name = "_wchmod"] pub fn wchmod(path: *const wchar_t, mode: ::c_int) -> ::c_int; #[link_name = "_mkdir"] pub fn mkdir(path: *const c_char) -> ::c_int; #[link_name = "_wrmdir"] pub fn wrmdir(path: *const wchar_t) -> ::c_int; #[link_name = "_fstat64"] pub fn fstat(fildes: ::c_int, buf: *mut stat) -> ::c_int; #[link_name = "_stat64"] pub fn stat(path: *const c_char, buf: *mut stat) -> ::c_int; #[link_name = "_wstat64"] pub fn wstat(path: *const wchar_t, buf: *mut stat) -> ::c_int; #[link_name = "_wutime64"] pub fn wutime(file: *const wchar_t, buf: *mut utimbuf) -> ::c_int; #[link_name = "_popen"] pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE; #[link_name = "_pclose"] pub fn pclose(stream: *mut ::FILE) -> ::c_int; #[link_name = "_fdopen"] pub fn fdopen(fd: ::c_int, mode: *const c_char) -> *mut ::FILE; #[link_name = "_fileno"] pub fn fileno(stream: *mut ::FILE) -> ::c_int; #[link_name = "_open"] pub fn open(path: *const c_char, oflag: ::c_int, ...) -> ::c_int; #[link_name = "_wopen"] pub fn wopen(path: *const wchar_t, oflag: ::c_int, ...) -> ::c_int; #[link_name = "_creat"] pub fn creat(path: *const c_char, mode: ::c_int) -> ::c_int; #[link_name = "_access"] pub fn access(path: *const c_char, amode: ::c_int) -> ::c_int; #[link_name = "_chdir"] pub fn chdir(dir: *const c_char) -> ::c_int; #[link_name = "_close"] pub fn close(fd: ::c_int) -> ::c_int; #[link_name = "_dup"] pub fn dup(fd: ::c_int) -> ::c_int; #[link_name = "_dup2"] pub fn dup2(src: ::c_int, dst: ::c_int) -> ::c_int; #[link_name = "_execv"] pub fn execv( prog: *const c_char, argv: *const *const c_char, ) -> ::intptr_t; #[link_name = "_execve"] pub fn execve( prog: *const c_char, argv: *const *const c_char, envp: *const *const c_char, ) -> ::c_int; #[link_name = "_execvp"] pub fn execvp(c: *const c_char, argv: *const *const c_char) -> ::c_int; #[link_name = "_execvpe"] pub fn execvpe( c: *const c_char, argv: *const *const c_char, envp: *const *const c_char, ) -> ::c_int; #[link_name = "_getcwd"] pub fn getcwd(buf: *mut c_char, size: ::c_int) -> *mut c_char; #[link_name = "_getpid"] pub fn getpid() -> ::c_int; #[link_name = "_isatty"] pub fn isatty(fd: ::c_int) -> ::c_int; #[link_name = "_lseek"] pub fn lseek(fd: ::c_int, offset: c_long, origin: ::c_int) -> c_long; #[link_name = "_lseeki64"] pub fn lseek64( fd: ::c_int, offset: c_longlong, origin: ::c_int, ) -> c_longlong; #[link_name = "_pipe"] pub fn pipe( fds: *mut ::c_int, psize: ::c_uint, textmode: ::c_int, ) -> ::c_int; #[link_name = "_read"] pub fn read(fd: ::c_int, buf: *mut ::c_void, count: ::c_uint) -> ::c_int; #[link_name = "_rmdir"] pub fn rmdir(path: *const c_char) -> ::c_int; #[link_name = "_unlink"] pub fn unlink(c: *const c_char) -> ::c_int; #[link_name = "_write"] pub fn write( fd: ::c_int, buf: *const ::c_void, count: ::c_uint, ) -> ::c_int; #[link_name = "_commit"] pub fn commit(fd: ::c_int) -> ::c_int; #[link_name = "_get_osfhandle"] pub fn get_osfhandle(fd: ::c_int) -> ::intptr_t; #[link_name = "_open_osfhandle"] pub fn open_osfhandle(osfhandle: ::intptr_t, flags: ::c_int) -> ::c_int; pub fn setlocale(category: ::c_int, locale: *const c_char) -> *mut c_char; #[link_name = "_wsetlocale"] pub fn wsetlocale( category: ::c_int, locale: *const wchar_t, ) -> *mut wchar_t; } extern "system" { pub fn listen(s: SOCKET, backlog: ::c_int) -> ::c_int; pub fn accept( s: SOCKET, addr: *mut ::sockaddr, addrlen: *mut ::c_int, ) -> SOCKET; pub fn bind( s: SOCKET, name: *const ::sockaddr, namelen: ::c_int, ) -> ::c_int; pub fn connect( s: SOCKET, name: *const ::sockaddr, namelen: ::c_int, ) -> ::c_int; pub fn getpeername( s: SOCKET, name: *mut ::sockaddr, nameln: *mut ::c_int, ) -> ::c_int; pub fn getsockname( s: SOCKET, name: *mut ::sockaddr, nameln: *mut ::c_int, ) -> ::c_int; pub fn getsockopt( s: SOCKET, level: ::c_int, optname: ::c_int, optval: *mut ::c_char, optlen: *mut ::c_int, ) -> ::c_int; pub fn recvfrom( s: SOCKET, buf: *mut ::c_char, len: ::c_int, flags: ::c_int, from: *mut ::sockaddr, fromlen: *mut ::c_int, ) -> ::c_int; pub fn sendto( s: SOCKET, buf: *const ::c_char, len: ::c_int, flags: ::c_int, to: *const ::sockaddr, tolen: ::c_int, ) -> ::c_int; pub fn setsockopt( s: SOCKET, level: ::c_int, optname: ::c_int, optval: *const ::c_char, optlen: ::c_int, ) -> ::c_int; pub fn socket( af: ::c_int, socket_type: ::c_int, protocol: ::c_int, ) -> SOCKET; } 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(all(target_env = "gnu"))] { mod gnu; pub use self::gnu::*; } else if #[cfg(all(target_env = "msvc"))] { mod msvc; pub use self::msvc::*; } else { // Unknown target_env } } libc-0.2.66/src/windows/msvc.rs010064400007650000024000000007541357020644200145450ustar0000000000000000pub const L_tmpnam: ::c_uint = 260; pub const TMP_MAX: ::c_uint = 0x7fff_ffff; // POSIX Supplement (from errno.h) // This particular error code is only currently available in msvc toolchain pub const EOTHER: ::c_int = 131; extern "C" { #[link_name = "_stricmp"] 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; } libc-0.2.66/tests/const_fn.rs010064400007650000024000000003341357020644200142610ustar0000000000000000#![cfg(libc_const_extern_fn)] // If this does not hold, the file is empty #[cfg(target_os = "linux")] const _FOO: libc::c_uint = unsafe { libc::CMSG_SPACE(1) }; //^ if CMSG_SPACE is not const, this will fail to compile libc-0.2.66/.cargo_vcs_info.json0000644000000001121357020651700121360ustar00{ "git": { "sha1": "4f11029a68040c90acf771976b019c1ef273a8cd" } }