mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-09 16:57:30 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
1
third_party/rust/libc/.cargo-checksum.json
vendored
Normal file
1
third_party/rust/libc/.cargo-checksum.json
vendored
Normal file
File diff suppressed because one or more lines are too long
0
third_party/rust/libc/.cargo-ok
vendored
Normal file
0
third_party/rust/libc/.cargo-ok
vendored
Normal file
3
third_party/rust/libc/.gitignore
vendored
Normal file
3
third_party/rust/libc/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
target
|
||||
Cargo.lock
|
||||
*~
|
||||
119
third_party/rust/libc/.travis.yml
vendored
Normal file
119
third_party/rust/libc/.travis.yml
vendored
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
language: rust
|
||||
sudo: required
|
||||
dist: trusty
|
||||
services:
|
||||
- docker
|
||||
install:
|
||||
- curl https://static.rust-lang.org/rustup.sh |
|
||||
sh -s -- --add-target=$TARGET --disable-sudo -y --prefix=`rustc --print sysroot`
|
||||
script:
|
||||
- cargo build
|
||||
- cargo build --no-default-features
|
||||
- cargo generate-lockfile --manifest-path libc-test/Cargo.toml
|
||||
- if [[ $TRAVIS_OS_NAME = "linux" ]]; then
|
||||
sh ci/run-docker.sh $TARGET;
|
||||
else
|
||||
export CARGO_TARGET_DIR=`pwd`/target;
|
||||
sh ci/run.sh $TARGET;
|
||||
fi
|
||||
- rustc ci/style.rs && ./style src
|
||||
osx_image: xcode7.3
|
||||
env:
|
||||
global:
|
||||
secure: eIDEoQdTyglcsTD13zSGotAX2HDhRSXIaaTnVZTThqLSrySOc3/6KY3qmOc2Msf7XaBqfFy9QA+alk7OwfePp253eiy1Kced67ffjjFOytEcRT7FlQiYpcYQD6WNHZEj62/bJBO4LTM9sGtWNCTJVEDKW0WM8mUK7qNuC+honPM=
|
||||
matrix:
|
||||
include:
|
||||
# 1.0.0 compat
|
||||
- os: linux
|
||||
env: TARGET=x86_64-unknown-linux-gnu
|
||||
rust: 1.0.0
|
||||
script: cargo build
|
||||
install:
|
||||
|
||||
# build documentation
|
||||
- os: linux
|
||||
env: TARGET=x86_64-unknown-linux-gnu
|
||||
rust: stable
|
||||
script: sh ci/dox.sh
|
||||
|
||||
# stable compat
|
||||
- os: linux
|
||||
env: TARGET=x86_64-unknown-linux-gnu
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=i686-unknown-linux-gnu
|
||||
rust: stable
|
||||
- os: osx
|
||||
env: TARGET=x86_64-apple-darwin
|
||||
rust: stable
|
||||
- os: osx
|
||||
env: TARGET=i686-apple-darwin
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=arm-linux-androideabi
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=x86_64-unknown-linux-musl
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=i686-unknown-linux-musl
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=arm-unknown-linux-gnueabihf
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=aarch64-unknown-linux-gnu
|
||||
rust: stable
|
||||
- os: osx
|
||||
env: TARGET=i386-apple-ios
|
||||
rust: stable
|
||||
- os: osx
|
||||
env: TARGET=x86_64-apple-ios
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=x86_64-rumprun-netbsd
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=powerpc-unknown-linux-gnu
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=powerpc64-unknown-linux-gnu
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=mipsel-unknown-linux-musl
|
||||
rust: stable
|
||||
|
||||
# beta
|
||||
- os: linux
|
||||
env: TARGET=x86_64-unknown-linux-gnu
|
||||
rust: beta
|
||||
- os: osx
|
||||
env: TARGET=x86_64-apple-darwin
|
||||
rust: beta
|
||||
|
||||
# nightly
|
||||
- os: linux
|
||||
env: TARGET=x86_64-unknown-linux-gnu
|
||||
rust: nightly
|
||||
- os: osx
|
||||
env: TARGET=x86_64-apple-darwin
|
||||
rust: nightly
|
||||
- os: linux
|
||||
env: TARGET=mips-unknown-linux-gnu
|
||||
# not sure why this has to be nightly...
|
||||
rust: nightly
|
||||
|
||||
# QEMU based targets that compile in an emulator
|
||||
- os: linux
|
||||
env: TARGET=x86_64-unknown-freebsd
|
||||
rust: stable
|
||||
- os: linux
|
||||
env: TARGET=x86_64-unknown-openbsd QEMU=openbsd.qcow2
|
||||
rust: stable
|
||||
script: sh ci/run-docker.sh $TARGET
|
||||
install:
|
||||
|
||||
notifications:
|
||||
email:
|
||||
on_success: never
|
||||
webhooks: https://buildbot.rust-lang.org/homu/travis
|
||||
18
third_party/rust/libc/Cargo.toml
vendored
Normal file
18
third_party/rust/libc/Cargo.toml
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[package]
|
||||
|
||||
name = "libc"
|
||||
version = "0.2.16"
|
||||
authors = ["The Rust Project Developers"]
|
||||
license = "MIT/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"
|
||||
description = """
|
||||
A library for types and bindings to native C functions often found in libc or
|
||||
other common platform libraries.
|
||||
"""
|
||||
|
||||
[features]
|
||||
default = ["use_std"]
|
||||
use_std = []
|
||||
201
third_party/rust/libc/LICENSE-APACHE
vendored
Normal file
201
third_party/rust/libc/LICENSE-APACHE
vendored
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
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.
|
||||
25
third_party/rust/libc/LICENSE-MIT
vendored
Normal file
25
third_party/rust/libc/LICENSE-MIT
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
Copyright (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.
|
||||
135
third_party/rust/libc/README.md
vendored
Normal file
135
third_party/rust/libc/README.md
vendored
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
libc
|
||||
====
|
||||
|
||||
A Rust library with native bindings to the types and functions commonly found on
|
||||
various systems, including libc.
|
||||
|
||||
[](https://travis-ci.org/rust-lang/libc)
|
||||
[](https://ci.appveyor.com/project/alexcrichton/libc)
|
||||
|
||||
[Documentation](#platforms-and-documentation)
|
||||
|
||||
## Usage
|
||||
|
||||
First, add the following to your `Cargo.toml`:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
```
|
||||
|
||||
Next, add this to your crate root:
|
||||
|
||||
```rust
|
||||
extern crate libc;
|
||||
```
|
||||
|
||||
Currently libc by default links to the standard library, but if you would
|
||||
instead like to use libc in a `#![no_std]` situation or crate you can request
|
||||
this via:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
libc = { version = "0.2", default-features = false }
|
||||
```
|
||||
|
||||
## What is libc?
|
||||
|
||||
The primary purpose of this crate is to provide 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 does not strive to have any form of compatibility across platforms,
|
||||
but rather it is simply a straight binding to the system libraries on the
|
||||
platform in question.
|
||||
|
||||
## Public API
|
||||
|
||||
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
|
||||
|
||||
## 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/notbsd/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 [Travis](https://travis-ci.org/rust-lang/libc):
|
||||
|
||||
1. [`libc-test`](https://github.com/alexcrichton/ctest)
|
||||
- `cd libc-test && cargo run`
|
||||
- Use the `skip_*()` functions in `build.rs` if you really need a workaround.
|
||||
2. Style checker
|
||||
- `rustc ci/style.rs && ./style src`
|
||||
|
||||
## Platforms and Documentation
|
||||
|
||||
The following platforms are currently tested and have documentation available:
|
||||
|
||||
Tested:
|
||||
* [`i686-pc-windows-msvc`](https://doc.rust-lang.org/libc/i686-pc-windows-msvc/libc/)
|
||||
* [`x86_64-pc-windows-msvc`](https://doc.rust-lang.org/libc/x86_64-pc-windows-msvc/libc/)
|
||||
(Windows)
|
||||
* [`i686-pc-windows-gnu`](https://doc.rust-lang.org/libc/i686-pc-windows-gnu/libc/)
|
||||
* [`x86_64-pc-windows-gnu`](https://doc.rust-lang.org/libc/x86_64-pc-windows-gnu/libc/)
|
||||
* [`i686-apple-darwin`](https://doc.rust-lang.org/libc/i686-apple-darwin/libc/)
|
||||
* [`x86_64-apple-darwin`](https://doc.rust-lang.org/libc/x86_64-apple-darwin/libc/)
|
||||
(OSX)
|
||||
* `i686-apple-ios`
|
||||
* `x86_64-apple-ios`
|
||||
* [`i686-unknown-linux-gnu`](https://doc.rust-lang.org/libc/i686-unknown-linux-gnu/libc/)
|
||||
* [`x86_64-unknown-linux-gnu`](https://doc.rust-lang.org/libc/x86_64-unknown-linux-gnu/libc/)
|
||||
(Linux)
|
||||
* [`x86_64-unknown-linux-musl`](https://doc.rust-lang.org/libc/x86_64-unknown-linux-musl/libc/)
|
||||
(Linux MUSL)
|
||||
* [`aarch64-unknown-linux-gnu`](https://doc.rust-lang.org/libc/aarch64-unknown-linux-gnu/libc/)
|
||||
* [`mips-unknown-linux-gnu`](https://doc.rust-lang.org/libc/mips-unknown-linux-gnu/libc/)
|
||||
* [`arm-unknown-linux-gnueabihf`](https://doc.rust-lang.org/libc/arm-unknown-linux-gnueabihf/libc/)
|
||||
* [`arm-linux-androideabi`](https://doc.rust-lang.org/libc/arm-linux-androideabi/libc/)
|
||||
(Android)
|
||||
* [`x86_64-unknown-freebsd`](https://doc.rust-lang.org/libc/x86_64-unknown-freebsd/libc/)
|
||||
* [`x86_64-unknown-openbsd`](https://doc.rust-lang.org/libc/x86_64-unknown-openbsd/libc/)
|
||||
* [`x86_64-rumprun-netbsd`](https://doc.rust-lang.org/libc/x86_64-unknown-netbsd/libc/)
|
||||
|
||||
The following may be supported, but are not guaranteed to always work:
|
||||
|
||||
* `i686-unknown-freebsd`
|
||||
* [`x86_64-unknown-bitrig`](https://doc.rust-lang.org/libc/x86_64-unknown-bitrig/libc/)
|
||||
* [`x86_64-unknown-dragonfly`](https://doc.rust-lang.org/libc/x86_64-unknown-dragonfly/libc/)
|
||||
* [`x86_64-unknown-netbsd`](https://doc.rust-lang.org/libc/x86_64-unknown-netbsd/libc/)
|
||||
21
third_party/rust/libc/appveyor.yml
vendored
Normal file
21
third_party/rust/libc/appveyor.yml
vendored
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
environment:
|
||||
matrix:
|
||||
- TARGET: x86_64-pc-windows-gnu
|
||||
MSYS2_BITS: 64
|
||||
- TARGET: i686-pc-windows-gnu
|
||||
MSYS2_BITS: 32
|
||||
- TARGET: x86_64-pc-windows-msvc
|
||||
- TARGET: i686-pc-windows-msvc
|
||||
install:
|
||||
- curl -sSf -o rustup-init.exe https://win.rustup.rs/
|
||||
- rustup-init.exe -y --default-host %TARGET%
|
||||
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
|
||||
- if defined MSYS2_BITS set PATH=%PATH%;C:\msys64\mingw%MSYS2_BITS%\bin
|
||||
- rustc -V
|
||||
- cargo -V
|
||||
|
||||
build: false
|
||||
|
||||
test_script:
|
||||
- cargo test
|
||||
- cargo run --manifest-path libc-test/Cargo.toml
|
||||
203
third_party/rust/libc/ci/README.md
vendored
Normal file
203
third_party/rust/libc/ci/README.md
vendored
Normal file
|
|
@ -0,0 +1,203 @@
|
|||
The goal of the libc crate is to have CI running everywhere to have the
|
||||
strongest guarantees about the definitions that this library contains, and as a
|
||||
result the CI is pretty complicated and also pretty large! Hopefully this can
|
||||
serve as a guide through the sea of scripts in this directory and elsewhere in
|
||||
this project.
|
||||
|
||||
# Files
|
||||
|
||||
First up, let's talk about the files in this directory:
|
||||
|
||||
* `run-travis.sh` - a shell script run by all Travis builders, this is
|
||||
responsible for setting up the rest of the environment such as installing new
|
||||
packages, downloading Rust target libraries, etc.
|
||||
|
||||
* `run.sh` - the actual script which runs tests for a particular architecture.
|
||||
Called from the `run-travis.sh` script this will run all tests for the target
|
||||
specified.
|
||||
|
||||
* `cargo-config` - Cargo configuration of linkers to use copied into place by
|
||||
the `run-travis.sh` script before builds are run.
|
||||
|
||||
* `dox.sh` - script called from `run-travis.sh` on only the linux 64-bit nightly
|
||||
Travis bots to build documentation for this crate.
|
||||
|
||||
* `landing-page-*.html` - used by `dox.sh` to generate a landing page for all
|
||||
architectures' documentation.
|
||||
|
||||
* `run-qemu.sh` - see discussion about QEMU below
|
||||
|
||||
* `mips`, `rumprun` - instructions to build the docker image for each respective
|
||||
CI target
|
||||
|
||||
# CI Systems
|
||||
|
||||
Currently this repository leverages a combination of Travis CI and AppVeyor for
|
||||
running tests. The triples tested are:
|
||||
|
||||
* AppVeyor
|
||||
* `{i686,x86_64}-pc-windows-{msvc,gnu}`
|
||||
* Travis
|
||||
* `{i686,x86_64,mips,aarch64}-unknown-linux-gnu`
|
||||
* `x86_64-unknown-linux-musl`
|
||||
* `arm-unknown-linux-gnueabihf`
|
||||
* `arm-linux-androideabi`
|
||||
* `{i686,x86_64}-apple-{darwin,ios}`
|
||||
* `x86_64-rumprun-netbsd`
|
||||
* `x86_64-unknown-freebsd`
|
||||
* `x86_64-unknown-openbsd`
|
||||
|
||||
The Windows triples are all pretty standard, they just set up their environment
|
||||
then run tests, no need for downloading any extra target libs (we just download
|
||||
the right installer). The Intel Linux/OSX builds are similar in that we just
|
||||
download the right target libs and run tests. Note that the Intel Linux/OSX
|
||||
builds are run on stable/beta/nightly, but are the only ones that do so.
|
||||
|
||||
The remaining architectures look like:
|
||||
|
||||
* Android runs in a [docker image][android-docker] with an emulator, the NDK,
|
||||
and the SDK already set up. The entire build happens within the docker image.
|
||||
* The MIPS, ARM, and AArch64 builds all use the QEMU userspace emulator to run
|
||||
the generated binary to actually verify the tests pass.
|
||||
* The MUSL build just has to download a MUSL compiler and target libraries and
|
||||
then otherwise runs tests normally.
|
||||
* iOS builds need an extra linker flag currently, but beyond that they're built
|
||||
as standard as everything else.
|
||||
* The rumprun target builds an entire kernel from the test suite and then runs
|
||||
it inside QEMU using the serial console to test whether it succeeded or
|
||||
failed.
|
||||
* The BSD builds, currently OpenBSD and FreeBSD, use QEMU to boot up a system
|
||||
and compile/run tests. More information on that below.
|
||||
|
||||
[android-docker]: https://github.com/rust-lang/rust-buildbot/blob/master/slaves/android/Dockerfile
|
||||
|
||||
## QEMU
|
||||
|
||||
Lots of the architectures tested here use QEMU in the tests, so it's worth going
|
||||
over all the crazy capabilities QEMU has and the various flavors in which we use
|
||||
it!
|
||||
|
||||
First up, QEMU has userspace emulation where it doesn't boot a full kernel, it
|
||||
just runs a binary from another architecture (using the `qemu-<arch>` wrappers).
|
||||
We provide it the runtime path for the dynamically loaded system libraries,
|
||||
however. This strategy is used for all Linux architectures that aren't intel.
|
||||
Note that one downside of this QEMU system is that threads are barely
|
||||
implemented, so we're careful to not spawn many threads.
|
||||
|
||||
For the rumprun target the only output is a kernel image, so we just use that
|
||||
plus the `rumpbake` command to create a full kernel image which is then run from
|
||||
within QEMU.
|
||||
|
||||
Finally, the fun part, the BSDs. Quite a few hoops are jumped through to get CI
|
||||
working for these platforms, but the gist of it looks like:
|
||||
|
||||
* Cross compiling from Linux to any of the BSDs seems to be quite non-standard.
|
||||
We may be able to get it working but it might be difficult at that point to
|
||||
ensure that the libc definitions align with what you'd get on the BSD itself.
|
||||
As a result, we try to do compiles within the BSD distro.
|
||||
* On Travis we can't run a VM-in-a-VM, so we resort to userspace emulation
|
||||
(QEMU).
|
||||
* Unfortunately on Travis we also can't use KVM, so the emulation is super slow.
|
||||
|
||||
With all that in mind, the way BSD is tested looks like:
|
||||
|
||||
1. Download a pre-prepared image for the OS being tested.
|
||||
2. Generate the tests for the OS being tested. This involves running the `ctest`
|
||||
library over libc to generate a Rust file and a C file which will then be
|
||||
compiled into the final test.
|
||||
3. Generate a disk image which will later be mounted by the OS being tested.
|
||||
This image is mostly just the libc directory, but some modifications are made
|
||||
to compile the generated files from step 2.
|
||||
4. The kernel is booted in QEMU, and it is configured to detect the libc-test
|
||||
image being available, run the test script, and then shut down afterwards.
|
||||
5. Look for whether the tests passed in the serial console output of the kernel.
|
||||
|
||||
There's some pretty specific instructions for setting up each image (detailed
|
||||
below), but the main gist of this is that we must avoid a vanilla `cargo run`
|
||||
inside of the `libc-test` directory (which is what it's intended for) because
|
||||
that would compile `syntex_syntax`, a large library, with userspace emulation.
|
||||
This invariably times out on Travis, so we can't do that.
|
||||
|
||||
Once all those hoops are jumped through, however, we can be happy that we're
|
||||
testing almost everything!
|
||||
|
||||
Below are some details of how to set up the initial OS images which are
|
||||
downloaded. Each image must be enabled have input/output over the serial
|
||||
console, log in automatically at the serial console, detect if a second drive in
|
||||
QEMU is available, and if so mount it, run a script (it'll specifically be
|
||||
`run-qemu.sh` in this folder which is copied into the generated image talked
|
||||
about above), and then shut down.
|
||||
|
||||
### QEMU setup - FreeBSD
|
||||
|
||||
1. Download CD installer (most minimal is fine)
|
||||
2. `qemu-img create -f qcow2 foo.qcow2 2G`
|
||||
3. `qemu -cdrom foo.iso -drive if=virtio,file=foo.qcow2 -net nic,model=virtio -net user`
|
||||
4. run installer
|
||||
5. `echo 'console="comconsole"' >> /boot/loader.conf`
|
||||
6. `echo 'autoboot_delay="0"' >> /boot/loader.conf`
|
||||
7. look at /etc/ttys, see what getty argument is for ttyu0
|
||||
8. edit /etc/gettytab, look for ttyu0 argument, prepend `:al=root` to line
|
||||
beneath
|
||||
|
||||
(note that the current image has a `freebsd` user, but this isn't really
|
||||
necessary)
|
||||
|
||||
Once that's done, arrange for this script to run at login:
|
||||
|
||||
```
|
||||
#!/bin/sh
|
||||
|
||||
sudo kldload ext2fs
|
||||
[ -e /dev/vtbd1 ] || exit 0
|
||||
sudo mount -t ext2fs /dev/vtbd1 /mnt
|
||||
sh /mnt/run.sh /mnt
|
||||
sudo poweroff
|
||||
```
|
||||
|
||||
Helpful links
|
||||
|
||||
* https://en.wikibooks.org/wiki/QEMU/Images
|
||||
* https://blog.nekoconeko.nl/blog/2015/06/04/creating-an-openstack-freebsd-image.html
|
||||
* https://www.freebsd.org/doc/handbook/serialconsole-setup.html
|
||||
|
||||
|
||||
### QEMU setup - OpenBSD
|
||||
|
||||
1. Download CD installer
|
||||
2. `qemu-img create -f qcow2 foo.qcow2 2G`
|
||||
3. `qemu -cdrom foo.iso -drive if=virtio,file=foo.qcow2 -net nic,model=virtio -net user`
|
||||
4. run installer
|
||||
5. `echo 'set tty com0' >> /etc/boot.conf`
|
||||
6. `echo 'boot' >> /etc/boot.conf`
|
||||
7. Modify /etc/ttys, change the `tty00` at the end from 'unknown off' to
|
||||
'vt220 on secure'
|
||||
8. Modify same line in /etc/ttys to have `"/root/foo.sh"` as the shell
|
||||
9. Add this script to `/root/foo.sh`
|
||||
|
||||
```
|
||||
#!/bin/sh
|
||||
exec 1>/dev/tty00
|
||||
exec 2>&1
|
||||
|
||||
if mount -t ext2fs /dev/sd1c /mnt; then
|
||||
sh /mnt/run.sh /mnt
|
||||
shutdown -ph now
|
||||
fi
|
||||
|
||||
# limited shell...
|
||||
exec /bin/sh < /dev/tty00
|
||||
```
|
||||
|
||||
10. `chmod +x /root/foo.sh`
|
||||
|
||||
Helpful links:
|
||||
|
||||
* https://en.wikibooks.org/wiki/QEMU/Images
|
||||
* http://www.openbsd.org/faq/faq7.html#SerCon
|
||||
|
||||
# Questions?
|
||||
|
||||
Hopefully that's at least somewhat of an introduction to everything going on
|
||||
here, and feel free to ping @alexcrichton with questions!
|
||||
|
||||
7
third_party/rust/libc/ci/docker/aarch64-unknown-linux-gnu/Dockerfile
vendored
Normal file
7
third_party/rust/libc/ci/docker/aarch64-unknown-linux-gnu/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
FROM ubuntu:14.04
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-aarch64-linux-gnu libc6-dev-arm64-cross qemu-user
|
||||
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
|
||||
PATH=$PATH:/rust/bin
|
||||
4
third_party/rust/libc/ci/docker/arm-linux-androideabi/Dockerfile
vendored
Normal file
4
third_party/rust/libc/ci/docker/arm-linux-androideabi/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
FROM alexcrichton/rust-slave-android:2015-11-22
|
||||
ENV CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \
|
||||
PATH=$PATH:/rust/bin
|
||||
ENTRYPOINT ["sh"]
|
||||
7
third_party/rust/libc/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile
vendored
Normal file
7
third_party/rust/libc/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
FROM ubuntu:16.04
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates \
|
||||
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user
|
||||
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
|
||||
PATH=$PATH:/rust/bin
|
||||
5
third_party/rust/libc/ci/docker/i686-unknown-linux-gnu/Dockerfile
vendored
Normal file
5
third_party/rust/libc/ci/docker/i686-unknown-linux-gnu/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
FROM ubuntu:16.04
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc-multilib libc6-dev ca-certificates
|
||||
ENV PATH=$PATH:/rust/bin
|
||||
13
third_party/rust/libc/ci/docker/i686-unknown-linux-musl/Dockerfile
vendored
Normal file
13
third_party/rust/libc/ci/docker/i686-unknown-linux-musl/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc make libc6-dev git curl ca-certificates
|
||||
RUN curl https://www.musl-libc.org/releases/musl-1.1.14.tar.gz | \
|
||||
tar xzf - && \
|
||||
cd musl-1.1.14 && \
|
||||
CFLAGS=-m32 ./configure --prefix=/musl-i686 --disable-shared --target=i686 && \
|
||||
make install -j4 && \
|
||||
cd .. && \
|
||||
rm -rf musl-1.1.14
|
||||
ENV PATH=$PATH:/musl-i686/bin:/rust/bin
|
||||
10
third_party/rust/libc/ci/docker/mips-unknown-linux-gnu/Dockerfile
vendored
Normal file
10
third_party/rust/libc/ci/docker/mips-unknown-linux-gnu/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu-user ca-certificates \
|
||||
gcc-mips-linux-gnu libc6-dev-mips-cross \
|
||||
qemu-system-mips
|
||||
|
||||
ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc \
|
||||
PATH=$PATH:/rust/bin
|
||||
14
third_party/rust/libc/ci/docker/mipsel-unknown-linux-musl/Dockerfile
vendored
Normal file
14
third_party/rust/libc/ci/docker/mipsel-unknown-linux-musl/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu-user ca-certificates qemu-system-mips curl \
|
||||
bzip2
|
||||
|
||||
RUN mkdir /toolchain
|
||||
RUN curl -L https://downloads.openwrt.org/snapshots/trunk/malta/generic/OpenWrt-Toolchain-malta-le_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2 | \
|
||||
tar xjf - -C /toolchain --strip-components=2
|
||||
|
||||
ENV PATH=$PATH:/rust/bin:/toolchain/bin \
|
||||
CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
|
||||
CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_LINKER=mipsel-openwrt-linux-gcc
|
||||
10
third_party/rust/libc/ci/docker/powerpc-unknown-linux-gnu/Dockerfile
vendored
Normal file
10
third_party/rust/libc/ci/docker/powerpc-unknown-linux-gnu/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu-user ca-certificates \
|
||||
gcc-powerpc-linux-gnu libc6-dev-powerpc-cross \
|
||||
qemu-system-ppc
|
||||
|
||||
ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc \
|
||||
PATH=$PATH:/rust/bin
|
||||
11
third_party/rust/libc/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile
vendored
Normal file
11
third_party/rust/libc/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu-user ca-certificates \
|
||||
gcc-powerpc64-linux-gnu libc6-dev-ppc64-cross \
|
||||
qemu-system-ppc
|
||||
|
||||
ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc \
|
||||
CC=powerpc64-linux-gnu-gcc \
|
||||
PATH=$PATH:/rust/bin
|
||||
6
third_party/rust/libc/ci/docker/x86_64-rumprun-netbsd/Dockerfile
vendored
Normal file
6
third_party/rust/libc/ci/docker/x86_64-rumprun-netbsd/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
FROM mato/rumprun-toolchain-hw-x86_64
|
||||
USER root
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
qemu
|
||||
ENV PATH=$PATH:/rust/bin
|
||||
13
third_party/rust/libc/ci/docker/x86_64-unknown-freebsd/Dockerfile
vendored
Normal file
13
third_party/rust/libc/ci/docker/x86_64-unknown-freebsd/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
FROM alexcrichton/rust-slave-linux-cross:2016-04-15
|
||||
USER root
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
qemu qemu-kvm kmod cpu-checker
|
||||
|
||||
ENTRYPOINT ["sh"]
|
||||
|
||||
ENV PATH=$PATH:/rust/bin \
|
||||
QEMU=freebsd.qcow2 \
|
||||
CAN_CROSS=1 \
|
||||
CARGO_TARGET_X86_64_UNKNOWN_FREEBSD_LINKER=x86_64-unknown-freebsd10-gcc
|
||||
5
third_party/rust/libc/ci/docker/x86_64-unknown-linux-gnu/Dockerfile
vendored
Normal file
5
third_party/rust/libc/ci/docker/x86_64-unknown-linux-gnu/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
FROM ubuntu:16.04
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev ca-certificates
|
||||
ENV PATH=$PATH:/rust/bin
|
||||
13
third_party/rust/libc/ci/docker/x86_64-unknown-linux-musl/Dockerfile
vendored
Normal file
13
third_party/rust/libc/ci/docker/x86_64-unknown-linux-musl/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc make libc6-dev git curl ca-certificates
|
||||
RUN curl https://www.musl-libc.org/releases/musl-1.1.14.tar.gz | \
|
||||
tar xzf - && \
|
||||
cd musl-1.1.14 && \
|
||||
./configure --prefix=/musl-x86_64 && \
|
||||
make install -j4 && \
|
||||
cd .. && \
|
||||
rm -rf musl-1.1.14
|
||||
ENV PATH=$PATH:/musl-x86_64/bin:/rust/bin
|
||||
7
third_party/rust/libc/ci/docker/x86_64-unknown-openbsd/Dockerfile
vendored
Normal file
7
third_party/rust/libc/ci/docker/x86_64-unknown-openbsd/Dockerfile
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
gcc libc6-dev qemu qemu-kvm curl ca-certificates kmod cpu-checker
|
||||
ENV PATH=$PATH:/rust/bin \
|
||||
QEMU=openbsd.qcow2
|
||||
33
third_party/rust/libc/ci/dox.sh
vendored
Normal file
33
third_party/rust/libc/ci/dox.sh
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Builds documentation for all target triples that we have a registered URL for
|
||||
# in liblibc. This scrapes the list of triples to document from `src/lib.rs`
|
||||
# which has a bunch of `html_root_url` directives we pick up.
|
||||
|
||||
set -e
|
||||
|
||||
TARGETS=`grep html_root_url src/lib.rs | sed 's/.*".*\/\(.*\)"/\1/'`
|
||||
|
||||
rm -rf target/doc
|
||||
mkdir -p target/doc
|
||||
|
||||
cp ci/landing-page-head.html target/doc/index.html
|
||||
|
||||
for target in $TARGETS; do
|
||||
echo documenting $target
|
||||
|
||||
rustdoc -o target/doc/$target --target $target src/lib.rs --cfg dox \
|
||||
--crate-name libc
|
||||
|
||||
echo "<li><a href="/libc/$target/libc/index.html">$target</a></li>" \
|
||||
>> target/doc/index.html
|
||||
done
|
||||
|
||||
cat ci/landing-page-footer.html >> target/doc/index.html
|
||||
|
||||
# If we're on travis, not a PR, and on the right branch, publish!
|
||||
if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_BRANCH" = "master" ]; then
|
||||
pip install ghp-import --user $USER
|
||||
$HOME/.local/bin/ghp-import -n target/doc
|
||||
git push -qf https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages
|
||||
fi
|
||||
3
third_party/rust/libc/ci/landing-page-footer.html
vendored
Normal file
3
third_party/rust/libc/ci/landing-page-footer.html
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
7
third_party/rust/libc/ci/landing-page-head.html
vendored
Normal file
7
third_party/rust/libc/ci/landing-page-head.html
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
25
third_party/rust/libc/ci/run-docker.sh
vendored
Normal file
25
third_party/rust/libc/ci/run-docker.sh
vendored
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Small script to run tests for a target (or all targets) inside all the
|
||||
# respective docker images.
|
||||
|
||||
set -ex
|
||||
|
||||
run() {
|
||||
echo $1
|
||||
docker build -t libc ci/docker/$1
|
||||
docker run \
|
||||
-v `rustc --print sysroot`:/rust:ro \
|
||||
-v `pwd`:/checkout:ro \
|
||||
-e CARGO_TARGET_DIR=/tmp/target \
|
||||
-w /checkout \
|
||||
--privileged \
|
||||
-it libc \
|
||||
ci/run.sh $1
|
||||
}
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
for d in `ls ci/docker/`; do
|
||||
run $d
|
||||
done
|
||||
else
|
||||
run $1
|
||||
fi
|
||||
35
third_party/rust/libc/ci/run-qemu.sh
vendored
Normal file
35
third_party/rust/libc/ci/run-qemu.sh
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Initial script which is run inside of all qemu images. The first argument to
|
||||
# this script (as arranged by the qemu image itself) is the path to where the
|
||||
# libc crate is mounted.
|
||||
#
|
||||
# For qemu images we currently need to install Rust manually as this wasn't done
|
||||
# by the initial run-travis.sh script
|
||||
#
|
||||
# FIXME: feels like run-travis.sh should be responsible for downloading the
|
||||
# compiler.
|
||||
|
||||
set -ex
|
||||
|
||||
ROOT=$1
|
||||
cp -r $ROOT/libc /tmp/libc
|
||||
cd /tmp/libc
|
||||
|
||||
TARGET=$(cat $ROOT/TARGET)
|
||||
export CARGO_TARGET_DIR=/tmp
|
||||
|
||||
case $TARGET in
|
||||
*-openbsd)
|
||||
pkg_add rust curl gcc-4.8.4p4
|
||||
curl https://static.rust-lang.org/cargo-dist/2015-04-02/cargo-nightly-x86_64-unknown-openbsd.tar.gz | \
|
||||
tar xzf - -C /tmp
|
||||
export PATH=$PATH:/tmp/cargo-nightly-x86_64-unknown-openbsd/cargo/bin
|
||||
export CC=egcc
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown target: $TARGET"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exec sh ci/run.sh $TARGET
|
||||
147
third_party/rust/libc/ci/run.sh
vendored
Normal file
147
third_party/rust/libc/ci/run.sh
vendored
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Builds and runs tests for a particular target passed as an argument to this
|
||||
# script.
|
||||
|
||||
set -ex
|
||||
|
||||
TARGET=$1
|
||||
|
||||
# If we're going to run tests inside of a qemu image, then we don't need any of
|
||||
# the scripts below. Instead, download the image, prepare a filesystem which has
|
||||
# the current state of this repository, and then run the image.
|
||||
#
|
||||
# It's assume that all images, when run with two disks, will run the `run.sh`
|
||||
# script from the second which we place inside.
|
||||
if [ "$QEMU" != "" ]; then
|
||||
tmpdir=/tmp/qemu-img-creation
|
||||
mkdir -p $tmpdir
|
||||
if [ ! -f $tmpdir/$QEMU ]; then
|
||||
curl https://people.mozilla.org/~acrichton/libc-test/qemu/$QEMU.gz | \
|
||||
gunzip -d > $tmpdir/$QEMU
|
||||
fi
|
||||
|
||||
# Create a mount a fresh new filesystem image that we'll later pass to QEMU.
|
||||
# This will have a `run.sh` script will which use the artifacts inside to run
|
||||
# on the host.
|
||||
rm -f $tmpdir/libc-test.img
|
||||
dd if=/dev/null of=$tmpdir/libc-test.img bs=1M seek=50
|
||||
mkfs.ext2 -F $tmpdir/libc-test.img
|
||||
rm -rf $tmpdir/mount
|
||||
mkdir $tmpdir/mount
|
||||
mount -t ext2 -o loop $tmpdir/libc-test.img $tmpdir/mount
|
||||
|
||||
# If we have a cross compiler, then we just do the standard rigamarole of
|
||||
# cross-compiling an executable and then the script to run just executes the
|
||||
# binary.
|
||||
#
|
||||
# If we don't have a cross-compiler, however, then we need to do some crazy
|
||||
# acrobatics to get this to work. Generate all.{c,rs} on the host which will
|
||||
# be compiled inside QEMU. Do this here because compiling syntex_syntax in
|
||||
# QEMU would time out basically everywhere.
|
||||
if [ "$CAN_CROSS" = "1" ]; then
|
||||
cargo build --manifest-path libc-test/Cargo.toml --target $TARGET
|
||||
cp $CARGO_TARGET_DIR/$TARGET/debug/libc-test $tmpdir/mount/
|
||||
echo 'exec $1/libc-test' > $tmpdir/mount/run.sh
|
||||
else
|
||||
rm -rf $tmpdir/generated
|
||||
mkdir -p $tmpdir/generated
|
||||
cargo build --manifest-path libc-test/generate-files/Cargo.toml
|
||||
(cd libc-test && TARGET=$TARGET OUT_DIR=$tmpdir/generated SKIP_COMPILE=1 \
|
||||
$CARGO_TARGET_DIR/debug/generate-files)
|
||||
|
||||
# Copy this folder into the mounted image, the `run.sh` entry point, and
|
||||
# overwrite the standard libc-test Cargo.toml with the overlay one which will
|
||||
# assume the all.{c,rs} test files have already been generated
|
||||
mkdir $tmpdir/mount/libc
|
||||
cp -r Cargo.* libc-test src ci $tmpdir/mount/libc/
|
||||
ln -s libc-test/target $tmpdir/mount/libc/target
|
||||
cp ci/run-qemu.sh $tmpdir/mount/run.sh
|
||||
echo $TARGET | tee -a $tmpdir/mount/TARGET
|
||||
cp $tmpdir/generated/* $tmpdir/mount/libc/libc-test
|
||||
cp libc-test/run-generated-Cargo.toml $tmpdir/mount/libc/libc-test/Cargo.toml
|
||||
fi
|
||||
|
||||
umount $tmpdir/mount
|
||||
|
||||
# If we can use kvm, prefer that, otherwise just fall back to user-space
|
||||
# emulation.
|
||||
if kvm-ok; then
|
||||
program=kvm
|
||||
else
|
||||
program=qemu-system-x86_64
|
||||
fi
|
||||
|
||||
# Pass -snapshot to prevent tampering with the disk images, this helps when
|
||||
# running this script in development. The two drives are then passed next,
|
||||
# first is the OS and second is the one we just made. Next the network is
|
||||
# configured to work (I'm not entirely sure how), and then finally we turn off
|
||||
# graphics and redirect the serial console output to out.log.
|
||||
$program \
|
||||
-m 1024 \
|
||||
-snapshot \
|
||||
-drive if=virtio,file=$tmpdir/$QEMU \
|
||||
-drive if=virtio,file=$tmpdir/libc-test.img \
|
||||
-net nic,model=virtio \
|
||||
-net user \
|
||||
-nographic \
|
||||
-vga none 2>&1 | tee $CARGO_TARGET_DIR/out.log
|
||||
exec grep "^PASSED .* tests" $CARGO_TARGET_DIR/out.log
|
||||
fi
|
||||
|
||||
case "$TARGET" in
|
||||
*-apple-ios)
|
||||
cargo rustc --manifest-path libc-test/Cargo.toml --target $TARGET -- \
|
||||
-C link-args=-mios-simulator-version-min=7.0
|
||||
;;
|
||||
|
||||
*)
|
||||
cargo build --manifest-path libc-test/Cargo.toml --target $TARGET
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$TARGET" in
|
||||
arm-linux-androideabi)
|
||||
emulator @arm-21 -no-window &
|
||||
adb wait-for-device
|
||||
adb push $CARGO_TARGET_DIR/$TARGET/debug/libc-test /data/libc-test
|
||||
adb shell /data/libc-test 2>&1 | tee /tmp/out
|
||||
grep "^PASSED .* tests" /tmp/out
|
||||
;;
|
||||
|
||||
arm-unknown-linux-gnueabihf)
|
||||
qemu-arm -L /usr/arm-linux-gnueabihf $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||
;;
|
||||
|
||||
mips-unknown-linux-gnu)
|
||||
qemu-mips -L /usr/mips-linux-gnu $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||
;;
|
||||
|
||||
mipsel-unknown-linux-musl)
|
||||
qemu-mipsel -L /toolchain $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||
;;
|
||||
|
||||
powerpc-unknown-linux-gnu)
|
||||
qemu-ppc -L /usr/powerpc-linux-gnu $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||
;;
|
||||
|
||||
powerpc64-unknown-linux-gnu)
|
||||
qemu-ppc64 -L /usr/powerpc64-linux-gnu $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||
;;
|
||||
|
||||
aarch64-unknown-linux-gnu)
|
||||
qemu-aarch64 -L /usr/aarch64-linux-gnu/ $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||
;;
|
||||
|
||||
*-rumprun-netbsd)
|
||||
rumprun-bake hw_virtio /tmp/libc-test.img $CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||
qemu-system-x86_64 -nographic -vga none -m 64 \
|
||||
-kernel /tmp/libc-test.img 2>&1 | tee /tmp/out &
|
||||
sleep 5
|
||||
grep "^PASSED .* tests" /tmp/out
|
||||
;;
|
||||
|
||||
*)
|
||||
$CARGO_TARGET_DIR/$TARGET/debug/libc-test
|
||||
;;
|
||||
esac
|
||||
204
third_party/rust/libc/ci/style.rs
vendored
Normal file
204
third_party/rust/libc/ci/style.rs
vendored
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
//! Simple script to verify the coding style of this library
|
||||
//!
|
||||
//! ## How to run
|
||||
//!
|
||||
//! The first argument to this script is the directory to run on, so running
|
||||
//! this script should be as simple as:
|
||||
//!
|
||||
//! ```notrust
|
||||
//! rustc ci/style.rs
|
||||
//! ./style src
|
||||
//! ```
|
||||
//!
|
||||
//! ## Guidelines
|
||||
//!
|
||||
//! The current style is:
|
||||
//!
|
||||
//! * No trailing whitespace
|
||||
//! * No tabs
|
||||
//! * 80-character lines
|
||||
//! * `extern` instead of `extern "C"`
|
||||
//! * Specific module layout:
|
||||
//! 1. use directives
|
||||
//! 2. typedefs
|
||||
//! 3. structs
|
||||
//! 4. constants
|
||||
//! 5. f! { ... } functions
|
||||
//! 6. extern functions
|
||||
//! 7. modules + pub use
|
||||
//!
|
||||
//! Things not verified:
|
||||
//!
|
||||
//! * alignment
|
||||
//! * 4-space tabs
|
||||
//! * leading colons on paths
|
||||
|
||||
use std::env;
|
||||
use std::fs;
|
||||
use std::io::prelude::*;
|
||||
use std::path::Path;
|
||||
|
||||
macro_rules! t {
|
||||
($e:expr) => (match $e {
|
||||
Ok(e) => e,
|
||||
Err(e) => panic!("{} failed with {}", stringify!($e), e),
|
||||
})
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let arg = env::args().skip(1).next().unwrap_or(".".to_string());
|
||||
|
||||
let mut errors = Errors { errs: false };
|
||||
walk(Path::new(&arg), &mut errors);
|
||||
|
||||
if errors.errs {
|
||||
panic!("found some lint errors");
|
||||
} else {
|
||||
println!("good style!");
|
||||
}
|
||||
}
|
||||
|
||||
fn walk(path: &Path, err: &mut Errors) {
|
||||
for entry in t!(path.read_dir()).map(|e| t!(e)) {
|
||||
let path = entry.path();
|
||||
if t!(entry.file_type()).is_dir() {
|
||||
walk(&path, err);
|
||||
continue
|
||||
}
|
||||
|
||||
let name = entry.file_name().into_string().unwrap();
|
||||
match &name[..] {
|
||||
n if !n.ends_with(".rs") => continue,
|
||||
|
||||
"dox.rs" |
|
||||
"lib.rs" |
|
||||
"macros.rs" => continue,
|
||||
|
||||
_ => {}
|
||||
}
|
||||
|
||||
let mut contents = String::new();
|
||||
t!(t!(fs::File::open(&path)).read_to_string(&mut contents));
|
||||
|
||||
check_style(&contents, &path, err);
|
||||
}
|
||||
}
|
||||
|
||||
struct Errors {
|
||||
errs: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, PartialEq)]
|
||||
enum State {
|
||||
Start,
|
||||
Imports,
|
||||
Typedefs,
|
||||
Structs,
|
||||
Constants,
|
||||
FunctionDefinitions,
|
||||
Functions,
|
||||
Modules,
|
||||
}
|
||||
|
||||
fn check_style(file: &str, path: &Path, err: &mut Errors) {
|
||||
let mut state = State::Start;
|
||||
let mut s_macros = 0;
|
||||
let mut f_macros = 0;
|
||||
let mut prev_blank = false;
|
||||
|
||||
for (i, line) in file.lines().enumerate() {
|
||||
if line == "" {
|
||||
if prev_blank {
|
||||
err.error(path, i, "double blank line");
|
||||
}
|
||||
prev_blank = true;
|
||||
} else {
|
||||
prev_blank = false;
|
||||
}
|
||||
if line != line.trim_right() {
|
||||
err.error(path, i, "trailing whitespace");
|
||||
}
|
||||
if line.contains("\t") {
|
||||
err.error(path, i, "tab character");
|
||||
}
|
||||
if line.len() > 80 {
|
||||
err.error(path, i, "line longer than 80 chars");
|
||||
}
|
||||
if line.contains("extern \"C\"") {
|
||||
err.error(path, i, "use `extern` instead of `extern \"C\"");
|
||||
}
|
||||
if line.contains("#[cfg(") && !line.contains(" if ") {
|
||||
if state != State::Structs {
|
||||
err.error(path, i, "use cfg_if! and submodules \
|
||||
instead of #[cfg]");
|
||||
}
|
||||
}
|
||||
|
||||
let line = line.trim_left();
|
||||
let is_pub = line.starts_with("pub ");
|
||||
let line = if is_pub {&line[4..]} else {line};
|
||||
|
||||
let line_state = if line.starts_with("use ") {
|
||||
if is_pub {
|
||||
State::Modules
|
||||
} else {
|
||||
State::Imports
|
||||
}
|
||||
} else if line.starts_with("const ") {
|
||||
State::Constants
|
||||
} else if line.starts_with("type ") {
|
||||
State::Typedefs
|
||||
} else if line.starts_with("s! {") {
|
||||
s_macros += 1;
|
||||
State::Structs
|
||||
} else if line.starts_with("f! {") {
|
||||
f_macros += 1;
|
||||
State::FunctionDefinitions
|
||||
} else if line.starts_with("extern ") {
|
||||
State::Functions
|
||||
} else if line.starts_with("mod ") {
|
||||
State::Modules
|
||||
} else {
|
||||
continue
|
||||
};
|
||||
|
||||
if state as usize > line_state as usize {
|
||||
err.error(path, i, &format!("{} found after {} when \
|
||||
it belongs before",
|
||||
line_state.desc(), state.desc()));
|
||||
}
|
||||
|
||||
if f_macros == 2 {
|
||||
f_macros += 1;
|
||||
err.error(path, i, "multiple f! macros in one module");
|
||||
}
|
||||
if s_macros == 2 {
|
||||
s_macros += 1;
|
||||
err.error(path, i, "multiple s! macros in one module");
|
||||
}
|
||||
|
||||
state = line_state;
|
||||
}
|
||||
}
|
||||
|
||||
impl State {
|
||||
fn desc(&self) -> &str {
|
||||
match *self {
|
||||
State::Start => "start",
|
||||
State::Imports => "import",
|
||||
State::Typedefs => "typedef",
|
||||
State::Structs => "struct",
|
||||
State::Constants => "constant",
|
||||
State::FunctionDefinitions => "function definition",
|
||||
State::Functions => "extern function",
|
||||
State::Modules => "module",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Errors {
|
||||
fn error(&mut self, path: &Path, line: usize, msg: &str) {
|
||||
self.errs = true;
|
||||
println!("{}:{} - {}", path.display(), line + 1, msg);
|
||||
}
|
||||
}
|
||||
134
third_party/rust/libc/src/dox.rs
vendored
Normal file
134
third_party/rust/libc/src/dox.rs
vendored
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
pub use self::imp::*;
|
||||
|
||||
#[cfg(not(dox))]
|
||||
mod imp {
|
||||
pub use core::option::Option;
|
||||
pub use core::clone::Clone;
|
||||
pub use core::marker::Copy;
|
||||
pub use core::mem;
|
||||
}
|
||||
|
||||
#[cfg(dox)]
|
||||
mod imp {
|
||||
pub enum Option<T> {
|
||||
Some(T),
|
||||
None,
|
||||
}
|
||||
impl<T: Copy> Copy for Option<T> {}
|
||||
impl<T: Clone> Clone for Option<T> {
|
||||
fn clone(&self) -> Option<T> { loop {} }
|
||||
}
|
||||
|
||||
pub trait Clone {
|
||||
fn clone(&self) -> Self;
|
||||
}
|
||||
|
||||
#[lang = "copy"]
|
||||
pub trait Copy {}
|
||||
|
||||
#[lang = "sync"]
|
||||
pub trait Sync {}
|
||||
impl<T> Sync for T {}
|
||||
|
||||
#[lang = "sized"]
|
||||
pub trait Sized {}
|
||||
|
||||
macro_rules! each_int {
|
||||
($mac:ident) => (
|
||||
$mac!(u8);
|
||||
$mac!(u16);
|
||||
$mac!(u32);
|
||||
$mac!(u64);
|
||||
$mac!(usize);
|
||||
$mac!(i8);
|
||||
$mac!(i16);
|
||||
$mac!(i32);
|
||||
$mac!(i64);
|
||||
$mac!(isize);
|
||||
)
|
||||
}
|
||||
|
||||
#[lang = "div"]
|
||||
pub trait Div<RHS> {
|
||||
type Output;
|
||||
fn div(self, rhs: RHS) -> Self::Output;
|
||||
}
|
||||
|
||||
macro_rules! impl_div {
|
||||
($($i:ident)*) => ($(
|
||||
impl Div<$i> for $i {
|
||||
type Output = $i;
|
||||
fn div(self, rhs: $i) -> $i { self / rhs }
|
||||
}
|
||||
)*)
|
||||
}
|
||||
each_int!(impl_div);
|
||||
|
||||
#[lang = "shl"]
|
||||
pub trait Shl<RHS> {
|
||||
type Output;
|
||||
fn shl(self, rhs: RHS) -> Self::Output;
|
||||
}
|
||||
|
||||
macro_rules! impl_shl {
|
||||
($($i:ident)*) => ($(
|
||||
impl Shl<$i> for $i {
|
||||
type Output = $i;
|
||||
fn shl(self, rhs: $i) -> $i { self << rhs }
|
||||
}
|
||||
)*)
|
||||
}
|
||||
each_int!(impl_shl);
|
||||
|
||||
#[lang = "mul"]
|
||||
pub trait Mul<RHS=Self> {
|
||||
type Output;
|
||||
fn mul(self, rhs: RHS) -> Self::Output;
|
||||
}
|
||||
|
||||
macro_rules! impl_mul {
|
||||
($($i:ident)*) => ($(
|
||||
impl Mul for $i {
|
||||
type Output = $i;
|
||||
fn mul(self, rhs: $i) -> $i { self * rhs }
|
||||
}
|
||||
)*)
|
||||
}
|
||||
each_int!(impl_mul);
|
||||
|
||||
#[lang = "sub"]
|
||||
pub trait Sub<RHS=Self> {
|
||||
type Output;
|
||||
fn sub(self, rhs: RHS) -> Self::Output;
|
||||
}
|
||||
|
||||
macro_rules! impl_sub {
|
||||
($($i:ident)*) => ($(
|
||||
impl Sub for $i {
|
||||
type Output = $i;
|
||||
fn sub(self, rhs: $i) -> $i { self - rhs }
|
||||
}
|
||||
)*)
|
||||
}
|
||||
each_int!(impl_sub);
|
||||
|
||||
#[lang = "bitor"]
|
||||
pub trait Bitor<RHS=Self> {
|
||||
type Output;
|
||||
fn bitor(self, rhs: RHS) -> Self::Output;
|
||||
}
|
||||
|
||||
macro_rules! impl_bitor {
|
||||
($($i:ident)*) => ($(
|
||||
impl Bitor for $i {
|
||||
type Output = $i;
|
||||
fn bitor(self, rhs: $i) -> $i { self | rhs }
|
||||
}
|
||||
)*)
|
||||
}
|
||||
each_int!(impl_bitor);
|
||||
|
||||
pub mod mem {
|
||||
pub fn size_of_val<T>(_: &T) -> usize { 4 }
|
||||
}
|
||||
}
|
||||
274
third_party/rust/libc/src/lib.rs
vendored
Normal file
274
third_party/rust/libc/src/lib.rs
vendored
Normal file
|
|
@ -0,0 +1,274 @@
|
|||
// 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 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
//! Crate docs
|
||||
|
||||
#![allow(bad_style, overflowing_literals, improper_ctypes)]
|
||||
#![crate_type = "rlib"]
|
||||
#![crate_name = "libc"]
|
||||
#![cfg_attr(dox, feature(no_core, lang_items))]
|
||||
#![cfg_attr(dox, no_core)]
|
||||
#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
|
||||
html_favicon_url = "https://doc.rust-lang.org/favicon.ico")]
|
||||
|
||||
#![cfg_attr(all(target_os = "linux", target_arch = "x86_64"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-unknown-linux-gnu"
|
||||
))]
|
||||
#![cfg_attr(all(target_os = "linux", target_arch = "x86"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/i686-unknown-linux-gnu"
|
||||
))]
|
||||
#![cfg_attr(all(target_os = "linux", target_arch = "arm"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/arm-unknown-linux-gnueabihf"
|
||||
))]
|
||||
#![cfg_attr(all(target_os = "linux", target_arch = "mips"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/mips-unknown-linux-gnu"
|
||||
))]
|
||||
#![cfg_attr(all(target_os = "linux", target_arch = "aarch64"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/aarch64-unknown-linux-gnu"
|
||||
))]
|
||||
#![cfg_attr(all(target_os = "linux", target_env = "musl"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-unknown-linux-musl"
|
||||
))]
|
||||
#![cfg_attr(all(target_os = "macos", target_arch = "x86_64"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-apple-darwin"
|
||||
))]
|
||||
#![cfg_attr(all(target_os = "macos", target_arch = "x86"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/i686-apple-darwin"
|
||||
))]
|
||||
#![cfg_attr(all(windows, target_arch = "x86_64", target_env = "gnu"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-pc-windows-gnu"
|
||||
))]
|
||||
#![cfg_attr(all(windows, target_arch = "x86", target_env = "gnu"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/i686-pc-windows-gnu"
|
||||
))]
|
||||
#![cfg_attr(all(windows, target_arch = "x86_64", target_env = "msvc"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-pc-windows-msvc"
|
||||
))]
|
||||
#![cfg_attr(all(windows, target_arch = "x86", target_env = "msvc"), doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/i686-pc-windows-msvc"
|
||||
))]
|
||||
#![cfg_attr(target_os = "android", doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/arm-linux-androideabi"
|
||||
))]
|
||||
#![cfg_attr(target_os = "freebsd", doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-unknown-freebsd"
|
||||
))]
|
||||
#![cfg_attr(target_os = "openbsd", doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-unknown-openbsd"
|
||||
))]
|
||||
#![cfg_attr(target_os = "bitrig", doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-unknown-bitrig"
|
||||
))]
|
||||
#![cfg_attr(target_os = "netbsd", doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-unknown-netbsd"
|
||||
))]
|
||||
#![cfg_attr(target_os = "dragonfly", doc(
|
||||
html_root_url = "https://doc.rust-lang.org/libc/x86_64-unknown-dragonfly"
|
||||
))]
|
||||
|
||||
// Attributes needed when building as part of the standard library
|
||||
#![cfg_attr(stdbuild, feature(no_std, core, core_slice_ext, staged_api, custom_attribute, cfg_target_vendor))]
|
||||
#![cfg_attr(stdbuild, no_std)]
|
||||
#![cfg_attr(stdbuild, staged_api)]
|
||||
#![cfg_attr(stdbuild, allow(warnings))]
|
||||
#![cfg_attr(stdbuild, unstable(feature = "libc",
|
||||
reason = "use `libc` from crates.io",
|
||||
issue = "27783"))]
|
||||
|
||||
#![cfg_attr(not(feature = "use_std"), no_std)]
|
||||
|
||||
#[cfg(all(not(stdbuild), not(dox), feature = "use_std"))]
|
||||
extern crate std as core;
|
||||
|
||||
#[macro_use] mod macros;
|
||||
mod dox;
|
||||
|
||||
// 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)]
|
||||
pub enum c_void {
|
||||
// Two dummy variants so the #[repr] attribute can be used.
|
||||
#[doc(hidden)]
|
||||
__variant1,
|
||||
#[doc(hidden)]
|
||||
__variant2,
|
||||
}
|
||||
|
||||
pub type int8_t = i8;
|
||||
pub type int16_t = i16;
|
||||
pub type int32_t = i32;
|
||||
pub type int64_t = i64;
|
||||
pub type uint8_t = u8;
|
||||
pub type uint16_t = u16;
|
||||
pub type uint32_t = u32;
|
||||
pub type uint64_t = u64;
|
||||
|
||||
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 enum FILE {}
|
||||
pub enum fpos_t {} // TODO: fill this out with a struct
|
||||
|
||||
extern {
|
||||
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;
|
||||
|
||||
#[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 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 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 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;
|
||||
}
|
||||
|
||||
// These are all inline functions on android, so they end up just being entirely
|
||||
// missing on that platform.
|
||||
#[cfg(not(target_os = "android"))]
|
||||
extern {
|
||||
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);
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(windows)] {
|
||||
mod windows;
|
||||
pub use windows::*;
|
||||
} else if #[cfg(unix)] {
|
||||
mod unix;
|
||||
pub use unix::*;
|
||||
} else {
|
||||
// Unknown target_family
|
||||
}
|
||||
}
|
||||
108
third_party/rust/libc/src/macros.rs
vendored
Normal file
108
third_party/rust/libc/src/macros.rs
vendored
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
/// 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.
|
||||
macro_rules! cfg_if {
|
||||
($(
|
||||
if #[cfg($($meta:meta),*)] { $($it:item)* }
|
||||
) else * else {
|
||||
$($it2:item)*
|
||||
}) => {
|
||||
__cfg_if_items! {
|
||||
() ;
|
||||
$( ( ($($meta),*) ($($it)*) ), )*
|
||||
( () ($($it2)*) ),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
macro_rules! __cfg_if_items {
|
||||
(($($not:meta,)*) ; ) => {};
|
||||
(($($not:meta,)*) ; ( ($($m:meta),*) ($($it:item)*) ), $($rest:tt)*) => {
|
||||
__cfg_if_apply! { cfg(all(not(any($($not),*)), $($m,)*)), $($it)* }
|
||||
__cfg_if_items! { ($($not,)* $($m,)*) ; $($rest)* }
|
||||
}
|
||||
}
|
||||
|
||||
macro_rules! __cfg_if_apply {
|
||||
($m:meta, $($it:item)*) => {
|
||||
$(#[$m] $it)*
|
||||
}
|
||||
}
|
||||
|
||||
macro_rules! s {
|
||||
($($(#[$attr:meta])* pub struct $i:ident { $($field:tt)* })*) => ($(
|
||||
__item! {
|
||||
#[repr(C)]
|
||||
$(#[$attr])*
|
||||
pub struct $i { $($field)* }
|
||||
}
|
||||
impl ::dox::Copy for $i {}
|
||||
impl ::dox::Clone for $i {
|
||||
fn clone(&self) -> $i { *self }
|
||||
}
|
||||
)*)
|
||||
}
|
||||
|
||||
macro_rules! f {
|
||||
($(pub fn $i:ident($($arg:ident: $argty:ty),*) -> $ret:ty {
|
||||
$($body:stmt);*
|
||||
})*) => ($(
|
||||
#[inline]
|
||||
#[cfg(not(dox))]
|
||||
pub unsafe extern fn $i($($arg: $argty),*) -> $ret {
|
||||
$($body);*
|
||||
}
|
||||
|
||||
#[cfg(dox)]
|
||||
#[allow(dead_code)]
|
||||
pub unsafe extern fn $i($($arg: $argty),*) -> $ret {
|
||||
loop {}
|
||||
}
|
||||
)*)
|
||||
}
|
||||
|
||||
macro_rules! __item {
|
||||
($i:item) => ($i)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
cfg_if! {
|
||||
if #[cfg(test)] {
|
||||
use std::option::Option as Option2;
|
||||
fn works1() -> Option2<u32> { Some(1) }
|
||||
} else {
|
||||
fn works1() -> Option<u32> { None }
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(foo)] {
|
||||
fn works2() -> bool { false }
|
||||
} else if #[cfg(test)] {
|
||||
fn works2() -> bool { true }
|
||||
} else {
|
||||
fn works2() -> bool { false }
|
||||
}
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(foo)] {
|
||||
fn works3() -> bool { false }
|
||||
} else {
|
||||
fn works3() -> bool { true }
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
assert!(works1().is_some());
|
||||
assert!(works2());
|
||||
assert!(works3());
|
||||
}
|
||||
}
|
||||
19
third_party/rust/libc/src/unix/bsd/apple/b32.rs
vendored
Normal file
19
third_party/rust/libc/src/unix/bsd/apple/b32.rs
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
//! 32-bit specific Apple (ios/darwin) definitions
|
||||
|
||||
pub type c_long = i32;
|
||||
pub type c_ulong = u32;
|
||||
|
||||
s! {
|
||||
pub struct pthread_attr_t {
|
||||
__sig: c_long,
|
||||
__opaque: [::c_char; 36]
|
||||
}
|
||||
}
|
||||
|
||||
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 TIOCTIMESTAMP: ::c_ulong = 0x40087459;
|
||||
pub const TIOCDCDTIMESTAMP: ::c_ulong = 0x40087458;
|
||||
19
third_party/rust/libc/src/unix/bsd/apple/b64.rs
vendored
Normal file
19
third_party/rust/libc/src/unix/bsd/apple/b64.rs
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
//! 64-bit specific Apple (ios/darwin) definitions
|
||||
|
||||
pub type c_long = i64;
|
||||
pub type c_ulong = u64;
|
||||
|
||||
s! {
|
||||
pub struct pthread_attr_t {
|
||||
__sig: c_long,
|
||||
__opaque: [::c_char; 56]
|
||||
}
|
||||
}
|
||||
|
||||
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 TIOCTIMESTAMP: ::c_ulong = 0x40107459;
|
||||
pub const TIOCDCDTIMESTAMP: ::c_ulong = 0x40107458;
|
||||
1498
third_party/rust/libc/src/unix/bsd/apple/mod.rs
vendored
Normal file
1498
third_party/rust/libc/src/unix/bsd/apple/mod.rs
vendored
Normal file
File diff suppressed because it is too large
Load diff
301
third_party/rust/libc/src/unix/bsd/freebsdlike/dragonfly/mod.rs
vendored
Normal file
301
third_party/rust/libc/src/unix/bsd/freebsdlike/dragonfly/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,301 @@
|
|||
pub type clock_t = u64;
|
||||
pub type ino_t = u64;
|
||||
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;
|
||||
|
||||
s! {
|
||||
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 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 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: ::uint16_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: ::int64_t,
|
||||
pub st_blksize: ::uint32_t,
|
||||
pub st_flags: ::uint32_t,
|
||||
pub st_gen: ::uint32_t,
|
||||
pub st_lspare: ::int32_t,
|
||||
pub st_qspare1: ::int64_t,
|
||||
pub st_qspare2: ::int64_t,
|
||||
}
|
||||
}
|
||||
|
||||
pub const RAND_MAX: ::c_int = 0x7fff_ffff;
|
||||
pub const PTHREAD_STACK_MIN: ::size_t = 1024;
|
||||
pub const SIGSTKSZ: ::size_t = 40960;
|
||||
pub const MADV_INVAL: ::c_int = 10;
|
||||
pub const O_CLOEXEC: ::c_int = 0x00020000;
|
||||
pub const F_GETLK: ::c_int = 7;
|
||||
pub const F_SETLK: ::c_int = 8;
|
||||
pub const F_SETLKW: ::c_int = 9;
|
||||
pub const ELAST: ::c_int = 99;
|
||||
pub const RLIMIT_POSIXLOCKS: ::c_int = 11;
|
||||
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: ::int16_t = -1;
|
||||
pub const EVFILT_WRITE: ::int16_t = -2;
|
||||
pub const EVFILT_AIO: ::int16_t = -3;
|
||||
pub const EVFILT_VNODE: ::int16_t = -4;
|
||||
pub const EVFILT_PROC: ::int16_t = -5;
|
||||
pub const EVFILT_SIGNAL: ::int16_t = -6;
|
||||
pub const EVFILT_TIMER: ::int16_t = -7;
|
||||
pub const EVFILT_PROCDESC: ::int16_t = -8;
|
||||
pub const EVFILT_USER: ::int16_t = -9;
|
||||
pub const EVFILT_FS: ::int16_t = -10;
|
||||
|
||||
pub const EV_ADD: ::uint16_t = 0x1;
|
||||
pub const EV_DELETE: ::uint16_t = 0x2;
|
||||
pub const EV_ENABLE: ::uint16_t = 0x4;
|
||||
pub const EV_DISABLE: ::uint16_t = 0x8;
|
||||
pub const EV_ONESHOT: ::uint16_t = 0x10;
|
||||
pub const EV_CLEAR: ::uint16_t = 0x20;
|
||||
pub const EV_RECEIPT: ::uint16_t = 0x40;
|
||||
pub const EV_DISPATCH: ::uint16_t = 0x80;
|
||||
pub const EV_NODATA: ::uint16_t = 0x1000;
|
||||
pub const EV_FLAG1: ::uint16_t = 0x2000;
|
||||
pub const EV_ERROR: ::uint16_t = 0x4000;
|
||||
pub const EV_EOF: ::uint16_t = 0x8000;
|
||||
pub const EV_SYSFLAGS: ::uint16_t = 0xf000;
|
||||
|
||||
pub const NOTE_TRIGGER: ::uint32_t = 0x01000000;
|
||||
pub const NOTE_FFNOP: ::uint32_t = 0x00000000;
|
||||
pub const NOTE_FFAND: ::uint32_t = 0x40000000;
|
||||
pub const NOTE_FFOR: ::uint32_t = 0x80000000;
|
||||
pub const NOTE_FFCOPY: ::uint32_t = 0xc0000000;
|
||||
pub const NOTE_FFCTRLMASK: ::uint32_t = 0xc0000000;
|
||||
pub const NOTE_FFLAGSMASK: ::uint32_t = 0x00ffffff;
|
||||
pub const NOTE_LOWAT: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_OOB: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_DELETE: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_WRITE: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_EXTEND: ::uint32_t = 0x00000004;
|
||||
pub const NOTE_ATTRIB: ::uint32_t = 0x00000008;
|
||||
pub const NOTE_LINK: ::uint32_t = 0x00000010;
|
||||
pub const NOTE_RENAME: ::uint32_t = 0x00000020;
|
||||
pub const NOTE_REVOKE: ::uint32_t = 0x00000040;
|
||||
pub const NOTE_EXIT: ::uint32_t = 0x80000000;
|
||||
pub const NOTE_FORK: ::uint32_t = 0x40000000;
|
||||
pub const NOTE_EXEC: ::uint32_t = 0x20000000;
|
||||
pub const NOTE_PDATAMASK: ::uint32_t = 0x000fffff;
|
||||
pub const NOTE_PCTRLMASK: ::uint32_t = 0xf0000000;
|
||||
pub const NOTE_TRACK: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_TRACKERR: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_CHILD: ::uint32_t = 0x00000004;
|
||||
|
||||
extern {
|
||||
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;
|
||||
}
|
||||
304
third_party/rust/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs
vendored
Normal file
304
third_party/rust/libc/src/unix/bsd/freebsdlike/freebsd/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,304 @@
|
|||
pub type fflags_t = u32;
|
||||
pub type clock_t = i32;
|
||||
pub type ino_t = u32;
|
||||
pub type nlink_t = u16;
|
||||
pub type blksize_t = u32;
|
||||
pub type clockid_t = ::c_int;
|
||||
|
||||
pub type fsblkcnt_t = ::uint64_t;
|
||||
pub type fsfilcnt_t = ::uint64_t;
|
||||
|
||||
s! {
|
||||
pub struct dirent {
|
||||
pub d_fileno: u32,
|
||||
pub d_reclen: u16,
|
||||
pub d_type: u8,
|
||||
pub d_namlen: u8,
|
||||
pub d_name: [::c_char; 256],
|
||||
}
|
||||
|
||||
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,
|
||||
}
|
||||
}
|
||||
|
||||
pub const RAND_MAX: ::c_int = 0x7fff_fffd;
|
||||
pub const PTHREAD_STACK_MIN: ::size_t = 2048;
|
||||
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 O_CLOEXEC: ::c_int = 0x00100000;
|
||||
pub const F_GETLK: ::c_int = 11;
|
||||
pub const F_SETLK: ::c_int = 12;
|
||||
pub const F_SETLKW: ::c_int = 13;
|
||||
pub const ELAST: ::c_int = 96;
|
||||
pub const RLIMIT_NPTS: ::c_int = 11;
|
||||
pub const RLIMIT_SWAP: ::c_int = 12;
|
||||
pub const RLIM_NLIMITS: ::rlim_t = 13;
|
||||
|
||||
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 EVFILT_READ: ::int16_t = -1;
|
||||
pub const EVFILT_WRITE: ::int16_t = -2;
|
||||
pub const EVFILT_AIO: ::int16_t = -3;
|
||||
pub const EVFILT_VNODE: ::int16_t = -4;
|
||||
pub const EVFILT_PROC: ::int16_t = -5;
|
||||
pub const EVFILT_SIGNAL: ::int16_t = -6;
|
||||
pub const EVFILT_TIMER: ::int16_t = -7;
|
||||
pub const EVFILT_FS: ::int16_t = -9;
|
||||
pub const EVFILT_LIO: ::int16_t = -10;
|
||||
pub const EVFILT_USER: ::int16_t = -11;
|
||||
|
||||
pub const EV_ADD: ::uint16_t = 0x1;
|
||||
pub const EV_DELETE: ::uint16_t = 0x2;
|
||||
pub const EV_ENABLE: ::uint16_t = 0x4;
|
||||
pub const EV_DISABLE: ::uint16_t = 0x8;
|
||||
pub const EV_ONESHOT: ::uint16_t = 0x10;
|
||||
pub const EV_CLEAR: ::uint16_t = 0x20;
|
||||
pub const EV_RECEIPT: ::uint16_t = 0x40;
|
||||
pub const EV_DISPATCH: ::uint16_t = 0x80;
|
||||
pub const EV_DROP: ::uint16_t = 0x1000;
|
||||
pub const EV_FLAG1: ::uint16_t = 0x2000;
|
||||
pub const EV_ERROR: ::uint16_t = 0x4000;
|
||||
pub const EV_EOF: ::uint16_t = 0x8000;
|
||||
pub const EV_SYSFLAGS: ::uint16_t = 0xf000;
|
||||
|
||||
pub const NOTE_TRIGGER: ::uint32_t = 0x01000000;
|
||||
pub const NOTE_FFNOP: ::uint32_t = 0x00000000;
|
||||
pub const NOTE_FFAND: ::uint32_t = 0x40000000;
|
||||
pub const NOTE_FFOR: ::uint32_t = 0x80000000;
|
||||
pub const NOTE_FFCOPY: ::uint32_t = 0xc0000000;
|
||||
pub const NOTE_FFCTRLMASK: ::uint32_t = 0xc0000000;
|
||||
pub const NOTE_FFLAGSMASK: ::uint32_t = 0x00ffffff;
|
||||
pub const NOTE_LOWAT: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_DELETE: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_WRITE: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_EXTEND: ::uint32_t = 0x00000004;
|
||||
pub const NOTE_ATTRIB: ::uint32_t = 0x00000008;
|
||||
pub const NOTE_LINK: ::uint32_t = 0x00000010;
|
||||
pub const NOTE_RENAME: ::uint32_t = 0x00000020;
|
||||
pub const NOTE_REVOKE: ::uint32_t = 0x00000040;
|
||||
pub const NOTE_EXIT: ::uint32_t = 0x80000000;
|
||||
pub const NOTE_FORK: ::uint32_t = 0x40000000;
|
||||
pub const NOTE_EXEC: ::uint32_t = 0x20000000;
|
||||
pub const NOTE_PDATAMASK: ::uint32_t = 0x000fffff;
|
||||
pub const NOTE_PCTRLMASK: ::uint32_t = 0xf0000000;
|
||||
pub const NOTE_TRACK: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_TRACKERR: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_CHILD: ::uint32_t = 0x00000004;
|
||||
pub const NOTE_SECONDS: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_MSECONDS: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_USECONDS: ::uint32_t = 0x00000004;
|
||||
pub const NOTE_NSECONDS: ::uint32_t = 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 CTL_MAXID: ::c_int = 10;
|
||||
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_MAXID: ::c_int = 38;
|
||||
pub const KERN_PROC_ALL: ::c_int = 0;
|
||||
pub const KERN_PROC_PID: ::c_int = 1;
|
||||
pub const KERN_PROC_PGRP: ::c_int = 2;
|
||||
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 HW_MAXID: ::c_int = 13;
|
||||
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_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 CTL_P1003_1B_MAXID: ::c_int = 26;
|
||||
|
||||
extern {
|
||||
pub fn __error() -> *mut ::c_int;
|
||||
|
||||
pub fn mprotect(addr: *const ::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 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;
|
||||
}
|
||||
|
||||
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 {
|
||||
// Unknown target_arch
|
||||
}
|
||||
}
|
||||
31
third_party/rust/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs
vendored
Normal file
31
third_party/rust/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
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: ::uint32_t,
|
||||
pub st_lspare: ::int32_t,
|
||||
pub st_birthtime: ::time_t,
|
||||
pub st_birthtime_nsec: ::c_long,
|
||||
__unused: [u8; 8],
|
||||
}
|
||||
}
|
||||
30
third_party/rust/libc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs
vendored
Normal file
30
third_party/rust/libc/src/unix/bsd/freebsdlike/freebsd/x86_64.rs
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
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: ::uint32_t,
|
||||
pub st_lspare: ::int32_t,
|
||||
pub st_birthtime: ::time_t,
|
||||
pub st_birthtime_nsec: ::c_long,
|
||||
}
|
||||
}
|
||||
877
third_party/rust/libc/src/unix/bsd/freebsdlike/mod.rs
vendored
Normal file
877
third_party/rust/libc/src/unix/bsd/freebsdlike/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,877 @@
|
|||
pub type dev_t = u32;
|
||||
pub 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_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 sem_t = _sem;
|
||||
|
||||
pub enum timezone {}
|
||||
|
||||
s! {
|
||||
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 glob_t {
|
||||
pub gl_pathc: ::size_t,
|
||||
__unused1: ::size_t,
|
||||
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 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 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 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,
|
||||
_pad: [::c_int; 12],
|
||||
}
|
||||
|
||||
pub struct sigaction {
|
||||
pub sa_sigaction: ::sighandler_t,
|
||||
pub sa_flags: ::c_int,
|
||||
pub sa_mask: sigset_t,
|
||||
}
|
||||
|
||||
pub struct stack_t {
|
||||
pub ss_sp: *mut ::c_char,
|
||||
pub ss_size: ::size_t,
|
||||
pub ss_flags: ::c_int,
|
||||
}
|
||||
|
||||
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,
|
||||
}
|
||||
|
||||
// internal structure has changed over time
|
||||
pub struct _sem {
|
||||
data: [u32; 4],
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
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 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 _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_RDONLY: ::c_int = 0;
|
||||
pub const O_WRONLY: ::c_int = 1;
|
||||
pub const O_RDWR: ::c_int = 2;
|
||||
pub const O_ACCMODE: ::c_int = 3;
|
||||
pub const O_APPEND: ::c_int = 8;
|
||||
pub const O_CREAT: ::c_int = 512;
|
||||
pub const O_EXCL: ::c_int = 2048;
|
||||
pub const O_NOCTTY: ::c_int = 32768;
|
||||
pub const O_TRUNC: ::c_int = 1024;
|
||||
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_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 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 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 _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_NPROCESSORS_ONLN: ::c_int = 58;
|
||||
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 = 117;
|
||||
|
||||
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_INET: ::c_int = 2;
|
||||
pub const AF_INET6: ::c_int = 28;
|
||||
pub const AF_UNIX: ::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 IPPROTO_TCP: ::c_int = 6;
|
||||
pub const IPPROTO_IP: ::c_int = 0;
|
||||
pub const IPPROTO_IPV6: ::c_int = 41;
|
||||
pub const IP_MULTICAST_TTL: ::c_int = 10;
|
||||
pub const IP_MULTICAST_LOOP: ::c_int = 11;
|
||||
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_JOIN_GROUP: ::c_int = 12;
|
||||
pub const IPV6_LEAVE_GROUP: ::c_int = 13;
|
||||
|
||||
pub const TCP_NODELAY: ::c_int = 1;
|
||||
pub const TCP_KEEPIDLE: ::c_int = 256;
|
||||
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_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 IFF_LOOPBACK: ::c_int = 0x8;
|
||||
|
||||
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 O_SYNC: ::c_int = 128;
|
||||
pub const O_NONBLOCK: ::c_int = 4;
|
||||
|
||||
pub const MAP_COPY: ::c_int = 0x0002;
|
||||
pub const MAP_RENAME: ::c_int = 0x0020;
|
||||
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 _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_HOST_NAME_MAX: ::c_int = 72;
|
||||
|
||||
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_ADAPTIVE_NP: ::c_int = 4;
|
||||
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 TIOCGWINSZ: ::c_ulong = 0x40087468;
|
||||
pub const TIOCSWINSZ: ::c_ulong = 0x80087467;
|
||||
|
||||
pub const SEM_FAILED: *mut sem_t = 0 as *mut sem_t;
|
||||
|
||||
f! {
|
||||
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 {
|
||||
pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int;
|
||||
pub fn endutxent();
|
||||
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 getutxuser(user: *const ::c_char) -> *mut utmpx;
|
||||
pub fn setutxdb(_type: ::c_int, file: *const ::c_char) -> ::c_int;
|
||||
}
|
||||
|
||||
#[link(name = "util")]
|
||||
extern {
|
||||
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 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;
|
||||
pub fn shm_open(name: *const ::c_char, oflag: ::c_int, mode: ::mode_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 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 memrchr(cx: *const ::c_void,
|
||||
c: ::c_int,
|
||||
n: ::size_t) -> *mut ::c_void;
|
||||
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 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 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 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) -> ::c_int;
|
||||
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 pthread_set_name_np(tid: ::pthread_t, name: *const ::c_char);
|
||||
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 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 openat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
flags: ::c_int, ...) -> ::c_int;
|
||||
pub fn faccessat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
mode: ::c_int, 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 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 mknodat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
mode: ::mode_t, dev: dev_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 mkfifoat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
mode: ::mode_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 sethostname(name: *const ::c_char, len: ::c_int) -> ::c_int;
|
||||
pub fn sem_timedwait(sem: *mut sem_t,
|
||||
abstime: *const ::timespec) -> ::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 {
|
||||
// ...
|
||||
}
|
||||
}
|
||||
366
third_party/rust/libc/src/unix/bsd/mod.rs
vendored
Normal file
366
third_party/rust/libc/src/unix/bsd/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,366 @@
|
|||
use dox::mem;
|
||||
|
||||
pub type c_char = i8;
|
||||
pub 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 sockaddr_un {
|
||||
pub sun_len: u8,
|
||||
pub sun_family: sa_family_t,
|
||||
pub sun_path: [c_char; 104]
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
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 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],
|
||||
}
|
||||
|
||||
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 fsid_t {
|
||||
__fsid_val: [::int32_t; 2],
|
||||
}
|
||||
|
||||
pub struct if_nameindex {
|
||||
pub if_index: ::c_uint,
|
||||
pub if_name: *mut ::c_char,
|
||||
}
|
||||
}
|
||||
|
||||
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 FIONBIO: ::c_ulong = 0x8004667e;
|
||||
|
||||
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 IPV6_MULTICAST_LOOP: ::c_int = 11;
|
||||
pub const IPV6_V6ONLY: ::c_int = 27;
|
||||
|
||||
pub const ST_RDONLY: ::c_ulong = 1;
|
||||
|
||||
pub const NCCS: usize = 20;
|
||||
|
||||
pub const O_ASYNC: ::c_int = 0x40;
|
||||
pub const O_FSYNC: ::c_int = 0x80;
|
||||
pub const O_NDELAY: ::c_int = 0x4;
|
||||
pub const O_NOFOLLOW: ::c_int = 0x100;
|
||||
|
||||
pub const F_GETOWN: ::c_int = 5;
|
||||
pub const F_SETOWN: ::c_int = 6;
|
||||
|
||||
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 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 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 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 IEXTEN: ::tcflag_t = 0x00000400;
|
||||
pub const EXTPROC: ::tcflag_t = 0x00000800;
|
||||
pub const TOSTOP: ::tcflag_t = 0x00400000;
|
||||
pub const FLUSHO: ::tcflag_t = 0x00800000;
|
||||
pub const PENDIN: ::tcflag_t = 0x20000000;
|
||||
pub const NOFLSH: ::tcflag_t = 0x80000000;
|
||||
|
||||
pub const WNOHANG: ::c_int = 0x00000001;
|
||||
pub const WUNTRACED: ::c_int = 0x00000002;
|
||||
|
||||
pub const RTLD_NOW: ::c_int = 0x2;
|
||||
pub const RTLD_DEFAULT: *mut ::c_void = -2isize 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 PIPE_BUF: usize = 512;
|
||||
|
||||
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 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
|
||||
}
|
||||
}
|
||||
|
||||
extern {
|
||||
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 = "__getpwnam_r50")]
|
||||
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")]
|
||||
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(target_os = "netbsd", link_name = "__getpwent50")]
|
||||
pub fn getpwent() -> *mut passwd;
|
||||
pub fn setpwent();
|
||||
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);
|
||||
}
|
||||
|
||||
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",
|
||||
target_os = "bitrig"))] {
|
||||
mod openbsdlike;
|
||||
pub use self::openbsdlike::*;
|
||||
} else if #[cfg(any(target_os = "freebsd", target_os = "dragonfly"))] {
|
||||
mod freebsdlike;
|
||||
pub use self::freebsdlike::*;
|
||||
} else {
|
||||
// Unknown target_os
|
||||
}
|
||||
}
|
||||
490
third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs
vendored
Normal file
490
third_party/rust/libc/src/unix/bsd/openbsdlike/bitrig.rs
vendored
Normal file
|
|
@ -0,0 +1,490 @@
|
|||
pub type clock_t = i64;
|
||||
pub type suseconds_t = i64;
|
||||
pub type dev_t = i32;
|
||||
pub type sigset_t = ::c_uint;
|
||||
pub type blksize_t = ::uint32_t;
|
||||
pub type fsblkcnt_t = ::c_uint;
|
||||
pub type fsfilcnt_t = ::c_uint;
|
||||
pub type pthread_attr_t = *mut ::c_void;
|
||||
pub type pthread_mutex_t = *mut ::c_void;
|
||||
pub type pthread_mutexattr_t = *mut ::c_void;
|
||||
pub type pthread_cond_t = *mut ::c_void;
|
||||
pub type pthread_condattr_t = *mut ::c_void;
|
||||
pub type pthread_rwlock_t = *mut ::c_void;
|
||||
|
||||
s! {
|
||||
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 glob_t {
|
||||
pub gl_pathc: ::c_int,
|
||||
pub gl_matchc: ::c_int,
|
||||
pub gl_offs: ::c_int,
|
||||
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 kevent {
|
||||
pub ident: ::uintptr_t,
|
||||
pub filter: ::c_short,
|
||||
pub flags: ::c_ushort,
|
||||
pub fflags: ::c_uint,
|
||||
pub data: ::int64_t,
|
||||
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: ::uint32_t,
|
||||
pub st_gen: ::uint32_t,
|
||||
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 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_void
|
||||
}
|
||||
|
||||
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_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 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 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 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 O_CLOEXEC: ::c_int = 0x10000;
|
||||
|
||||
pub const MS_SYNC : ::c_int = 0x0002;
|
||||
pub const MS_INVALIDATE : ::c_int = 0x0004;
|
||||
|
||||
pub const PTHREAD_STACK_MIN : ::size_t = 2048;
|
||||
|
||||
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 ELAST : ::c_int = 91;
|
||||
|
||||
pub const F_DUPFD_CLOEXEC : ::c_int = 10;
|
||||
|
||||
pub const RLIM_NLIMITS: ::c_int = 9;
|
||||
|
||||
pub const SO_SNDTIMEO: ::c_int = 0x1005;
|
||||
pub const SO_RCVTIMEO: ::c_int = 0x1006;
|
||||
|
||||
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 RUSAGE_THREAD: ::c_int = 1;
|
||||
|
||||
pub const IPV6_ADD_MEMBERSHIP: ::c_int = 12;
|
||||
pub const IPV6_DROP_MEMBERSHIP: ::c_int = 13;
|
||||
|
||||
pub const MAP_COPY : ::c_int = 0x0002;
|
||||
pub const MAP_NOEXTEND : ::c_int = 0x0000;
|
||||
|
||||
pub const _SC_IOV_MAX : ::c_int = 51;
|
||||
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_MQ_PRIO_MAX : ::c_int = 59;
|
||||
pub const _SC_NPROCESSORS_ONLN : ::c_int = 503;
|
||||
pub const _SC_THREADS : ::c_int = 91;
|
||||
pub const _SC_THREAD_ATTR_STACKADDR : ::c_int = 77;
|
||||
pub const _SC_THREAD_ATTR_STACKSIZE : ::c_int = 78;
|
||||
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_SAFE_FUNCTIONS : ::c_int = 103;
|
||||
pub const _SC_THREAD_STACK_MIN : ::c_int = 89;
|
||||
pub const _SC_THREAD_THREADS_MAX : ::c_int = 90;
|
||||
pub const _SC_TTY_NAME_MAX : ::c_int = 107;
|
||||
pub const _SC_ATEXIT_MAX : ::c_int = 46;
|
||||
pub const _SC_CLK_TCK : ::c_int = 3;
|
||||
pub const _SC_AIO_LISTIO_MAX : ::c_int = 42;
|
||||
pub const _SC_AIO_MAX : ::c_int = 43;
|
||||
pub const _SC_ASYNCHRONOUS_IO : ::c_int = 45;
|
||||
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_PRIORITY_SCHEDULING : ::c_int = 61;
|
||||
pub const _SC_SEMAPHORES : ::c_int = 67;
|
||||
pub const _SC_SHARED_MEMORY_OBJECTS : ::c_int = 68;
|
||||
pub const _SC_SYNCHRONIZED_IO : ::c_int = 75;
|
||||
pub const _SC_TIMERS : ::c_int = 94;
|
||||
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_UNIX : ::c_int = 123;
|
||||
pub const _SC_XOPEN_VERSION : ::c_int = 125;
|
||||
pub const _SC_SEM_NSEMS_MAX : ::c_int = 31;
|
||||
pub const _SC_SEM_VALUE_MAX : ::c_int = 32;
|
||||
pub const _SC_AIO_PRIO_DELTA_MAX : ::c_int = 44;
|
||||
pub const _SC_DELAYTIMER_MAX : ::c_int = 50;
|
||||
pub const _SC_PRIORITIZED_IO : ::c_int = 60;
|
||||
pub const _SC_REALTIME_SIGNALS : ::c_int = 64;
|
||||
pub const _SC_RTSIG_MAX : ::c_int = 66;
|
||||
pub const _SC_SIGQUEUE_MAX : ::c_int = 70;
|
||||
pub const _SC_TIMER_MAX : ::c_int = 93;
|
||||
pub const _SC_HOST_NAME_MAX: ::c_int = 33;
|
||||
|
||||
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: ::int16_t = -3;
|
||||
pub const EVFILT_PROC: ::int16_t = -5;
|
||||
pub const EVFILT_READ: ::int16_t = -1;
|
||||
pub const EVFILT_SIGNAL: ::int16_t = -6;
|
||||
pub const EVFILT_TIMER: ::int16_t = -7;
|
||||
pub const EVFILT_VNODE: ::int16_t = -4;
|
||||
pub const EVFILT_WRITE: ::int16_t = -2;
|
||||
|
||||
pub const EV_ADD: ::uint16_t = 0x1;
|
||||
pub const EV_DELETE: ::uint16_t = 0x2;
|
||||
pub const EV_ENABLE: ::uint16_t = 0x4;
|
||||
pub const EV_DISABLE: ::uint16_t = 0x8;
|
||||
pub const EV_ONESHOT: ::uint16_t = 0x10;
|
||||
pub const EV_CLEAR: ::uint16_t = 0x20;
|
||||
pub const EV_FLAG1: ::uint16_t = 0x2000;
|
||||
pub const EV_ERROR: ::uint16_t = 0x4000;
|
||||
pub const EV_EOF: ::uint16_t = 0x8000;
|
||||
pub const EV_SYSFLAGS: ::uint16_t = 0xf000;
|
||||
|
||||
pub const NOTE_LOWAT: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_EOF: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_DELETE: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_WRITE: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_EXTEND: ::uint32_t = 0x00000004;
|
||||
pub const NOTE_ATTRIB: ::uint32_t = 0x00000008;
|
||||
pub const NOTE_LINK: ::uint32_t = 0x00000010;
|
||||
pub const NOTE_RENAME: ::uint32_t = 0x00000020;
|
||||
pub const NOTE_REVOKE: ::uint32_t = 0x00000040;
|
||||
pub const NOTE_TRUNCATE: ::uint32_t = 0x00000080;
|
||||
pub const NOTE_EXIT: ::uint32_t = 0x80000000;
|
||||
pub const NOTE_FORK: ::uint32_t = 0x40000000;
|
||||
pub const NOTE_EXEC: ::uint32_t = 0x20000000;
|
||||
pub const NOTE_PDATAMASK: ::uint32_t = 0x000fffff;
|
||||
pub const NOTE_PCTRLMASK: ::uint32_t = 0xf0000000;
|
||||
pub const NOTE_TRACK: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_TRACKERR: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_CHILD: ::uint32_t = 0x00000004;
|
||||
|
||||
pub const TMP_MAX : ::c_uint = 0x7fffffff;
|
||||
|
||||
pub const NI_MAXHOST: ::size_t = 256;
|
||||
|
||||
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 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_RND: ::c_int = 31;
|
||||
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_MAXID: ::c_int = 84;
|
||||
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;
|
||||
|
||||
extern {
|
||||
pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::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: *const ::c_void, len: ::size_t, prot: ::c_int)
|
||||
-> ::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: *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;
|
||||
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) -> ::c_int;
|
||||
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;
|
||||
}
|
||||
547
third_party/rust/libc/src/unix/bsd/openbsdlike/mod.rs
vendored
Normal file
547
third_party/rust/libc/src/unix/bsd/openbsdlike/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,547 @@
|
|||
pub type c_long = i64;
|
||||
pub type c_ulong = u64;
|
||||
pub type time_t = i64;
|
||||
pub type mode_t = u32;
|
||||
pub type nlink_t = ::uint32_t;
|
||||
pub type ino_t = ::uint64_t;
|
||||
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 = ::uint32_t;
|
||||
pub type sem_t = *mut sem;
|
||||
|
||||
pub enum timezone {}
|
||||
pub enum sem {}
|
||||
|
||||
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 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: [::int8_t; 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: ::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 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_RDONLY : ::c_int = 0;
|
||||
pub const O_WRONLY : ::c_int = 1;
|
||||
pub const O_RDWR : ::c_int = 2;
|
||||
pub const O_ACCMODE : ::c_int = 3;
|
||||
pub const O_APPEND : ::c_int = 8;
|
||||
pub const O_CREAT : ::c_int = 512;
|
||||
pub const O_EXCL : ::c_int = 2048;
|
||||
pub const O_NOCTTY : ::c_int = 32768;
|
||||
pub const O_TRUNC : ::c_int = 1024;
|
||||
pub const O_SYNC : ::c_int = 128;
|
||||
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 SIGSTKSZ : ::size_t = 40960;
|
||||
|
||||
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_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 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 _SC_XOPEN_SHM : ::c_int = 30;
|
||||
|
||||
pub const PTHREAD_CREATE_JOINABLE : ::c_int = 0;
|
||||
pub const PTHREAD_CREATE_DETACHED : ::c_int = 1;
|
||||
|
||||
// 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_UNIX: ::c_int = 1;
|
||||
pub const AF_INET: ::c_int = 2;
|
||||
pub const AF_INET6: ::c_int = 24;
|
||||
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 IPPROTO_TCP: ::c_int = 6;
|
||||
pub const IPPROTO_IP: ::c_int = 0;
|
||||
pub const IPPROTO_IPV6: ::c_int = 41;
|
||||
pub const IP_MULTICAST_TTL: ::c_int = 10;
|
||||
pub const IP_MULTICAST_LOOP: ::c_int = 11;
|
||||
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 TCP_NODELAY: ::c_int = 0x01;
|
||||
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 IFF_LOOPBACK: ::c_int = 0x8;
|
||||
|
||||
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 O_NONBLOCK : ::c_int = 4;
|
||||
|
||||
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 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 SEM_FAILED: *mut sem_t = 0 as *mut sem_t;
|
||||
|
||||
f! {
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
#[link(name = "util")]
|
||||
extern {
|
||||
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;
|
||||
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 futimens(fd: ::c_int, times: *const ::timespec) -> ::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 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 openat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
flags: ::c_int, ...) -> ::c_int;
|
||||
pub fn faccessat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
mode: ::c_int, 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 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 mknodat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
mode: ::mode_t, dev: dev_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 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 pthread_condattr_setclock(attr: *mut pthread_condattr_t,
|
||||
clock_id: clockid_t) -> ::c_int;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(target_os = "bitrig")] {
|
||||
mod bitrig;
|
||||
pub use self::bitrig::*;
|
||||
} else 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
|
||||
}
|
||||
}
|
||||
614
third_party/rust/libc/src/unix/bsd/openbsdlike/netbsd.rs
vendored
Normal file
614
third_party/rust/libc/src/unix/bsd/openbsdlike/netbsd.rs
vendored
Normal file
|
|
@ -0,0 +1,614 @@
|
|||
pub type clock_t = ::c_uint;
|
||||
pub type suseconds_t = ::c_int;
|
||||
pub type dev_t = u64;
|
||||
pub type blksize_t = ::int32_t;
|
||||
pub type fsblkcnt_t = ::uint64_t;
|
||||
pub type fsfilcnt_t = ::uint64_t;
|
||||
|
||||
s! {
|
||||
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 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 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: ::uint32_t,
|
||||
pub st_gen: ::uint32_t,
|
||||
pub st_spare: [::uint32_t; 2],
|
||||
}
|
||||
|
||||
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: ::uint64_t,
|
||||
pub f_syncwrites: ::uint64_t,
|
||||
|
||||
pub f_asyncreads: ::uint64_t,
|
||||
pub f_asyncwrites: ::uint64_t,
|
||||
|
||||
pub f_fsidx: ::fsid_t,
|
||||
pub f_fsid: ::c_ulong,
|
||||
pub f_namemax: ::c_ulong,
|
||||
pub f_owner: ::uid_t,
|
||||
|
||||
pub f_spare: [::uint32_t; 4],
|
||||
|
||||
pub f_fstypename: [::c_char; 32],
|
||||
pub f_mntonname: [::c_char; 1024],
|
||||
pub f_mntfromname: [::c_char; 1024],
|
||||
}
|
||||
|
||||
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 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 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: ::c_uchar,
|
||||
ptm_pad1: [u8; 3],
|
||||
ptm_interlock: ::c_uchar,
|
||||
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_cond_t {
|
||||
ptc_magic: ::c_uint,
|
||||
ptc_lock: ::c_uchar,
|
||||
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: ::c_uchar,
|
||||
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: ::uint32_t,
|
||||
pub flags: ::uint32_t,
|
||||
pub fflags: ::uint32_t,
|
||||
pub data: ::int64_t,
|
||||
pub udata: ::intptr_t,
|
||||
}
|
||||
|
||||
pub struct dqblk {
|
||||
pub dqb_bhardlimit: ::uint32_t,
|
||||
pub dqb_bsoftlimit: ::uint32_t,
|
||||
pub dqb_curblocks: ::uint32_t,
|
||||
pub dqb_ihardlimit: ::uint32_t,
|
||||
pub dqb_isoftlimit: ::uint32_t,
|
||||
pub dqb_curinodes: ::uint32_t,
|
||||
pub dqb_btime: ::int32_t,
|
||||
pub dqb_itime: ::int32_t,
|
||||
}
|
||||
|
||||
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 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_EXLOCK: ::c_int = 0x20;
|
||||
pub const O_SHLOCK: ::c_int = 0x10;
|
||||
pub const O_DIRECTORY: ::c_int = 0x200000;
|
||||
|
||||
pub const MS_SYNC : ::c_int = 0x4;
|
||||
pub const MS_INVALIDATE : ::c_int = 0x2;
|
||||
|
||||
pub const RLIM_NLIMITS: ::c_int = 12;
|
||||
|
||||
pub const ENOATTR : ::c_int = 93;
|
||||
pub const EILSEQ : ::c_int = 85;
|
||||
pub const EOVERFLOW : ::c_int = 84;
|
||||
pub const ECANCELED : ::c_int = 87;
|
||||
pub const EIDRM : ::c_int = 82;
|
||||
pub const ENOMSG : ::c_int = 83;
|
||||
pub const ENOTSUP : ::c_int = 86;
|
||||
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 IPV6_JOIN_GROUP: ::c_int = 12;
|
||||
pub const IPV6_LEAVE_GROUP: ::c_int = 13;
|
||||
|
||||
pub const SO_SNDTIMEO: ::c_int = 0x100b;
|
||||
pub const SO_RCVTIMEO: ::c_int = 0x100c;
|
||||
|
||||
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 _SC_IOV_MAX : ::c_int = 32;
|
||||
pub const _SC_GETGR_R_SIZE_MAX : ::c_int = 47;
|
||||
pub const _SC_GETPW_R_SIZE_MAX : ::c_int = 48;
|
||||
pub const _SC_LOGIN_NAME_MAX : ::c_int = 37;
|
||||
pub const _SC_MQ_PRIO_MAX : ::c_int = 55;
|
||||
pub const _SC_NPROCESSORS_ONLN : ::c_int = 1002;
|
||||
pub const _SC_THREADS : ::c_int = 41;
|
||||
pub const _SC_THREAD_ATTR_STACKADDR : ::c_int = 61;
|
||||
pub const _SC_THREAD_ATTR_STACKSIZE : ::c_int = 62;
|
||||
pub const _SC_THREAD_DESTRUCTOR_ITERATIONS : ::c_int = 57;
|
||||
pub const _SC_THREAD_KEYS_MAX : ::c_int = 58;
|
||||
pub const _SC_THREAD_PRIO_INHERIT : ::c_int = 64;
|
||||
pub const _SC_THREAD_PRIO_PROTECT : ::c_int = 65;
|
||||
pub const _SC_THREAD_PRIORITY_SCHEDULING : ::c_int = 63;
|
||||
pub const _SC_THREAD_PROCESS_SHARED : ::c_int = 66;
|
||||
pub const _SC_THREAD_SAFE_FUNCTIONS : ::c_int = 67;
|
||||
pub const _SC_THREAD_STACK_MIN : ::c_int = 59;
|
||||
pub const _SC_THREAD_THREADS_MAX : ::c_int = 60;
|
||||
pub const _SC_TTY_NAME_MAX : ::c_int = 68;
|
||||
pub const _SC_ATEXIT_MAX : ::c_int = 40;
|
||||
pub const _SC_CLK_TCK : ::c_int = 39;
|
||||
pub const _SC_AIO_LISTIO_MAX : ::c_int = 51;
|
||||
pub const _SC_AIO_MAX : ::c_int = 52;
|
||||
pub const _SC_ASYNCHRONOUS_IO : ::c_int = 50;
|
||||
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_MESSAGE_PASSING : ::c_int = 53;
|
||||
pub const _SC_MQ_OPEN_MAX : ::c_int = 54;
|
||||
pub const _SC_PRIORITY_SCHEDULING : ::c_int = 56;
|
||||
pub const _SC_SEMAPHORES : ::c_int = 42;
|
||||
pub const _SC_SHARED_MEMORY_OBJECTS : ::c_int = 87;
|
||||
pub const _SC_SYNCHRONIZED_IO : ::c_int = 31;
|
||||
pub const _SC_TIMERS : ::c_int = 44;
|
||||
pub const _SC_HOST_NAME_MAX : ::c_int = 69;
|
||||
|
||||
pub const FD_SETSIZE: usize = 0x100;
|
||||
|
||||
pub const ST_NOSUID: ::c_ulong = 8;
|
||||
|
||||
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
|
||||
ptm_magic: 0x33330003,
|
||||
ptm_errorcheck: 0,
|
||||
ptm_interlock: 0,
|
||||
ptm_waiters: 0 as *mut _,
|
||||
ptm_owner: 0,
|
||||
ptm_pad1: [0; 3],
|
||||
ptm_pad2: [0; 3],
|
||||
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: ::int32_t = 2;
|
||||
pub const EVFILT_PROC: ::int32_t = 4;
|
||||
pub const EVFILT_READ: ::int32_t = 0;
|
||||
pub const EVFILT_SIGNAL: ::int32_t = 5;
|
||||
pub const EVFILT_TIMER: ::int32_t = 6;
|
||||
pub const EVFILT_VNODE: ::int32_t = 3;
|
||||
pub const EVFILT_WRITE: ::int32_t = 1;
|
||||
|
||||
pub const EV_ADD: ::uint32_t = 0x1;
|
||||
pub const EV_DELETE: ::uint32_t = 0x2;
|
||||
pub const EV_ENABLE: ::uint32_t = 0x4;
|
||||
pub const EV_DISABLE: ::uint32_t = 0x8;
|
||||
pub const EV_ONESHOT: ::uint32_t = 0x10;
|
||||
pub const EV_CLEAR: ::uint32_t = 0x20;
|
||||
pub const EV_RECEIPT: ::uint32_t = 0x40;
|
||||
pub const EV_DISPATCH: ::uint32_t = 0x80;
|
||||
pub const EV_FLAG1: ::uint32_t = 0x2000;
|
||||
pub const EV_ERROR: ::uint32_t = 0x4000;
|
||||
pub const EV_EOF: ::uint32_t = 0x8000;
|
||||
pub const EV_SYSFLAGS: ::uint32_t = 0xf000;
|
||||
|
||||
pub const NOTE_LOWAT: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_DELETE: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_WRITE: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_EXTEND: ::uint32_t = 0x00000004;
|
||||
pub const NOTE_ATTRIB: ::uint32_t = 0x00000008;
|
||||
pub const NOTE_LINK: ::uint32_t = 0x00000010;
|
||||
pub const NOTE_RENAME: ::uint32_t = 0x00000020;
|
||||
pub const NOTE_REVOKE: ::uint32_t = 0x00000040;
|
||||
pub const NOTE_EXIT: ::uint32_t = 0x80000000;
|
||||
pub const NOTE_FORK: ::uint32_t = 0x40000000;
|
||||
pub const NOTE_EXEC: ::uint32_t = 0x20000000;
|
||||
pub const NOTE_PDATAMASK: ::uint32_t = 0x000fffff;
|
||||
pub const NOTE_PCTRLMASK: ::uint32_t = 0xf0000000;
|
||||
pub const NOTE_TRACK: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_TRACKERR: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_CHILD: ::uint32_t = 0x00000004;
|
||||
|
||||
pub const CRTSCTS: ::tcflag_t = 0x00010000;
|
||||
|
||||
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;
|
||||
|
||||
extern {
|
||||
pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::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 ptrace(requeset: ::c_int,
|
||||
pid: ::pid_t,
|
||||
addr: *mut ::c_void,
|
||||
data: ::c_int) -> ::c_int;
|
||||
pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int;
|
||||
pub fn pthread_setname_np(t: ::pthread_t,
|
||||
name: *const ::c_char,
|
||||
arg: *mut ::c_void) -> ::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;
|
||||
}
|
||||
462
third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs
vendored
Normal file
462
third_party/rust/libc/src/unix/bsd/openbsdlike/openbsd.rs
vendored
Normal file
|
|
@ -0,0 +1,462 @@
|
|||
pub type clock_t = i64;
|
||||
pub type suseconds_t = i64;
|
||||
pub type dev_t = i32;
|
||||
pub type sigset_t = ::c_uint;
|
||||
pub type blksize_t = ::int32_t;
|
||||
pub type fsblkcnt_t = ::uint64_t;
|
||||
pub type fsfilcnt_t = ::uint64_t;
|
||||
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;
|
||||
|
||||
s! {
|
||||
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 glob_t {
|
||||
pub gl_pathc: ::c_int,
|
||||
__unused1: ::c_int,
|
||||
pub gl_offs: ::c_int,
|
||||
__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,
|
||||
__unused9: *mut ::c_void,
|
||||
}
|
||||
|
||||
pub struct kevent {
|
||||
pub ident: ::uintptr_t,
|
||||
pub filter: ::c_short,
|
||||
pub flags: ::c_ushort,
|
||||
pub fflags: ::c_uint,
|
||||
pub data: ::int64_t,
|
||||
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: ::uint32_t,
|
||||
pub st_gen: ::uint32_t,
|
||||
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 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,
|
||||
__pad: [u8; 108],
|
||||
}
|
||||
|
||||
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 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 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 MS_SYNC : ::c_int = 0x0002;
|
||||
pub const MS_INVALIDATE : ::c_int = 0x0004;
|
||||
|
||||
pub const PTHREAD_STACK_MIN : ::size_t = 2048;
|
||||
|
||||
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 ELAST : ::c_int = 91;
|
||||
|
||||
pub const F_DUPFD_CLOEXEC : ::c_int = 10;
|
||||
|
||||
pub const RLIM_NLIMITS: ::c_int = 9;
|
||||
|
||||
pub const SO_SNDTIMEO: ::c_int = 0x1005;
|
||||
pub const SO_RCVTIMEO: ::c_int = 0x1006;
|
||||
|
||||
pub const IPV6_JOIN_GROUP: ::c_int = 12;
|
||||
pub const IPV6_LEAVE_GROUP: ::c_int = 13;
|
||||
|
||||
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 RUSAGE_THREAD: ::c_int = 1;
|
||||
|
||||
pub const MAP_COPY : ::c_int = 0x0002;
|
||||
pub const MAP_NOEXTEND : ::c_int = 0x0000;
|
||||
|
||||
pub const _SC_CLK_TCK : ::c_int = 3;
|
||||
pub const _SC_IOV_MAX : ::c_int = 51;
|
||||
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_MQ_PRIO_MAX : ::c_int = 59;
|
||||
pub const _SC_NPROCESSORS_ONLN : ::c_int = 503;
|
||||
pub const _SC_THREADS : ::c_int = 91;
|
||||
pub const _SC_THREAD_ATTR_STACKADDR : ::c_int = 77;
|
||||
pub const _SC_THREAD_ATTR_STACKSIZE : ::c_int = 78;
|
||||
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_SAFE_FUNCTIONS : ::c_int = 103;
|
||||
pub const _SC_THREAD_STACK_MIN : ::c_int = 89;
|
||||
pub const _SC_THREAD_THREADS_MAX : ::c_int = 90;
|
||||
pub const _SC_TTY_NAME_MAX : ::c_int = 107;
|
||||
pub const _SC_ATEXIT_MAX : ::c_int = 46;
|
||||
pub const _SC_AIO_LISTIO_MAX : ::c_int = 42;
|
||||
pub const _SC_AIO_MAX : ::c_int = 43;
|
||||
pub const _SC_ASYNCHRONOUS_IO : ::c_int = 45;
|
||||
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_PRIORITY_SCHEDULING : ::c_int = 61;
|
||||
pub const _SC_SEMAPHORES : ::c_int = 67;
|
||||
pub const _SC_SHARED_MEMORY_OBJECTS : ::c_int = 68;
|
||||
pub const _SC_SYNCHRONIZED_IO : ::c_int = 75;
|
||||
pub const _SC_TIMERS : ::c_int = 94;
|
||||
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_UNIX : ::c_int = 123;
|
||||
pub const _SC_XOPEN_VERSION : ::c_int = 125;
|
||||
pub const _SC_SEM_NSEMS_MAX : ::c_int = 31;
|
||||
pub const _SC_SEM_VALUE_MAX : ::c_int = 32;
|
||||
pub const _SC_AIO_PRIO_DELTA_MAX : ::c_int = 44;
|
||||
pub const _SC_DELAYTIMER_MAX : ::c_int = 50;
|
||||
pub const _SC_PRIORITIZED_IO : ::c_int = 60;
|
||||
pub const _SC_REALTIME_SIGNALS : ::c_int = 64;
|
||||
pub const _SC_RTSIG_MAX : ::c_int = 66;
|
||||
pub const _SC_SIGQUEUE_MAX : ::c_int = 70;
|
||||
pub const _SC_TIMER_MAX : ::c_int = 93;
|
||||
pub const _SC_HOST_NAME_MAX : ::c_int = 33;
|
||||
|
||||
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: ::int16_t = -3;
|
||||
pub const EVFILT_PROC: ::int16_t = -5;
|
||||
pub const EVFILT_READ: ::int16_t = -1;
|
||||
pub const EVFILT_SIGNAL: ::int16_t = -6;
|
||||
pub const EVFILT_TIMER: ::int16_t = -7;
|
||||
pub const EVFILT_VNODE: ::int16_t = -4;
|
||||
pub const EVFILT_WRITE: ::int16_t = -2;
|
||||
|
||||
pub const EV_ADD: ::uint16_t = 0x1;
|
||||
pub const EV_DELETE: ::uint16_t = 0x2;
|
||||
pub const EV_ENABLE: ::uint16_t = 0x4;
|
||||
pub const EV_DISABLE: ::uint16_t = 0x8;
|
||||
pub const EV_ONESHOT: ::uint16_t = 0x10;
|
||||
pub const EV_CLEAR: ::uint16_t = 0x20;
|
||||
pub const EV_FLAG1: ::uint16_t = 0x2000;
|
||||
pub const EV_ERROR: ::uint16_t = 0x4000;
|
||||
pub const EV_EOF: ::uint16_t = 0x8000;
|
||||
pub const EV_SYSFLAGS: ::uint16_t = 0xf000;
|
||||
|
||||
pub const NOTE_LOWAT: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_EOF: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_DELETE: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_WRITE: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_EXTEND: ::uint32_t = 0x00000004;
|
||||
pub const NOTE_ATTRIB: ::uint32_t = 0x00000008;
|
||||
pub const NOTE_LINK: ::uint32_t = 0x00000010;
|
||||
pub const NOTE_RENAME: ::uint32_t = 0x00000020;
|
||||
pub const NOTE_REVOKE: ::uint32_t = 0x00000040;
|
||||
pub const NOTE_TRUNCATE: ::uint32_t = 0x00000080;
|
||||
pub const NOTE_EXIT: ::uint32_t = 0x80000000;
|
||||
pub const NOTE_FORK: ::uint32_t = 0x40000000;
|
||||
pub const NOTE_EXEC: ::uint32_t = 0x20000000;
|
||||
pub const NOTE_PDATAMASK: ::uint32_t = 0x000fffff;
|
||||
pub const NOTE_PCTRLMASK: ::uint32_t = 0xf0000000;
|
||||
pub const NOTE_TRACK: ::uint32_t = 0x00000001;
|
||||
pub const NOTE_TRACKERR: ::uint32_t = 0x00000002;
|
||||
pub const NOTE_CHILD: ::uint32_t = 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 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_RND: ::c_int = 31;
|
||||
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_MAXID: ::c_int = 84;
|
||||
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;
|
||||
|
||||
extern {
|
||||
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_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;
|
||||
}
|
||||
851
third_party/rust/libc/src/unix/mod.rs
vendored
Normal file
851
third_party/rust/libc/src/unix/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,851 @@
|
|||
//! 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.
|
||||
|
||||
use dox::Option;
|
||||
|
||||
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 enum DIR {}
|
||||
pub enum locale_t {}
|
||||
|
||||
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,
|
||||
}
|
||||
|
||||
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,
|
||||
pub ru_ixrss: c_long,
|
||||
pub ru_idrss: c_long,
|
||||
pub ru_isrss: c_long,
|
||||
pub ru_minflt: c_long,
|
||||
pub ru_majflt: c_long,
|
||||
pub ru_nswap: c_long,
|
||||
pub ru_inblock: c_long,
|
||||
pub ru_oublock: c_long,
|
||||
pub ru_msgsnd: c_long,
|
||||
pub ru_msgrcv: c_long,
|
||||
pub ru_nsignals: c_long,
|
||||
pub ru_nvcsw: c_long,
|
||||
pub ru_nivcsw: c_long,
|
||||
|
||||
#[cfg(any(target_env = "musl"))]
|
||||
__reserved: [c_long; 16],
|
||||
}
|
||||
|
||||
#[cfg_attr(target_os = "netbsd", repr(packed))]
|
||||
pub struct in_addr {
|
||||
pub s_addr: in_addr_t,
|
||||
}
|
||||
|
||||
pub struct in6_addr {
|
||||
pub s6_addr: [u8; 16],
|
||||
__align: [u32; 0],
|
||||
}
|
||||
|
||||
pub struct ip_mreq {
|
||||
pub imr_multiaddr: in_addr,
|
||||
pub imr_interface: in_addr,
|
||||
}
|
||||
|
||||
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 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 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 IF_NAMESIZE: ::size_t = 16;
|
||||
|
||||
pub const RTLD_LAZY: ::c_int = 0x1;
|
||||
|
||||
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;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(dox)] {
|
||||
// on dox builds don't pull in anything
|
||||
} else if #[cfg(all(not(stdbuild), feature = "use_std"))] {
|
||||
// cargo build, don't pull in anything extra as the libstd dep
|
||||
// already pulls in all libs.
|
||||
} else if #[cfg(any(all(target_env = "musl", not(target_arch = "mips"))))] {
|
||||
#[link(name = "c", kind = "static")]
|
||||
extern {}
|
||||
} else if #[cfg(target_os = "emscripten")] {
|
||||
#[link(name = "c")]
|
||||
extern {}
|
||||
} else if #[cfg(all(target_os = "netbsd", 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",
|
||||
target_os = "bitrig"))] {
|
||||
#[link(name = "c")]
|
||||
#[link(name = "m")]
|
||||
extern {}
|
||||
} else {
|
||||
#[link(name = "c")]
|
||||
#[link(name = "m")]
|
||||
#[link(name = "rt")]
|
||||
extern {}
|
||||
}
|
||||
}
|
||||
|
||||
extern {
|
||||
pub fn getgrnam(name: *const ::c_char) -> *mut group;
|
||||
pub fn getgrgid(gid: ::gid_t) -> *mut group;
|
||||
|
||||
pub fn endpwent();
|
||||
#[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;
|
||||
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;
|
||||
|
||||
#[cfg_attr(target_os = "netbsd", link_name = "__socket30")]
|
||||
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")]
|
||||
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 = "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 = "listen$UNIX2003")]
|
||||
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")]
|
||||
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")]
|
||||
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")]
|
||||
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")]
|
||||
pub fn stat(path: *const c_char, buf: *mut stat) -> ::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 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_r$INODE64")]
|
||||
#[cfg_attr(target_os = "netbsd", link_name = "__readdir_r30")]
|
||||
pub fn readdir_r(dirp: *mut ::DIR, entry: *mut ::dirent,
|
||||
result: *mut *mut ::dirent) -> ::c_int;
|
||||
#[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 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;
|
||||
#[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$UNIX2003")]
|
||||
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 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;
|
||||
#[cfg_attr(all(target_os = "macos", target_arch = "x86"),
|
||||
link_name = "pause$UNIX2003")]
|
||||
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;
|
||||
#[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 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 ttyname(fd: ::c_int) -> *mut c_char;
|
||||
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;
|
||||
|
||||
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")]
|
||||
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(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;
|
||||
#[cfg_attr(target_os = "netbsd", link_name = "__getrusage50")]
|
||||
pub fn getrusage(resource: ::c_int, usage: *mut rusage) -> ::c_int;
|
||||
|
||||
pub fn getdtablesize() -> ::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 = "__gettimeofday50")]
|
||||
pub fn gettimeofday(tp: *mut ::timeval,
|
||||
tz: *mut ::c_void) -> ::c_int;
|
||||
|
||||
pub fn pthread_self() -> ::pthread_t;
|
||||
pub fn pthread_create(native: *mut ::pthread_t,
|
||||
attr: *const ::pthread_attr_t,
|
||||
f: extern fn(*mut ::c_void) -> *mut ::c_void,
|
||||
value: *mut ::c_void) -> ::c_int;
|
||||
#[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_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<unsafe extern fn(*mut ::c_void)>)
|
||||
-> ::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_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;
|
||||
#[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 pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int;
|
||||
#[cfg_attr(all(target_os = "linux", 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 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(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;
|
||||
#[cfg_attr(all(target_os = "macos", target_arch ="x86"),
|
||||
link_name = "sigwait$UNIX2003")]
|
||||
pub fn sigwait(set: *const sigset_t,
|
||||
sig: *mut ::c_int) -> ::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(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 = "__mknod50")]
|
||||
pub fn mknod(pathname: *const ::c_char, mode: ::mode_t,
|
||||
dev: ::dev_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;
|
||||
pub fn uname(buf: *mut ::utsname) -> ::c_int;
|
||||
pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int;
|
||||
pub fn gethostname(name: *mut ::c_char, len: ::size_t) -> ::c_int;
|
||||
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 = "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;
|
||||
#[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;
|
||||
|
||||
pub fn sem_destroy(sem: *mut sem_t) -> ::c_int;
|
||||
pub fn sem_open(name: *const ::c_char, oflag: ::c_int, ...) -> *mut sem_t;
|
||||
pub fn sem_close(sem: *mut sem_t) -> ::c_int;
|
||||
pub fn sem_unlink(name: *const ::c_char) -> ::c_int;
|
||||
#[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 sem_init(sem: *mut sem_t,
|
||||
pshared: ::c_int,
|
||||
value: ::c_uint)
|
||||
-> ::c_int;
|
||||
}
|
||||
|
||||
// TODO: get rid of this cfg(not(...))
|
||||
#[cfg(not(target_os = "android"))] // " if " -- appease style checker
|
||||
extern {
|
||||
pub fn getifaddrs(ifap: *mut *mut ifaddrs) -> ::c_int;
|
||||
pub fn freeifaddrs(ifa: *mut ifaddrs);
|
||||
#[cfg_attr(target_os = "macos", link_name = "glob$INODE64")]
|
||||
#[cfg_attr(target_os = "netbsd", link_name = "__glob30")]
|
||||
pub fn glob(pattern: *const c_char,
|
||||
flags: ::c_int,
|
||||
errfunc: Option<extern fn(epath: *const c_char,
|
||||
errno: ::c_int) -> ::c_int>,
|
||||
pglob: *mut glob_t) -> ::c_int;
|
||||
#[cfg_attr(target_os = "netbsd", link_name = "__globfree30")]
|
||||
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 getsid(pid: pid_t) -> pid_t;
|
||||
pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int)
|
||||
-> ::c_int;
|
||||
pub fn readlink(path: *const c_char,
|
||||
buf: *mut c_char,
|
||||
bufsz: ::size_t)
|
||||
-> ::ssize_t;
|
||||
|
||||
#[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;
|
||||
pub fn sysconf(name: ::c_int) -> c_long;
|
||||
#[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 mkfifo(path: *const c_char, mode: mode_t) -> ::c_int;
|
||||
|
||||
#[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(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(target_os = "netbsd", link_name = "__timegm50")]
|
||||
pub fn timegm(tm: *mut ::tm) -> time_t;
|
||||
pub fn statvfs(path: *const c_char, buf: *mut statvfs) -> ::c_int;
|
||||
pub fn fstatvfs(fd: ::c_int, buf: *mut statvfs) -> ::c_int;
|
||||
#[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 tcsendbreak(fd: ::c_int, duration: ::c_int) -> ::c_int;
|
||||
pub fn mkstemp(template: *mut ::c_char) -> ::c_int;
|
||||
pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int;
|
||||
pub fn mkdtemp(template: *mut ::c_char) -> *mut ::c_char;
|
||||
pub fn futimes(fd: ::c_int, times: *const ::timeval) -> ::c_int;
|
||||
pub fn nl_langinfo(item: ::nl_item) -> *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, ...);
|
||||
#[cfg_attr(all(target_os = "macos", target_arch = "x86"),
|
||||
link_name = "nice$UNIX2003")]
|
||||
pub fn nice(incr: ::c_int) -> ::c_int;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(any(target_os = "linux",
|
||||
target_os = "android",
|
||||
target_os = "emscripten"))] {
|
||||
mod notbsd;
|
||||
pub use self::notbsd::*;
|
||||
} else if #[cfg(any(target_os = "macos",
|
||||
target_os = "ios",
|
||||
target_os = "freebsd",
|
||||
target_os = "dragonfly",
|
||||
target_os = "openbsd",
|
||||
target_os = "netbsd",
|
||||
target_os = "bitrig"))] {
|
||||
mod bsd;
|
||||
pub use self::bsd::*;
|
||||
} else if #[cfg(target_os = "solaris")] {
|
||||
mod solaris;
|
||||
pub use self::solaris::*;
|
||||
} else {
|
||||
// Unknown target_os
|
||||
}
|
||||
}
|
||||
151
third_party/rust/libc/src/unix/notbsd/android/b32.rs
vendored
Normal file
151
third_party/rust/libc/src/unix/notbsd/android/b32.rs
vendored
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
pub type c_long = i32;
|
||||
pub type c_ulong = u32;
|
||||
pub type mode_t = u16;
|
||||
pub type off64_t = ::c_longlong;
|
||||
|
||||
s! {
|
||||
pub struct sigaction {
|
||||
pub sa_sigaction: ::sighandler_t,
|
||||
pub sa_mask: ::sigset_t,
|
||||
pub sa_flags: ::c_ulong,
|
||||
pub sa_restorer: ::dox::Option<extern fn()>,
|
||||
}
|
||||
|
||||
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_ulong,
|
||||
pub st_atime_nsec: ::c_ulong,
|
||||
pub st_mtime: ::c_ulong,
|
||||
pub st_mtime_nsec: ::c_ulong,
|
||||
pub st_ctime: ::c_ulong,
|
||||
pub st_ctime_nsec: ::c_ulong,
|
||||
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_ulong,
|
||||
pub st_atime_nsec: ::c_ulong,
|
||||
pub st_mtime: ::c_ulong,
|
||||
pub st_mtime_nsec: ::c_ulong,
|
||||
pub st_ctime: ::c_ulong,
|
||||
pub st_ctime_nsec: ::c_ulong,
|
||||
pub st_ino: ::c_ulonglong,
|
||||
}
|
||||
|
||||
pub struct pthread_attr_t {
|
||||
pub flags: ::uint32_t,
|
||||
pub stack_base: *mut ::c_void,
|
||||
pub stack_size: ::size_t,
|
||||
pub guard_size: ::size_t,
|
||||
pub sched_policy: ::int32_t,
|
||||
pub sched_priority: ::int32_t,
|
||||
}
|
||||
|
||||
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: ::uint32_t,
|
||||
pub f_bsize: ::uint32_t,
|
||||
pub f_blocks: ::uint64_t,
|
||||
pub f_bfree: ::uint64_t,
|
||||
pub f_bavail: ::uint64_t,
|
||||
pub f_files: ::uint64_t,
|
||||
pub f_ffree: ::uint64_t,
|
||||
pub f_fsid: ::__fsid_t,
|
||||
pub f_namelen: ::uint32_t,
|
||||
pub f_frsize: ::uint32_t,
|
||||
pub f_flags: ::uint32_t,
|
||||
pub f_spare: [::uint32_t; 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 SYS_gettid: ::c_long = 224;
|
||||
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;
|
||||
|
||||
extern {
|
||||
pub fn timegm64(tm: *const ::tm) -> ::time64_t;
|
||||
}
|
||||
161
third_party/rust/libc/src/unix/notbsd/android/b64.rs
vendored
Normal file
161
third_party/rust/libc/src/unix/notbsd/android/b64.rs
vendored
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
// The following definitions are correct for aarch64 and may be wrong for x86_64
|
||||
|
||||
pub type c_long = i64;
|
||||
pub type c_ulong = u64;
|
||||
pub type mode_t = u32;
|
||||
pub type off64_t = i64;
|
||||
|
||||
s! {
|
||||
pub struct sigaction {
|
||||
pub sa_flags: ::c_uint,
|
||||
pub sa_sigaction: ::sighandler_t,
|
||||
pub sa_mask: ::sigset_t,
|
||||
_restorer: *mut ::c_void,
|
||||
}
|
||||
|
||||
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_ulong,
|
||||
pub st_mtime: ::time_t,
|
||||
pub st_mtime_nsec: ::c_ulong,
|
||||
pub st_ctime: ::time_t,
|
||||
pub st_ctime_nsec: ::c_ulong,
|
||||
__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_ulong,
|
||||
pub st_mtime: ::time_t,
|
||||
pub st_mtime_nsec: ::c_ulong,
|
||||
pub st_ctime: ::time_t,
|
||||
pub st_ctime_nsec: ::c_ulong,
|
||||
__unused4: ::c_uint,
|
||||
__unused5: ::c_uint,
|
||||
}
|
||||
|
||||
pub struct pthread_attr_t {
|
||||
pub flags: ::uint32_t,
|
||||
pub stack_base: *mut ::c_void,
|
||||
pub stack_size: ::size_t,
|
||||
pub guard_size: ::size_t,
|
||||
pub sched_policy: ::int32_t,
|
||||
pub sched_priority: ::int32_t,
|
||||
__reserved: [::c_char; 16],
|
||||
}
|
||||
|
||||
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],
|
||||
}
|
||||
|
||||
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: ::uint64_t,
|
||||
pub f_bsize: ::uint64_t,
|
||||
pub f_blocks: ::uint64_t,
|
||||
pub f_bfree: ::uint64_t,
|
||||
pub f_bavail: ::uint64_t,
|
||||
pub f_files: ::uint64_t,
|
||||
pub f_ffree: ::uint64_t,
|
||||
pub f_fsid: ::__fsid_t,
|
||||
pub f_namelen: ::uint64_t,
|
||||
pub f_frsize: ::uint64_t,
|
||||
pub f_flags: ::uint64_t,
|
||||
pub f_spare: [::uint64_t; 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 const SYS_gettid: ::c_long = 178;
|
||||
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;
|
||||
|
||||
extern {
|
||||
pub fn timegm(tm: *const ::tm) -> ::time64_t;
|
||||
}
|
||||
718
third_party/rust/libc/src/unix/notbsd/android/mod.rs
vendored
Normal file
718
third_party/rust/libc/src/unix/notbsd/android/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,718 @@
|
|||
//! Android-specific definitions for linux-like values
|
||||
|
||||
use dox::mem;
|
||||
|
||||
pub type c_char = u8;
|
||||
pub type clock_t = ::c_long;
|
||||
pub type time_t = ::c_long;
|
||||
pub type suseconds_t = ::c_long;
|
||||
pub type wchar_t = u32;
|
||||
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 socklen_t = i32;
|
||||
pub type pthread_t = ::c_long;
|
||||
pub type pthread_mutexattr_t = ::c_long;
|
||||
pub type pthread_condattr_t = ::c_long;
|
||||
pub type sigset_t = ::c_ulong;
|
||||
pub type time64_t = i64; // N/A on android
|
||||
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;
|
||||
|
||||
s! {
|
||||
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 rlimit64 {
|
||||
pub rlim_cur: u64,
|
||||
pub rlim_max: u64,
|
||||
}
|
||||
|
||||
pub struct stack_t {
|
||||
pub ss_sp: *mut ::c_void,
|
||||
pub ss_flags: ::c_int,
|
||||
pub ss_size: ::size_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 __fsid_t {
|
||||
__val: [::c_int; 2],
|
||||
}
|
||||
|
||||
pub struct msghdr {
|
||||
pub msg_name: *mut ::c_void,
|
||||
pub msg_namelen: ::c_int,
|
||||
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 {
|
||||
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_pid: ::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,
|
||||
}
|
||||
|
||||
pub struct lastlog {
|
||||
ll_time: ::time_t,
|
||||
ll_line: [::c_char; UT_LINESIZE],
|
||||
ll_host: [::c_char; UT_HOSTSIZE],
|
||||
}
|
||||
|
||||
pub struct exit_status {
|
||||
pub e_termination: ::c_short,
|
||||
pub e_exit: ::c_short,
|
||||
}
|
||||
|
||||
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: [::int32_t; 4],
|
||||
unused: [::c_char; 20],
|
||||
}
|
||||
}
|
||||
|
||||
pub const USER_PROCESS: ::c_short = 7;
|
||||
|
||||
pub const BUFSIZ: ::c_uint = 1024;
|
||||
pub const FILENAME_MAX: ::c_uint = 1024;
|
||||
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 = 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 = 14;
|
||||
pub const _PC_NO_TRUNC: ::c_int = 15;
|
||||
pub const _PC_VDISABLE: ::c_int = 16;
|
||||
|
||||
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_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_MQ_PRIO_MAX: ::c_int = 51;
|
||||
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_ONLN: ::c_int = 97;
|
||||
|
||||
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 SA_ONSTACK: ::c_ulong = 0x08000000;
|
||||
pub const SA_SIGINFO: ::c_ulong = 0x00000004;
|
||||
pub const SA_NOCLDWAIT: ::c_ulong = 0x00000002;
|
||||
|
||||
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 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 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 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_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 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_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_NDELAY: ::c_int = 0x800;
|
||||
|
||||
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 IUTF8: ::tcflag_t = 0x00004000;
|
||||
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 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 MADV_HUGEPAGE: ::c_int = 14;
|
||||
pub const MADV_NOHUGEPAGE: ::c_int = 15;
|
||||
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 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 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 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 RTLD_GLOBAL: ::c_int = 0x2;
|
||||
pub const RTLD_NOLOAD: ::c_int = 0x4;
|
||||
pub const RTLD_NOW: ::c_int = 0;
|
||||
pub const RTLD_DEFAULT: *mut ::c_void = -1isize as *mut ::c_void;
|
||||
|
||||
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 SIGSTKSZ: ::size_t = 8192;
|
||||
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;
|
||||
|
||||
f! {
|
||||
pub fn sigemptyset(set: *mut sigset_t) -> ::c_int {
|
||||
*set = 0;
|
||||
return 0
|
||||
}
|
||||
pub fn sigaddset(set: *mut sigset_t, signum: ::c_int) -> ::c_int {
|
||||
*set |= signum as sigset_t;
|
||||
return 0
|
||||
}
|
||||
pub fn sigfillset(set: *mut sigset_t) -> ::c_int {
|
||||
*set = !0;
|
||||
return 0
|
||||
}
|
||||
pub fn sigdelset(set: *mut sigset_t, signum: ::c_int) -> ::c_int {
|
||||
*set &= !(signum as sigset_t);
|
||||
return 0
|
||||
}
|
||||
pub fn sigismember(set: *const sigset_t, signum: ::c_int) -> ::c_int {
|
||||
(*set & (signum as sigset_t)) as ::c_int
|
||||
}
|
||||
pub fn cfgetispeed(termios: *const ::termios) -> ::speed_t {
|
||||
(*termios).c_cflag & ::CBAUD
|
||||
}
|
||||
pub fn cfgetospeed(termios: *const ::termios) -> ::speed_t {
|
||||
(*termios).c_cflag & ::CBAUD
|
||||
}
|
||||
pub fn cfsetispeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int {
|
||||
let cbaud = ::CBAUD;
|
||||
(*termios).c_cflag = ((*termios).c_cflag & !cbaud) | (speed & cbaud);
|
||||
return 0
|
||||
}
|
||||
pub fn cfsetospeed(termios: *mut ::termios, speed: ::speed_t) -> ::c_int {
|
||||
let cbaud = ::CBAUD;
|
||||
(*termios).c_cflag = ((*termios).c_cflag & !cbaud) | (speed & cbaud);
|
||||
return 0
|
||||
}
|
||||
pub fn tcgetattr(fd: ::c_int, termios: *mut ::termios) -> ::c_int {
|
||||
ioctl(fd, ::TCGETS, termios)
|
||||
}
|
||||
pub fn tcsetattr(fd: ::c_int,
|
||||
optional_actions: ::c_int,
|
||||
termios: *const ::termios) -> ::c_int {
|
||||
ioctl(fd, optional_actions, termios)
|
||||
}
|
||||
pub fn tcflow(fd: ::c_int, action: ::c_int) -> ::c_int {
|
||||
ioctl(fd, ::TCXONC, action as *mut ::c_void)
|
||||
}
|
||||
pub fn tcflush(fd: ::c_int, action: ::c_int) -> ::c_int {
|
||||
ioctl(fd, ::TCFLSH, action as *mut ::c_void)
|
||||
}
|
||||
pub fn tcsendbreak(fd: ::c_int, duration: ::c_int) -> ::c_int {
|
||||
ioctl(fd, TCSBRKP, duration as *mut ::c_void)
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
extern {
|
||||
static mut __progname: *mut ::c_char;
|
||||
}
|
||||
|
||||
extern {
|
||||
pub fn madvise(addr: *const ::c_void, len: ::size_t, advice: ::c_int)
|
||||
-> ::c_int;
|
||||
pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
|
||||
pub fn readlink(path: *const ::c_char,
|
||||
buf: *mut ::c_char,
|
||||
bufsz: ::size_t)
|
||||
-> ::c_int;
|
||||
pub fn msync(addr: *const ::c_void, len: ::size_t,
|
||||
flags: ::c_int) -> ::c_int;
|
||||
pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int)
|
||||
-> ::c_int;
|
||||
pub fn sysconf(name: ::c_int) -> ::c_long;
|
||||
pub fn recvfrom(socket: ::c_int, buf: *mut ::c_void, len: ::size_t,
|
||||
flags: ::c_int, addr: *const ::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: ::c_int) -> ::c_int;
|
||||
pub fn setpriority(which: ::c_int, who: ::c_int, 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: *mut 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;
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
627
third_party/rust/libc/src/unix/notbsd/linux/mips.rs
vendored
Normal file
627
third_party/rust/libc/src/unix/notbsd/linux/mips.rs
vendored
Normal file
|
|
@ -0,0 +1,627 @@
|
|||
pub 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: ::c_ulong,
|
||||
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,
|
||||
pub st_rdev: ::c_ulong,
|
||||
pub st_pad2: [::c_long; 2],
|
||||
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: ::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 pthread_attr_t {
|
||||
__size: [u32; 9]
|
||||
}
|
||||
|
||||
pub struct sigaction {
|
||||
pub sa_flags: ::c_int,
|
||||
pub sa_sigaction: ::sighandler_t,
|
||||
pub sa_mask: sigset_t,
|
||||
_restorer: *mut ::c_void,
|
||||
_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 sigset_t {
|
||||
__val: [::c_ulong; 32],
|
||||
}
|
||||
|
||||
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 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 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],
|
||||
}
|
||||
|
||||
// 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],
|
||||
}
|
||||
}
|
||||
|
||||
pub const BUFSIZ: ::c_uint = 8192;
|
||||
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 RUSAGE_THREAD: ::c_int = 1;
|
||||
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 RUSAGE_CHILDREN: ::c_int = -1;
|
||||
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 = 16;
|
||||
pub const RLIM_INFINITY: ::rlim_t = 0x7fffffff;
|
||||
|
||||
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 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 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 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_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 = 4;
|
||||
pub const SO_REUSEPORT: ::c_int = 0x200;
|
||||
pub const SO_TYPE: ::c_int = 4104;
|
||||
pub const SO_ERROR: ::c_int = 4103;
|
||||
pub const SO_DONTROUTE: ::c_int = 16;
|
||||
pub const SO_BROADCAST: ::c_int = 32;
|
||||
pub const SO_SNDBUF: ::c_int = 4097;
|
||||
pub const SO_RCVBUF: ::c_int = 4098;
|
||||
pub const SO_KEEPALIVE: ::c_int = 8;
|
||||
pub const SO_OOBINLINE: ::c_int = 256;
|
||||
pub const SO_LINGER: ::c_int = 128;
|
||||
pub const SO_RCVLOWAT: ::c_int = 4100;
|
||||
pub const SO_SNDLOWAT: ::c_int = 4099;
|
||||
pub const SO_RCVTIMEO: ::c_int = 4102;
|
||||
pub const SO_SNDTIMEO: ::c_int = 4101;
|
||||
pub const SO_ACCEPTCONN: ::c_int = 4105;
|
||||
|
||||
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 FIOCLEX: ::c_ulong = 0x6601;
|
||||
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 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 = 131072;
|
||||
|
||||
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 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 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 SYS_gettid: ::c_long = 4222; // Valid for O32
|
||||
|
||||
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: ::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;
|
||||
|
||||
#[link(name = "util")]
|
||||
extern {
|
||||
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: ::dox::Option<extern 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;
|
||||
}
|
||||
220
third_party/rust/libc/src/unix/notbsd/linux/mips64.rs
vendored
Normal file
220
third_party/rust/libc/src/unix/notbsd/linux/mips64.rs
vendored
Normal file
|
|
@ -0,0 +1,220 @@
|
|||
pub 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 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 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],
|
||||
}
|
||||
|
||||
// FIXME this is actually a union
|
||||
pub struct sem_t {
|
||||
__size: [::c_char; 32],
|
||||
__align: [::c_long; 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 EADDRINUSE: ::c_int = 125;
|
||||
pub const EADDRNOTAVAIL: ::c_int = 126;
|
||||
pub const ECONNABORTED: ::c_int = 130;
|
||||
pub const ECONNREFUSED: ::c_int = 146;
|
||||
pub const ECONNRESET: ::c_int = 131;
|
||||
pub const EDEADLK: ::c_int = 45;
|
||||
pub const ENOSYS: ::c_int = 89;
|
||||
pub const ENOTCONN: ::c_int = 134;
|
||||
pub const ETIMEDOUT: ::c_int = 145;
|
||||
pub const FIOCLEX: ::c_ulong = 0x6601;
|
||||
pub const FIONBIO: ::c_ulong = 0x667e;
|
||||
pub const MAP_ANON: ::c_int = 0x800;
|
||||
pub const O_ACCMODE: ::c_int = 3;
|
||||
pub const O_APPEND: ::c_int = 8;
|
||||
pub const O_CREAT: ::c_int = 256;
|
||||
pub const O_EXCL: ::c_int = 1024;
|
||||
pub const O_NONBLOCK: ::c_int = 128;
|
||||
pub const POSIX_FADV_DONTNEED: ::c_int = 4;
|
||||
pub const POSIX_FADV_NOREUSE: ::c_int = 5;
|
||||
pub const PTHREAD_STACK_MIN: ::size_t = 131072;
|
||||
pub const RLIM_INFINITY: ::rlim_t = 0xffffffffffffffff;
|
||||
pub const SA_ONSTACK: ::c_int = 0x08000000;
|
||||
pub const SA_SIGINFO: ::c_int = 0x00000008;
|
||||
pub const SIGBUS: ::c_int = 10;
|
||||
pub const SIGSTKSZ: ::size_t = 0x2000;
|
||||
pub const SIG_SETMASK: ::c_int = 3;
|
||||
pub const SOCK_DGRAM: ::c_int = 1;
|
||||
pub const SOCK_STREAM: ::c_int = 2;
|
||||
pub const SOL_SOCKET: ::c_int = 0xffff;
|
||||
pub const SO_BROADCAST: ::c_int = 32;
|
||||
pub const SO_ERROR: ::c_int = 4103;
|
||||
pub const SO_RCVTIMEO: ::c_int = 4102;
|
||||
pub const SO_REUSEADDR: ::c_int = 4;
|
||||
pub const SO_SNDTIMEO: ::c_int = 4101;
|
||||
|
||||
#[link(name = "util")]
|
||||
extern {
|
||||
pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
|
||||
}
|
||||
689
third_party/rust/libc/src/unix/notbsd/linux/mod.rs
vendored
Normal file
689
third_party/rust/libc/src/unix/notbsd/linux/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,689 @@
|
|||
//! Linux-specific definitions for linux-like values
|
||||
|
||||
use dox::mem;
|
||||
|
||||
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 key_t = ::c_int;
|
||||
pub type shmatt_t = ::c_ulong;
|
||||
pub type mqd_t = ::c_int;
|
||||
pub type nfds_t = ::c_ulong;
|
||||
pub type nl_item = ::c_int;
|
||||
|
||||
pub enum fpos64_t {} // TODO: fill this out with a struct
|
||||
|
||||
s! {
|
||||
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 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_mutex_t {
|
||||
#[cfg(any(target_arch = "mips", target_arch = "mipsel",
|
||||
target_arch = "arm", target_arch = "powerpc"))]
|
||||
__align: [::c_long; 0],
|
||||
#[cfg(not(any(target_arch = "mips", target_arch = "mipsel",
|
||||
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 = "mipsel",
|
||||
target_arch = "arm", target_arch = "powerpc"))]
|
||||
__align: [::c_long; 0],
|
||||
#[cfg(not(any(target_arch = "mips", target_arch = "mipsel",
|
||||
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"))]
|
||||
__align: [::c_int; 0],
|
||||
#[cfg(not(any(target_arch = "x86_64", target_arch = "powerpc64",
|
||||
target_arch = "mips64", target_arch = "s390x")))]
|
||||
__align: [::c_long; 0],
|
||||
size: [u8; __SIZEOF_PTHREAD_MUTEXATTR_T],
|
||||
}
|
||||
|
||||
pub struct pthread_cond_t {
|
||||
#[cfg(any(target_env = "musl"))]
|
||||
__align: [*const ::c_void; 0],
|
||||
#[cfg(not(any(target_env = "musl")))]
|
||||
__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],
|
||||
}
|
||||
|
||||
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 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,
|
||||
#[cfg(target_pointer_width = "32")]
|
||||
pub __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: ::uint64_t,
|
||||
pub dqb_bsoftlimit: ::uint64_t,
|
||||
pub dqb_curspace: ::uint64_t,
|
||||
pub dqb_ihardlimit: ::uint64_t,
|
||||
pub dqb_isoftlimit: ::uint64_t,
|
||||
pub dqb_curinodes: ::uint64_t,
|
||||
pub dqb_btime: ::uint64_t,
|
||||
pub dqb_itime: ::uint64_t,
|
||||
pub dqb_valid: ::uint32_t,
|
||||
}
|
||||
|
||||
pub struct signalfd_siginfo {
|
||||
pub ssi_signo: ::uint32_t,
|
||||
pub ssi_errno: ::int32_t,
|
||||
pub ssi_code: ::int32_t,
|
||||
pub ssi_pid: ::uint32_t,
|
||||
pub ssi_uid: ::uint32_t,
|
||||
pub ssi_fd: ::int32_t,
|
||||
pub ssi_tid: ::uint32_t,
|
||||
pub ssi_band: ::uint32_t,
|
||||
pub ssi_overrun: ::uint32_t,
|
||||
pub ssi_trapno: ::uint32_t,
|
||||
pub ssi_status: ::int32_t,
|
||||
pub ssi_int: ::int32_t,
|
||||
pub ssi_ptr: ::uint64_t,
|
||||
pub ssi_utime: ::uint64_t,
|
||||
pub ssi_stime: ::uint64_t,
|
||||
pub ssi_addr: ::uint64_t,
|
||||
_pad: [::uint8_t; 48],
|
||||
}
|
||||
|
||||
pub struct fsid_t {
|
||||
__val: [::c_int; 2],
|
||||
}
|
||||
|
||||
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 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,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
pub const ABDAY_1: ::nl_item = 0x20000;
|
||||
pub const ABDAY_2: ::nl_item = 0x20001;
|
||||
pub const ABDAY_3: ::nl_item = 0x20002;
|
||||
pub const ABDAY_4: ::nl_item = 0x20003;
|
||||
pub const ABDAY_5: ::nl_item = 0x20004;
|
||||
pub const ABDAY_6: ::nl_item = 0x20005;
|
||||
pub const ABDAY_7: ::nl_item = 0x20006;
|
||||
|
||||
pub const DAY_1: ::nl_item = 0x20007;
|
||||
pub const DAY_2: ::nl_item = 0x20008;
|
||||
pub const DAY_3: ::nl_item = 0x20009;
|
||||
pub const DAY_4: ::nl_item = 0x2000A;
|
||||
pub const DAY_5: ::nl_item = 0x2000B;
|
||||
pub const DAY_6: ::nl_item = 0x2000C;
|
||||
pub const DAY_7: ::nl_item = 0x2000D;
|
||||
|
||||
pub const ABMON_1: ::nl_item = 0x2000E;
|
||||
pub const ABMON_2: ::nl_item = 0x2000F;
|
||||
pub const ABMON_3: ::nl_item = 0x20010;
|
||||
pub const ABMON_4: ::nl_item = 0x20011;
|
||||
pub const ABMON_5: ::nl_item = 0x20012;
|
||||
pub const ABMON_6: ::nl_item = 0x20013;
|
||||
pub const ABMON_7: ::nl_item = 0x20014;
|
||||
pub const ABMON_8: ::nl_item = 0x20015;
|
||||
pub const ABMON_9: ::nl_item = 0x20016;
|
||||
pub const ABMON_10: ::nl_item = 0x20017;
|
||||
pub const ABMON_11: ::nl_item = 0x20018;
|
||||
pub const ABMON_12: ::nl_item = 0x20019;
|
||||
|
||||
pub const MON_1: ::nl_item = 0x2001A;
|
||||
pub const MON_2: ::nl_item = 0x2001B;
|
||||
pub const MON_3: ::nl_item = 0x2001C;
|
||||
pub const MON_4: ::nl_item = 0x2001D;
|
||||
pub const MON_5: ::nl_item = 0x2001E;
|
||||
pub const MON_6: ::nl_item = 0x2001F;
|
||||
pub const MON_7: ::nl_item = 0x20020;
|
||||
pub const MON_8: ::nl_item = 0x20021;
|
||||
pub const MON_9: ::nl_item = 0x20022;
|
||||
pub const MON_10: ::nl_item = 0x20023;
|
||||
pub const MON_11: ::nl_item = 0x20024;
|
||||
pub const MON_12: ::nl_item = 0x20025;
|
||||
|
||||
pub const AM_STR: ::nl_item = 0x20026;
|
||||
pub const PM_STR: ::nl_item = 0x20027;
|
||||
|
||||
pub const D_T_FMT: ::nl_item = 0x20028;
|
||||
pub const D_FMT: ::nl_item = 0x20029;
|
||||
pub const T_FMT: ::nl_item = 0x2002A;
|
||||
pub const T_FMT_AMPM: ::nl_item = 0x2002B;
|
||||
|
||||
pub const ERA: ::nl_item = 0x2002C;
|
||||
pub const ERA_D_FMT: ::nl_item = 0x2002E;
|
||||
pub const ALT_DIGITS: ::nl_item = 0x2002F;
|
||||
pub const ERA_D_T_FMT: ::nl_item = 0x20030;
|
||||
pub const ERA_T_FMT: ::nl_item = 0x20031;
|
||||
|
||||
pub const CODESET: ::nl_item = 14;
|
||||
|
||||
pub const CRNCYSTR: ::nl_item = 0x4000F;
|
||||
|
||||
pub const RADIXCHAR: ::nl_item = 0x10000;
|
||||
pub const THOUSEP: ::nl_item = 0x10001;
|
||||
|
||||
pub const YESEXPR: ::nl_item = 0x50000;
|
||||
pub const NOEXPR: ::nl_item = 0x50001;
|
||||
pub const YESSTR: ::nl_item = 0x50002;
|
||||
pub const NOSTR: ::nl_item = 0x50003;
|
||||
|
||||
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 _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;
|
||||
|
||||
pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
|
||||
__align: [],
|
||||
size: [0; __SIZEOF_PTHREAD_MUTEX_T],
|
||||
};
|
||||
pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t {
|
||||
__align: [],
|
||||
size: [0; __SIZEOF_PTHREAD_COND_T],
|
||||
};
|
||||
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
|
||||
__align: [],
|
||||
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;
|
||||
|
||||
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 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 EPOLLONESHOT: ::c_int = 0x40000000;
|
||||
|
||||
pub const QFMT_VFS_OLD: ::c_int = 1;
|
||||
pub const QFMT_VFS_V0: ::c_int = 2;
|
||||
|
||||
pub const SFD_CLOEXEC: ::c_int = 0x080000;
|
||||
|
||||
pub const EFD_SEMAPHORE: ::c_int = 0x1;
|
||||
|
||||
pub const NCCS: usize = 32;
|
||||
|
||||
pub const AF_NETLINK: ::c_int = 16;
|
||||
|
||||
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 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;
|
||||
|
||||
f! {
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
extern {
|
||||
pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int;
|
||||
|
||||
pub fn setpwent();
|
||||
pub fn getpwent() -> *mut passwd;
|
||||
pub fn shm_open(name: *const c_char, oflag: ::c_int,
|
||||
mode: mode_t) -> ::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;
|
||||
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 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 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 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,
|
||||
msq_prio: *mut ::c_uint) -> ::ssize_t;
|
||||
pub fn mq_send(mqd: ::mqd_t,
|
||||
msg_ptr: *const ::c_char,
|
||||
msg_len: ::size_t,
|
||||
msq_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 dup3(oldfd: ::c_int, newfd: ::c_int, flags: ::c_int) -> ::c_int;
|
||||
pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::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 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 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 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 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;
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(any(target_env = "musl",
|
||||
target_os = "emscripten"))] {
|
||||
mod musl;
|
||||
pub use self::musl::*;
|
||||
} else if #[cfg(any(target_arch = "mips", target_arch = "mipsel"))] {
|
||||
mod mips;
|
||||
pub use self::mips::*;
|
||||
} else if #[cfg(any(target_arch = "s390x"))] {
|
||||
mod s390x;
|
||||
pub use self::s390x::*;
|
||||
} else if #[cfg(any(target_arch = "mips64"))] {
|
||||
mod mips64;
|
||||
pub use self::mips64::*;
|
||||
} else {
|
||||
mod other;
|
||||
pub use self::other::*;
|
||||
}
|
||||
}
|
||||
321
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/arm.rs
vendored
Normal file
321
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/arm.rs
vendored
Normal file
|
|
@ -0,0 +1,321 @@
|
|||
pub 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 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 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 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 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 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;
|
||||
pub const SYS_perf_event_open: ::c_long = 364;
|
||||
|
||||
pub const POSIX_MADV_DONTNEED: ::c_int = 0;
|
||||
pub const RUSAGE_CHILDREN: ::c_int = 1;
|
||||
pub const POLLWRNORM: ::c_short = 0x100;
|
||||
pub const POLLWRBAND: ::c_short = 0x200;
|
||||
320
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/asmjs.rs
vendored
Normal file
320
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/asmjs.rs
vendored
Normal file
|
|
@ -0,0 +1,320 @@
|
|||
pub 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 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 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 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 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 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 POSIX_MADV_DONTNEED: ::c_int = 0;
|
||||
pub const RUSAGE_CHILDREN: ::c_int = 1;
|
||||
pub const POLLWRNORM: ::c_short = 0x100;
|
||||
pub const POLLWRBAND: ::c_short = 0x200;
|
||||
320
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/mips.rs
vendored
Normal file
320
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/mips.rs
vendored
Normal file
|
|
@ -0,0 +1,320 @@
|
|||
pub 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 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 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 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 FIOCLEX: ::c_int = 0x6601;
|
||||
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 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 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_TYPE: ::c_int = 0x1008;
|
||||
pub const SO_ERROR: ::c_int = 0x1007;
|
||||
pub const SO_DONTROUTE: ::c_int = 0x0010;
|
||||
pub const SO_BROADCAST: ::c_int = 0x0020;
|
||||
pub const SO_SNDBUF: ::c_int = 0x1001;
|
||||
pub const SO_RCVBUF: ::c_int = 0x1002;
|
||||
pub const SO_KEEPALIVE: ::c_int = 0x0008;
|
||||
pub const SO_OOBINLINE: ::c_int = 0x0100;
|
||||
pub const SO_LINGER: ::c_int = 0x0080;
|
||||
pub const SO_REUSEPORT: ::c_int = 0x200;
|
||||
pub const SO_RCVLOWAT: ::c_int = 0x1004;
|
||||
pub const SO_SNDLOWAT: ::c_int = 0x1003;
|
||||
pub const SO_RCVTIMEO: ::c_int = 0x1006;
|
||||
pub const SO_SNDTIMEO: ::c_int = 0x1005;
|
||||
pub const SO_ACCEPTCONN: ::c_int = 0x1009;
|
||||
|
||||
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 SYS_gettid: ::c_long = 4222; // Valid for O32
|
||||
pub const SYS_perf_event_open: ::c_long = 4333; // Valid for O32
|
||||
|
||||
pub const POSIX_MADV_DONTNEED: ::c_int = 4;
|
||||
pub const RUSAGE_CHILDREN: ::c_int = !0;
|
||||
pub const POLLWRNORM: ::c_short = 0x4;
|
||||
pub const POLLWRBAND: ::c_short = 0x100;
|
||||
50
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/mod.rs
vendored
Normal file
50
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
pub type c_long = i32;
|
||||
pub type c_ulong = u32;
|
||||
pub type nlink_t = u32;
|
||||
|
||||
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 sem_t {
|
||||
__val: [::c_int; 4],
|
||||
}
|
||||
}
|
||||
|
||||
pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32;
|
||||
pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 24;
|
||||
|
||||
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 = "asmjs", target_arch = "wasm32"))] {
|
||||
// For the time being asmjs and wasm32 are the same, and both
|
||||
// backed by identical emscripten runtimes
|
||||
mod asmjs;
|
||||
pub use self::asmjs::*;
|
||||
} else {
|
||||
// Unknown target_arch
|
||||
}
|
||||
}
|
||||
335
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/x86.rs
vendored
Normal file
335
third_party/rust/libc/src/unix/notbsd/linux/musl/b32/x86.rs
vendored
Normal file
|
|
@ -0,0 +1,335 @@
|
|||
pub 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 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 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 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],
|
||||
}
|
||||
|
||||
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 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 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 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 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 SYS_gettid: ::c_long = 224;
|
||||
pub const SYS_perf_event_open: ::c_long = 336;
|
||||
|
||||
pub const POSIX_MADV_DONTNEED: ::c_int = 0;
|
||||
pub const RUSAGE_CHILDREN: ::c_int = 1;
|
||||
pub const POLLWRNORM: ::c_short = 0x100;
|
||||
pub const POLLWRBAND: ::c_short = 0x200;
|
||||
3
third_party/rust/libc/src/unix/notbsd/linux/musl/b64/aarch64.rs
vendored
Normal file
3
third_party/rust/libc/src/unix/notbsd/linux/musl/b64/aarch64.rs
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
pub type c_char = u8;
|
||||
|
||||
pub const SYS_perf_event_open: ::c_long = 241;
|
||||
358
third_party/rust/libc/src/unix/notbsd/linux/musl/b64/mod.rs
vendored
Normal file
358
third_party/rust/libc/src/unix/notbsd/linux/musl/b64/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,358 @@
|
|||
pub type wchar_t = i32;
|
||||
pub type c_long = i64;
|
||||
pub type c_ulong = u64;
|
||||
pub type nlink_t = u64;
|
||||
|
||||
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 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 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 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 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 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 MAP_32BIT: ::c_int = 0x0040;
|
||||
|
||||
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 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 = 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 POSIX_MADV_DONTNEED: ::c_int = 0;
|
||||
pub const RUSAGE_CHILDREN: ::c_int = 1;
|
||||
pub const POLLWRNORM: ::c_short = 0x100;
|
||||
pub const POLLWRBAND: ::c_short = 0x200;
|
||||
|
||||
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 = "x86_64"))] {
|
||||
mod x86_64;
|
||||
pub use self::x86_64::*;
|
||||
} else {
|
||||
// Unknown target_arch
|
||||
}
|
||||
}
|
||||
3
third_party/rust/libc/src/unix/notbsd/linux/musl/b64/powerpc64.rs
vendored
Normal file
3
third_party/rust/libc/src/unix/notbsd/linux/musl/b64/powerpc64.rs
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
pub type c_char = u8;
|
||||
|
||||
pub const SYS_perf_event_open: ::c_long = 319;
|
||||
20
third_party/rust/libc/src/unix/notbsd/linux/musl/b64/x86_64.rs
vendored
Normal file
20
third_party/rust/libc/src/unix/notbsd/linux/musl/b64/x86_64.rs
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
pub type c_char = i8;
|
||||
|
||||
s! {
|
||||
pub struct mcontext_t {
|
||||
__private: [u64; 32],
|
||||
}
|
||||
|
||||
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],
|
||||
}
|
||||
}
|
||||
|
||||
pub const SYS_gettid: ::c_long = 186;
|
||||
|
||||
pub const SYS_perf_event_open: ::c_long = 298;
|
||||
243
third_party/rust/libc/src/unix/notbsd/linux/musl/mod.rs
vendored
Normal file
243
third_party/rust/libc/src/unix/notbsd/linux/musl/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,243 @@
|
|||
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 blksize_t = c_long;
|
||||
pub type fsblkcnt_t = ::c_ulonglong;
|
||||
pub type fsfilcnt_t = ::c_ulonglong;
|
||||
pub type rlim_t = ::c_ulonglong;
|
||||
|
||||
s! {
|
||||
pub struct sigaction {
|
||||
pub sa_sigaction: ::sighandler_t,
|
||||
pub sa_mask: ::sigset_t,
|
||||
pub sa_flags: ::c_int,
|
||||
_restorer: *mut ::c_void,
|
||||
}
|
||||
|
||||
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 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 const BUFSIZ: ::c_uint = 1024;
|
||||
pub const TMP_MAX: ::c_uint = 10000;
|
||||
pub const FOPEN_MAX: ::c_uint = 1000;
|
||||
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 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 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 FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
|
||||
pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02;
|
||||
|
||||
pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
|
||||
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
|
||||
|
||||
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 PTRACE_O_EXITKILL: ::c_int = 1048576;
|
||||
pub const PTRACE_O_TRACECLONE: ::c_int = 8;
|
||||
pub const PTRACE_O_TRACEEXEC: ::c_int = 16;
|
||||
pub const PTRACE_O_TRACEEXIT: ::c_int = 64;
|
||||
pub const PTRACE_O_TRACEFORK: ::c_int = 2;
|
||||
pub const PTRACE_O_TRACESYSGOOD: ::c_int = 1;
|
||||
pub const PTRACE_O_TRACEVFORK: ::c_int = 4;
|
||||
pub const PTRACE_O_TRACEVFORKDONE: ::c_int = 32;
|
||||
pub const PTRACE_O_SUSPEND_SECCOMP: ::c_int = 2097152;
|
||||
|
||||
pub const MADV_DODUMP: ::c_int = 17;
|
||||
pub const MADV_DONTDUMP: ::c_int = 16;
|
||||
|
||||
pub const EPOLLWAKEUP: ::c_int = 0x20000000;
|
||||
|
||||
pub const POLLRDNORM: ::c_short = 0x040;
|
||||
pub const POLLRDBAND: ::c_short = 0x080;
|
||||
|
||||
pub const MADV_HUGEPAGE: ::c_int = 14;
|
||||
pub const MADV_NOHUGEPAGE: ::c_int = 15;
|
||||
|
||||
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 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 SIGSTKSZ: ::size_t = 8192;
|
||||
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;
|
||||
|
||||
extern {
|
||||
pub fn ioctl(fd: ::c_int, request: ::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;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(any(target_arch = "x86_64"))] {
|
||||
mod b64;
|
||||
pub use self::b64::*;
|
||||
} else if #[cfg(any(target_arch = "x86",
|
||||
target_arch = "mips",
|
||||
target_arch = "arm",
|
||||
target_arch = "asmjs",
|
||||
target_arch = "wasm32"))] {
|
||||
mod b32;
|
||||
pub use self::b32::*;
|
||||
} else { }
|
||||
}
|
||||
151
third_party/rust/libc/src/unix/notbsd/linux/other/b32/arm.rs
vendored
Normal file
151
third_party/rust/libc/src/unix/notbsd/linux/other/b32/arm.rs
vendored
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
pub type c_char = u8;
|
||||
pub type wchar_t = u32;
|
||||
|
||||
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,
|
||||
__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 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 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 EDEADLOCK: ::c_int = 35;
|
||||
|
||||
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 FIOCLEX: ::c_ulong = 0x5451;
|
||||
pub const FIONBIO: ::c_ulong = 0x5421;
|
||||
|
||||
pub const SYS_gettid: ::c_long = 224;
|
||||
pub const SYS_perf_event_open: ::c_long = 364;
|
||||
|
||||
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 SIGSTKSZ: ::size_t = 8192;
|
||||
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 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;
|
||||
89
third_party/rust/libc/src/unix/notbsd/linux/other/b32/mod.rs
vendored
Normal file
89
third_party/rust/libc/src/unix/notbsd/linux/other/b32/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
//! 32-bit specific definitions for linux-like values
|
||||
|
||||
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 __fsword_t = i32;
|
||||
|
||||
pub type blksize_t = i32;
|
||||
pub type nlink_t = u32;
|
||||
|
||||
s! {
|
||||
pub struct stat {
|
||||
pub st_dev: ::dev_t,
|
||||
__pad1: ::c_short,
|
||||
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_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,
|
||||
__unused4: ::c_long,
|
||||
__unused5: ::c_long,
|
||||
}
|
||||
|
||||
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,
|
||||
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 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;
|
||||
|
||||
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 = "powerpc")] {
|
||||
mod powerpc;
|
||||
pub use self::powerpc::*;
|
||||
} else {
|
||||
// Unknown target_arch
|
||||
}
|
||||
}
|
||||
148
third_party/rust/libc/src/unix/notbsd/linux/other/b32/powerpc.rs
vendored
Normal file
148
third_party/rust/libc/src/unix/notbsd/linux/other/b32/powerpc.rs
vendored
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
pub type c_char = u8;
|
||||
pub type wchar_t = i32;
|
||||
|
||||
s! {
|
||||
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: ::uint32_t,
|
||||
__pad1: ::uint32_t,
|
||||
__glibc_reserved1: ::uint64_t,
|
||||
__glibc_reserved2: ::uint64_t,
|
||||
}
|
||||
|
||||
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 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 const O_DIRECT: ::c_int = 0x20000;
|
||||
pub const O_DIRECTORY: ::c_int = 0x4000;
|
||||
pub const O_NOFOLLOW: ::c_int = 0x8000;
|
||||
|
||||
pub const MAP_LOCKED: ::c_int = 0x00080;
|
||||
pub const MAP_NORESERVE: ::c_int = 0x00040;
|
||||
|
||||
pub const EDEADLOCK: ::c_int = 58;
|
||||
|
||||
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 FIOCLEX: ::c_ulong = 0x20006601;
|
||||
pub const FIONBIO: ::c_ulong = 0x8004667e;
|
||||
|
||||
pub const SYS_gettid: ::c_long = 207;
|
||||
pub const SYS_perf_event_open: ::c_long = 319;
|
||||
|
||||
pub const MCL_CURRENT: ::c_int = 0x2000;
|
||||
pub const MCL_FUTURE: ::c_int = 0x4000;
|
||||
|
||||
pub const SIGSTKSZ: ::size_t = 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 = 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 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;
|
||||
196
third_party/rust/libc/src/unix/notbsd/linux/other/b32/x86.rs
vendored
Normal file
196
third_party/rust/libc/src/unix/notbsd/linux/other/b32/x86.rs
vendored
Normal file
|
|
@ -0,0 +1,196 @@
|
|||
pub type c_char = i8;
|
||||
pub type wchar_t = i32;
|
||||
pub type greg_t = i32;
|
||||
|
||||
s! {
|
||||
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 mcontext_t {
|
||||
pub gregs: [greg_t; 19],
|
||||
pub fpregs: *mut _libc_fpstate,
|
||||
pub oldmask: ::c_ulong,
|
||||
pub cr2: ::c_ulong,
|
||||
}
|
||||
|
||||
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],
|
||||
}
|
||||
|
||||
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 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 const O_DIRECT: ::c_int = 0x4000;
|
||||
pub const O_DIRECTORY: ::c_int = 0x10000;
|
||||
pub const O_NOFOLLOW: ::c_int = 0x20000;
|
||||
|
||||
pub const MAP_LOCKED: ::c_int = 0x02000;
|
||||
pub const MAP_NORESERVE: ::c_int = 0x04000;
|
||||
pub const MAP_32BIT: ::c_int = 0x0040;
|
||||
|
||||
pub const EDEADLOCK: ::c_int = 35;
|
||||
|
||||
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 FIOCLEX: ::c_ulong = 0x5451;
|
||||
pub const FIONBIO: ::c_ulong = 0x5421;
|
||||
|
||||
pub const SYS_gettid: ::c_long = 224;
|
||||
pub const SYS_perf_event_open: ::c_long = 336;
|
||||
|
||||
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 SIGSTKSZ: ::size_t = 8192;
|
||||
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 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;
|
||||
|
||||
extern {
|
||||
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 fn (),
|
||||
argc: ::c_int, ...);
|
||||
pub fn swapcontext(uocp: *mut ucontext_t,
|
||||
ucp: *const ucontext_t) -> ::c_int;
|
||||
}
|
||||
179
third_party/rust/libc/src/unix/notbsd/linux/other/b64/aarch64.rs
vendored
Normal file
179
third_party/rust/libc/src/unix/notbsd/linux/other/b64/aarch64.rs
vendored
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
//! AArch64-specific definitions for 64-bit linux-like values
|
||||
|
||||
pub type c_char = u8;
|
||||
pub type wchar_t = u32;
|
||||
pub type nlink_t = u32;
|
||||
pub type blksize_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,
|
||||
__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 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_ushort,
|
||||
__pad1: ::c_ushort,
|
||||
pub __seq: ::c_ushort,
|
||||
__pad2: ::c_ushort,
|
||||
__unused1: ::c_ulong,
|
||||
__unused2: ::c_ulong
|
||||
}
|
||||
|
||||
pub struct shmid_ds {
|
||||
pub shm_perm: ::ipc_perm,
|
||||
pub shm_segsz: ::size_t,
|
||||
pub shm_atime: ::time_t,
|
||||
pub shm_dtime: ::time_t,
|
||||
pub shm_ctime: ::time_t,
|
||||
pub shm_cpid: ::pid_t,
|
||||
pub shm_lpid: ::pid_t,
|
||||
pub shm_nattch: ::shmatt_t,
|
||||
__unused4: ::c_ulong,
|
||||
__unused5: ::c_ulong
|
||||
}
|
||||
}
|
||||
|
||||
pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 8;
|
||||
pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 48;
|
||||
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 8;
|
||||
|
||||
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 EDEADLOCK: ::c_int = 35;
|
||||
|
||||
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 FIOCLEX: ::c_ulong = 0x5451;
|
||||
pub const FIONBIO: ::c_ulong = 0x5421;
|
||||
|
||||
pub const SYS_gettid: ::c_long = 178;
|
||||
pub const SYS_perf_event_open: ::c_long = 241;
|
||||
|
||||
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: ::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 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;
|
||||
51
third_party/rust/libc/src/unix/notbsd/linux/other/b64/mod.rs
vendored
Normal file
51
third_party/rust/libc/src/unix/notbsd/linux/other/b64/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
//! 64-bit specific definitions for linux-like values
|
||||
|
||||
pub type c_long = i64;
|
||||
pub type c_ulong = u64;
|
||||
pub type clock_t = i64;
|
||||
pub type time_t = i64;
|
||||
pub type suseconds_t = i64;
|
||||
pub type ino_t = u64;
|
||||
pub type off_t = i64;
|
||||
pub type blkcnt_t = i64;
|
||||
pub type __fsword_t = ::c_long;
|
||||
|
||||
s! {
|
||||
pub struct sigset_t {
|
||||
__val: [::c_ulong; 16],
|
||||
}
|
||||
|
||||
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_RWLOCK_T: usize = 56;
|
||||
|
||||
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 = "x86_64"))] {
|
||||
mod x86_64;
|
||||
pub use self::x86_64::*;
|
||||
} else {
|
||||
// Unknown target_arch
|
||||
}
|
||||
}
|
||||
176
third_party/rust/libc/src/unix/notbsd/linux/other/b64/powerpc64.rs
vendored
Normal file
176
third_party/rust/libc/src/unix/notbsd/linux/other/b64/powerpc64.rs
vendored
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
//! PowerPC64-specific definitions for 64-bit linux-like values
|
||||
|
||||
pub type c_char = u8;
|
||||
pub type wchar_t = i32;
|
||||
pub type nlink_t = u64;
|
||||
pub type blksize_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: ::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 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: ::uint32_t,
|
||||
__pad1: ::uint32_t,
|
||||
__unused1: ::uint64_t,
|
||||
__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 const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
|
||||
pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
|
||||
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
|
||||
|
||||
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 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 FIOCLEX: ::c_ulong = 0x20006601;
|
||||
pub const FIONBIO: ::c_ulong = 0x8004667e;
|
||||
|
||||
pub const SYS_gettid: ::c_long = 207;
|
||||
pub const SYS_perf_event_open: ::c_long = 319;
|
||||
|
||||
pub const MCL_CURRENT: ::c_int = 0x2000;
|
||||
pub const MCL_FUTURE: ::c_int = 0x4000;
|
||||
|
||||
pub const SIGSTKSZ: ::size_t = 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 = 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 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;
|
||||
235
third_party/rust/libc/src/unix/notbsd/linux/other/b64/x86_64.rs
vendored
Normal file
235
third_party/rust/libc/src/unix/notbsd/linux/other/b64/x86_64.rs
vendored
Normal file
|
|
@ -0,0 +1,235 @@
|
|||
//! 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;
|
||||
|
||||
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 pthread_attr_t {
|
||||
__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 mcontext_t {
|
||||
pub gregs: [greg_t; 23],
|
||||
pub fpregs: *mut _libc_fpstate,
|
||||
__private: [u64; 8],
|
||||
}
|
||||
|
||||
pub struct ucontext_t {
|
||||
pub uc_flags: ::c_ulong,
|
||||
pub uc_link: *mut ucontext_t,
|
||||
pub uc_stack: ::stack_t,
|
||||
pub uc_mcontext: mcontext_t,
|
||||
pub uc_sigmask: ::sigset_t,
|
||||
__private: [u8; 512],
|
||||
}
|
||||
|
||||
pub struct ipc_perm {
|
||||
pub __key: ::key_t,
|
||||
pub uid: ::uid_t,
|
||||
pub gid: ::gid_t,
|
||||
pub cuid: ::uid_t,
|
||||
pub cgid: ::gid_t,
|
||||
pub mode: ::c_ushort,
|
||||
__pad1: ::c_ushort,
|
||||
pub __seq: ::c_ushort,
|
||||
__pad2: ::c_ushort,
|
||||
__unused1: ::c_ulong,
|
||||
__unused2: ::c_ulong
|
||||
}
|
||||
|
||||
pub struct shmid_ds {
|
||||
pub shm_perm: ::ipc_perm,
|
||||
pub shm_segsz: ::size_t,
|
||||
pub shm_atime: ::time_t,
|
||||
pub shm_dtime: ::time_t,
|
||||
pub shm_ctime: ::time_t,
|
||||
pub shm_cpid: ::pid_t,
|
||||
pub shm_lpid: ::pid_t,
|
||||
pub shm_nattch: ::shmatt_t,
|
||||
__unused4: ::c_ulong,
|
||||
__unused5: ::c_ulong
|
||||
}
|
||||
}
|
||||
|
||||
pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
|
||||
pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
|
||||
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_LOCKED: ::c_int = 0x02000;
|
||||
pub const MAP_NORESERVE: ::c_int = 0x04000;
|
||||
pub const MAP_32BIT: ::c_int = 0x0040;
|
||||
|
||||
pub const EDEADLOCK: ::c_int = 35;
|
||||
|
||||
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 FIOCLEX: ::c_ulong = 0x5451;
|
||||
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 SYS_gettid: ::c_long = 186;
|
||||
pub const SYS_perf_event_open: ::c_long = 298;
|
||||
|
||||
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: ::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 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;
|
||||
|
||||
extern {
|
||||
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 fn (),
|
||||
argc: ::c_int, ...);
|
||||
pub fn swapcontext(uocp: *mut ucontext_t,
|
||||
ucp: *const ucontext_t) -> ::c_int;
|
||||
}
|
||||
559
third_party/rust/libc/src/unix/notbsd/linux/other/mod.rs
vendored
Normal file
559
third_party/rust/libc/src/unix/notbsd/linux/other/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,559 @@
|
|||
pub type fsblkcnt_t = ::c_ulong;
|
||||
pub type fsfilcnt_t = ::c_ulong;
|
||||
pub type rlim_t = c_ulong;
|
||||
pub type __priority_which_t = ::c_uint;
|
||||
|
||||
s! {
|
||||
pub struct __exit_status {
|
||||
pub e_termination: ::c_short,
|
||||
pub e_exit: ::c_short,
|
||||
}
|
||||
|
||||
pub struct __timeval {
|
||||
pub tv_sec: ::int32_t,
|
||||
pub tv_usec: ::int32_t,
|
||||
}
|
||||
|
||||
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_pointer_width = "32"))]
|
||||
pub ut_session: ::c_long,
|
||||
#[cfg(any(target_arch = "aarch64", target_pointer_width = "32"))]
|
||||
pub ut_tv: ::timeval,
|
||||
|
||||
#[cfg(not(any(target_arch = "aarch64", target_pointer_width = "32")))]
|
||||
pub ut_session: ::int32_t,
|
||||
#[cfg(not(any(target_arch = "aarch64", target_pointer_width = "32")))]
|
||||
pub ut_tv: __timeval,
|
||||
|
||||
pub ut_addr_v6: [::int32_t; 4],
|
||||
__glibc_reserved: [::c_char; 20],
|
||||
}
|
||||
|
||||
pub struct sigaction {
|
||||
pub sa_sigaction: ::sighandler_t,
|
||||
pub sa_mask: ::sigset_t,
|
||||
pub sa_flags: ::c_int,
|
||||
_restorer: *mut ::c_void,
|
||||
}
|
||||
|
||||
pub struct stack_t {
|
||||
pub ss_sp: *mut ::c_void,
|
||||
pub ss_flags: ::c_int,
|
||||
pub ss_size: ::size_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],
|
||||
_align: [usize; 0],
|
||||
}
|
||||
|
||||
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 ucred {
|
||||
pub pid: ::pid_t,
|
||||
pub uid: ::uid_t,
|
||||
pub gid: ::gid_t,
|
||||
}
|
||||
|
||||
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 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 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,
|
||||
}
|
||||
|
||||
// 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],
|
||||
}
|
||||
}
|
||||
|
||||
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 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 RLIM_INFINITY: ::rlim_t = !0;
|
||||
pub const RLIMIT_RTTIME: ::c_int = 15;
|
||||
pub const RLIMIT_NLIMITS: ::c_int = 16;
|
||||
|
||||
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 SOCK_NONBLOCK: ::c_int = O_NONBLOCK;
|
||||
|
||||
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_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 EOVERFLOW: ::c_int = 75;
|
||||
pub const ENOTUNIQ: ::c_int = 76;
|
||||
pub const EBADFD: ::c_int = 77;
|
||||
pub const EBADMSG: ::c_int = 74;
|
||||
pub const EREMCHG: ::c_int = 78;
|
||||
pub const ELIBACC: ::c_int = 79;
|
||||
pub const ELIBBAD: ::c_int = 80;
|
||||
pub const ELIBSCN: ::c_int = 81;
|
||||
pub const ELIBMAX: ::c_int = 82;
|
||||
pub const ELIBEXEC: ::c_int = 83;
|
||||
pub const EILSEQ: ::c_int = 84;
|
||||
pub const ERESTART: ::c_int = 85;
|
||||
pub const ESTRPIPE: ::c_int = 86;
|
||||
pub const EUSERS: ::c_int = 87;
|
||||
pub const ENOTSOCK: ::c_int = 88;
|
||||
pub const EDESTADDRREQ: ::c_int = 89;
|
||||
pub const EMSGSIZE: ::c_int = 90;
|
||||
pub const EPROTOTYPE: ::c_int = 91;
|
||||
pub const ENOPROTOOPT: ::c_int = 92;
|
||||
pub const EPROTONOSUPPORT: ::c_int = 93;
|
||||
pub const ESOCKTNOSUPPORT: ::c_int = 94;
|
||||
pub const EOPNOTSUPP: ::c_int = 95;
|
||||
pub const EPFNOSUPPORT: ::c_int = 96;
|
||||
pub const EAFNOSUPPORT: ::c_int = 97;
|
||||
pub const EADDRINUSE: ::c_int = 98;
|
||||
pub const EADDRNOTAVAIL: ::c_int = 99;
|
||||
pub const ENETDOWN: ::c_int = 100;
|
||||
pub const ENETUNREACH: ::c_int = 101;
|
||||
pub const ENETRESET: ::c_int = 102;
|
||||
pub const ECONNABORTED: ::c_int = 103;
|
||||
pub const ECONNRESET: ::c_int = 104;
|
||||
pub const ENOBUFS: ::c_int = 105;
|
||||
pub const EISCONN: ::c_int = 106;
|
||||
pub const ENOTCONN: ::c_int = 107;
|
||||
pub const ESHUTDOWN: ::c_int = 108;
|
||||
pub const ETOOMANYREFS: ::c_int = 109;
|
||||
pub const ETIMEDOUT: ::c_int = 110;
|
||||
pub const ECONNREFUSED: ::c_int = 111;
|
||||
pub const EHOSTDOWN: ::c_int = 112;
|
||||
pub const EHOSTUNREACH: ::c_int = 113;
|
||||
pub const EALREADY: ::c_int = 114;
|
||||
pub const EINPROGRESS: ::c_int = 115;
|
||||
pub const ESTALE: ::c_int = 116;
|
||||
pub const EUCLEAN: ::c_int = 117;
|
||||
pub const ENOTNAM: ::c_int = 118;
|
||||
pub const ENAVAIL: ::c_int = 119;
|
||||
pub const EISNAM: ::c_int = 120;
|
||||
pub const EREMOTEIO: ::c_int = 121;
|
||||
pub const EDQUOT: ::c_int = 122;
|
||||
pub const ENOMEDIUM: ::c_int = 123;
|
||||
pub const EMEDIUMTYPE: ::c_int = 124;
|
||||
pub const ECANCELED: ::c_int = 125;
|
||||
pub const ENOKEY: ::c_int = 126;
|
||||
pub const EKEYEXPIRED: ::c_int = 127;
|
||||
pub const EKEYREVOKED: ::c_int = 128;
|
||||
pub const EKEYREJECTED: ::c_int = 129;
|
||||
pub const EOWNERDEAD: ::c_int = 130;
|
||||
pub const ENOTRECOVERABLE: ::c_int = 131;
|
||||
pub const EHWPOISON: ::c_int = 133;
|
||||
pub const ERFKILL: ::c_int = 132;
|
||||
|
||||
pub const 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 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 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 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 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 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 POLLRDNORM: ::c_short = 0x040;
|
||||
pub const POLLWRNORM: ::c_short = 0x100;
|
||||
pub const POLLRDBAND: ::c_short = 0x080;
|
||||
pub const POLLWRBAND: ::c_short = 0x200;
|
||||
|
||||
pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
|
||||
pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02;
|
||||
|
||||
pub const BUFSIZ: ::c_uint = 8192;
|
||||
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 RUSAGE_THREAD: ::c_int = 1;
|
||||
pub const O_ACCMODE: ::c_int = 3;
|
||||
pub const O_ASYNC: ::c_int = 0x2000;
|
||||
pub const O_NDELAY: ::c_int = 0x800;
|
||||
pub const RUSAGE_CHILDREN: ::c_int = -1;
|
||||
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 VEOF: usize = 4;
|
||||
pub const IUTF8: ::tcflag_t = 0x00004000;
|
||||
|
||||
pub const CPU_SETSIZE: ::c_int = 0x400;
|
||||
|
||||
pub const QFMT_VFS_V1: ::c_int = 4;
|
||||
|
||||
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_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 MADV_DODUMP: ::c_int = 17;
|
||||
pub const MADV_DONTDUMP: ::c_int = 16;
|
||||
|
||||
pub const EPOLLWAKEUP: ::c_int = 0x20000000;
|
||||
|
||||
pub const MADV_HUGEPAGE: ::c_int = 14;
|
||||
pub const MADV_NOHUGEPAGE: ::c_int = 15;
|
||||
pub const MAP_HUGETLB: ::c_int = 0x040000;
|
||||
|
||||
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 SEEK_DATA: ::c_int = 3;
|
||||
pub const SEEK_HOLE: ::c_int = 4;
|
||||
|
||||
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 TIOCGSOFTCAR: ::c_ulong = 0x5419;
|
||||
pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
|
||||
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 RTLD_DEEPBIND: ::c_int = 0x8;
|
||||
pub const RTLD_GLOBAL: ::c_int = 0x100;
|
||||
pub const RTLD_NOLOAD: ::c_int = 0x4;
|
||||
|
||||
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;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(any(target_arch = "arm", target_arch = "x86",
|
||||
target_arch = "x86_64"))] {
|
||||
pub const PTHREAD_STACK_MIN: ::size_t = 16384;
|
||||
} else {
|
||||
pub const PTHREAD_STACK_MIN: ::size_t = 131072;
|
||||
}
|
||||
}
|
||||
|
||||
extern {
|
||||
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();
|
||||
}
|
||||
|
||||
#[link(name = "util")]
|
||||
extern {
|
||||
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: ::dox::Option<extern 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 sched_getcpu() -> ::c_int;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(any(target_arch = "x86",
|
||||
target_arch = "arm",
|
||||
target_arch = "powerpc"))] {
|
||||
mod b32;
|
||||
pub use self::b32::*;
|
||||
} else if #[cfg(any(target_arch = "x86_64",
|
||||
target_arch = "aarch64",
|
||||
target_arch = "powerpc64"))] {
|
||||
mod b64;
|
||||
pub use self::b64::*;
|
||||
} else {
|
||||
// Unknown target_arch
|
||||
}
|
||||
}
|
||||
667
third_party/rust/libc/src/unix/notbsd/linux/s390x.rs
vendored
Normal file
667
third_party/rust/libc/src/unix/notbsd/linux/s390x.rs
vendored
Normal file
|
|
@ -0,0 +1,667 @@
|
|||
pub type blkcnt_t = i64;
|
||||
pub type blksize_t = i64;
|
||||
pub type c_char = u8;
|
||||
pub type c_long = i64;
|
||||
pub type c_ulong = u64;
|
||||
pub type fsblkcnt_t = u64;
|
||||
pub type fsfilcnt_t = u64;
|
||||
pub type ino_t = u64;
|
||||
pub type nlink_t = u64;
|
||||
pub type off_t = i64;
|
||||
pub type rlim_t = u64;
|
||||
pub type suseconds_t = i64;
|
||||
pub type time_t = i64;
|
||||
pub type wchar_t = i32;
|
||||
pub type greg_t = u64;
|
||||
pub type clock_t = i64;
|
||||
pub type __fsword_t = ::c_long;
|
||||
pub type __priority_which_t = ::c_uint;
|
||||
|
||||
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,
|
||||
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 sigaction {
|
||||
pub sa_sigaction: ::sighandler_t,
|
||||
__glibc_reserved0: ::c_int,
|
||||
pub sa_flags: ::c_int,
|
||||
_restorer: *mut ::c_void,
|
||||
pub sa_mask: sigset_t,
|
||||
}
|
||||
|
||||
pub struct stack_t {
|
||||
pub ss_sp: *mut ::c_void,
|
||||
pub ss_flags: ::c_int,
|
||||
pub ss_size: ::size_t,
|
||||
}
|
||||
|
||||
pub struct sigset_t {
|
||||
__size: [::c_ulong; 16],
|
||||
}
|
||||
|
||||
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 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 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 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 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 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 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 ucred {
|
||||
pub pid: ::pid_t,
|
||||
pub uid: ::uid_t,
|
||||
pub gid: ::gid_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,
|
||||
}
|
||||
|
||||
// FIXME this is actually a union
|
||||
pub struct sem_t {
|
||||
__size: [::c_char; 32],
|
||||
__align: [::c_long; 0],
|
||||
}
|
||||
|
||||
pub struct __psw_t {
|
||||
pub mask: u64,
|
||||
pub addr: u64,
|
||||
}
|
||||
|
||||
// FIXME: This is actually a union.
|
||||
pub struct fpreg_t {
|
||||
pub d: ::c_double,
|
||||
// f: ::c_float,
|
||||
}
|
||||
|
||||
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 const POSIX_FADV_DONTNEED: ::c_int = 6;
|
||||
pub const POSIX_FADV_NOREUSE: ::c_int = 7;
|
||||
|
||||
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 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 FIONBIO: ::c_ulong = 0x5421;
|
||||
pub const MAP_ANON: ::c_int = 0x20;
|
||||
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_NONBLOCK: ::c_int = 2048;
|
||||
pub const PTHREAD_STACK_MIN: ::size_t = 16384;
|
||||
pub const RLIM_INFINITY: ::rlim_t = 0xffffffffffffffff;
|
||||
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 SIG_SETMASK: ::c_int = 2;
|
||||
pub const SOCK_DGRAM: ::c_int = 2;
|
||||
pub const SOCK_STREAM: ::c_int = 1;
|
||||
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 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_RTTIME: ::c_int = 15;
|
||||
pub const RLIMIT_NLIMITS: ::c_int = 16;
|
||||
|
||||
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 SOCK_NONBLOCK: ::c_int = O_NONBLOCK;
|
||||
|
||||
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_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 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 EUCLEAN: ::c_int = 117;
|
||||
pub const ENOTNAM: ::c_int = 118;
|
||||
pub const ENAVAIL: ::c_int = 119;
|
||||
pub const EISNAM: ::c_int = 120;
|
||||
pub const EREMOTEIO: ::c_int = 121;
|
||||
pub const EDQUOT: ::c_int = 122;
|
||||
pub const ENOMEDIUM: ::c_int = 123;
|
||||
pub const EMEDIUMTYPE: ::c_int = 124;
|
||||
pub const ECANCELED: ::c_int = 125;
|
||||
pub const ENOKEY: ::c_int = 126;
|
||||
pub const EKEYEXPIRED: ::c_int = 127;
|
||||
pub const EKEYREVOKED: ::c_int = 128;
|
||||
pub const EKEYREJECTED: ::c_int = 129;
|
||||
pub const EOWNERDEAD: ::c_int = 130;
|
||||
pub const ENOTRECOVERABLE: ::c_int = 131;
|
||||
pub const EHWPOISON: ::c_int = 133;
|
||||
pub const ERFKILL: ::c_int = 132;
|
||||
|
||||
pub const SOCK_SEQPACKET: ::c_int = 5;
|
||||
|
||||
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_LINGER: ::c_int = 13;
|
||||
pub const SO_REUSEPORT: ::c_int = 15;
|
||||
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 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 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;
|
||||
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_BLOCK: ::c_int = 0x000000;
|
||||
pub const SIG_UNBLOCK: ::c_int = 0x01;
|
||||
|
||||
pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
|
||||
pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02;
|
||||
|
||||
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_2_C_VERSION: ::c_int = 96;
|
||||
pub const RUSAGE_THREAD: ::c_int = 1;
|
||||
pub const O_ASYNC: ::c_int = 0x2000;
|
||||
pub const O_NDELAY: ::c_int = 0x800;
|
||||
pub const RUSAGE_CHILDREN: ::c_int = -1;
|
||||
pub const ST_RELATIME: ::c_ulong = 4096;
|
||||
pub const NI_MAXHOST: ::socklen_t = 1025;
|
||||
|
||||
pub const ADFS_SUPER_MAGIC: ::c_int = 0x0000adf5;
|
||||
pub const AFFS_SUPER_MAGIC: ::c_int = 0x0000adff;
|
||||
pub const CODA_SUPER_MAGIC: ::c_int = 0x73757245;
|
||||
pub const CRAMFS_MAGIC: ::c_int = 0x28cd3d45;
|
||||
pub const EFS_SUPER_MAGIC: ::c_int = 0x00414a53;
|
||||
pub const EXT2_SUPER_MAGIC: ::c_int = 0x0000ef53;
|
||||
pub const EXT3_SUPER_MAGIC: ::c_int = 0x0000ef53;
|
||||
pub const EXT4_SUPER_MAGIC: ::c_int = 0x0000ef53;
|
||||
pub const HPFS_SUPER_MAGIC: ::c_int = 0xf995e849;
|
||||
pub const HUGETLBFS_MAGIC: ::c_int = 0x958458f6;
|
||||
pub const ISOFS_SUPER_MAGIC: ::c_int = 0x00009660;
|
||||
pub const JFFS2_SUPER_MAGIC: ::c_int = 0x000072b6;
|
||||
pub const MINIX_SUPER_MAGIC: ::c_int = 0x0000137f;
|
||||
pub const MINIX_SUPER_MAGIC2: ::c_int = 0x0000138f;
|
||||
pub const MINIX2_SUPER_MAGIC: ::c_int = 0x00002468;
|
||||
pub const MINIX2_SUPER_MAGIC2: ::c_int = 0x00002478;
|
||||
pub const MSDOS_SUPER_MAGIC: ::c_int = 0x00004d44;
|
||||
pub const NCP_SUPER_MAGIC: ::c_int = 0x0000564c;
|
||||
pub const NFS_SUPER_MAGIC: ::c_int = 0x00006969;
|
||||
pub const OPENPROM_SUPER_MAGIC: ::c_int = 0x00009fa1;
|
||||
pub const PROC_SUPER_MAGIC: ::c_int = 0x00009fa0;
|
||||
pub const QNX4_SUPER_MAGIC: ::c_int = 0x0000002f;
|
||||
pub const REISERFS_SUPER_MAGIC: ::c_int = 0x52654973;
|
||||
pub const SMB_SUPER_MAGIC: ::c_int = 0x0000517b;
|
||||
pub const TMPFS_MAGIC: ::c_int = 0x01021994;
|
||||
pub const USBDEVICE_SUPER_MAGIC: ::c_int = 0x00009fa2;
|
||||
|
||||
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 IUTF8: ::tcflag_t = 0x00004000;
|
||||
|
||||
pub const CPU_SETSIZE: ::c_int = 0x400;
|
||||
|
||||
pub const EXTPROC: ::tcflag_t = 0x00010000;
|
||||
|
||||
pub const QFMT_VFS_V1: ::c_int = 4;
|
||||
|
||||
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_GETREGS: ::c_uint = 12;
|
||||
pub const PTRACE_SETREGS: ::c_uint = 13;
|
||||
pub const PTRACE_GETFPREGS: ::c_uint = 14;
|
||||
pub const PTRACE_SETFPREGS: ::c_uint = 15;
|
||||
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_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 MADV_DODUMP: ::c_int = 17;
|
||||
pub const MADV_DONTDUMP: ::c_int = 16;
|
||||
|
||||
pub const EPOLLWAKEUP: ::c_int = 0x20000000;
|
||||
|
||||
pub const MADV_HUGEPAGE: ::c_int = 14;
|
||||
pub const MADV_NOHUGEPAGE: ::c_int = 15;
|
||||
pub const MAP_HUGETLB: ::c_int = 0x040000;
|
||||
|
||||
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 SEEK_DATA: ::c_int = 3;
|
||||
pub const SEEK_HOLE: ::c_int = 4;
|
||||
|
||||
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 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 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 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 RTLD_DEEPBIND: ::c_int = 0x8;
|
||||
pub const RTLD_GLOBAL: ::c_int = 0x100;
|
||||
pub const RTLD_NOLOAD: ::c_int = 0x4;
|
||||
|
||||
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 SYS_gettid: ::c_long = 236;
|
||||
pub const SYS_perf_event_open: ::c_long = 331;
|
||||
|
||||
#[link(name = "util")]
|
||||
extern {
|
||||
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: ::dox::Option<extern 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 sched_getcpu() -> ::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 fn (),
|
||||
argc: ::c_int, ...);
|
||||
pub fn swapcontext(uocp: *mut ucontext_t,
|
||||
ucp: *const ucontext_t) -> ::c_int;
|
||||
}
|
||||
859
third_party/rust/libc/src/unix/notbsd/mod.rs
vendored
Normal file
859
third_party/rust/libc/src/unix/notbsd/mod.rs
vendored
Normal file
|
|
@ -0,0 +1,859 @@
|
|||
use dox::mem;
|
||||
|
||||
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 loff_t = ::c_longlong;
|
||||
pub type clockid_t = ::c_int;
|
||||
pub type id_t = ::c_uint;
|
||||
|
||||
pub enum timezone {}
|
||||
|
||||
s! {
|
||||
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 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 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_nl {
|
||||
pub nl_family: ::sa_family_t,
|
||||
nl_pad: ::c_ushort,
|
||||
pub nl_pid: u32,
|
||||
pub nl_groups: u32
|
||||
}
|
||||
|
||||
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"))]
|
||||
pub sched_ss_low_priority: ::c_int,
|
||||
#[cfg(any(target_env = "musl"))]
|
||||
pub sched_ss_repl_period: ::timespec,
|
||||
#[cfg(any(target_env = "musl"))]
|
||||
pub sched_ss_init_budget: ::timespec,
|
||||
#[cfg(any(target_env = "musl"))]
|
||||
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,
|
||||
}
|
||||
|
||||
#[cfg_attr(any(all(target_arch = "x86", not(target_env = "musl")),
|
||||
target_arch = "x86_64"),
|
||||
repr(packed))]
|
||||
pub struct epoll_event {
|
||||
pub events: ::uint32_t,
|
||||
pub u64: ::uint64_t,
|
||||
}
|
||||
|
||||
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 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,
|
||||
}
|
||||
}
|
||||
|
||||
// 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;
|
||||
pub const F_SETPIPE_SZ: ::c_int = 1031;
|
||||
pub const F_GETPIPE_SZ: ::c_int = 1032;
|
||||
|
||||
// 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 O_TRUNC: ::c_int = 512;
|
||||
pub const O_CLOEXEC: ::c_int = 0x80000;
|
||||
|
||||
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 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 AF_PACKET: ::c_int = 17;
|
||||
pub const IPPROTO_RAW: ::c_int = 255;
|
||||
|
||||
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;
|
||||
|
||||
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 AF_UNIX: ::c_int = 1;
|
||||
pub const AF_INET: ::c_int = 2;
|
||||
pub const AF_INET6: ::c_int = 10;
|
||||
pub const SOCK_RAW: ::c_int = 3;
|
||||
pub const IPPROTO_TCP: ::c_int = 6;
|
||||
pub const IPPROTO_IP: ::c_int = 0;
|
||||
pub const IPPROTO_IPV6: ::c_int = 41;
|
||||
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_ADD_MEMBERSHIP: ::c_int = 20;
|
||||
pub const IPV6_DROP_MEMBERSHIP: ::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;
|
||||
|
||||
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 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 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 EPOLL_CLOEXEC: ::c_int = 0x80000;
|
||||
|
||||
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: ::uint32_t = 1;
|
||||
pub const QIF_SPACE: ::uint32_t = 2;
|
||||
pub const QIF_ILIMITS: ::uint32_t = 4;
|
||||
pub const QIF_INODES: ::uint32_t = 8;
|
||||
pub const QIF_BTIME: ::uint32_t = 16;
|
||||
pub const QIF_ITIME: ::uint32_t = 32;
|
||||
pub const QIF_LIMITS: ::uint32_t = 5;
|
||||
pub const QIF_USAGE: ::uint32_t = 10;
|
||||
pub const QIF_TIMES: ::uint32_t = 48;
|
||||
pub const QIF_ALL: ::uint32_t = 63;
|
||||
|
||||
pub const EFD_CLOEXEC: ::c_int = 0x80000;
|
||||
|
||||
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 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 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 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;
|
||||
|
||||
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 WIFSIGNALED(status: ::c_int) -> bool {
|
||||
(status & 0x7f) + 1 >= 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 {
|
||||
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 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_nanosleep(clk_id: clockid_t,
|
||||
flags: ::c_int,
|
||||
rqtp: *const ::timespec,
|
||||
rmtp: *mut ::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 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 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 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 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 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_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 eventfd(init: ::c_uint, flags: ::c_int) -> ::c_int;
|
||||
pub fn sysinfo (info: *mut ::sysinfo) -> ::c_int;
|
||||
|
||||
pub fn openat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
flags: ::c_int, ...) -> ::c_int;
|
||||
pub fn faccessat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
mode: ::c_int, 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 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 mknodat(dirfd: ::c_int, pathname: *const ::c_char,
|
||||
mode: ::mode_t, dev: dev_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 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 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 setns(fd: ::c_int, nstype: ::c_int) -> ::c_int;
|
||||
pub fn sem_timedwait(sem: *mut sem_t,
|
||||
abstime: *const ::timespec) -> ::c_int;
|
||||
}
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(any(target_os = "linux",
|
||||
target_os = "emscripten"))] {
|
||||
mod linux;
|
||||
pub use self::linux::*;
|
||||
} else if #[cfg(target_os = "android")] {
|
||||
mod android;
|
||||
pub use self::android::*;
|
||||
} else {
|
||||
// Unknown target_os
|
||||
}
|
||||
}
|
||||
1040
third_party/rust/libc/src/unix/solaris/mod.rs
vendored
Normal file
1040
third_party/rust/libc/src/unix/solaris/mod.rs
vendored
Normal file
File diff suppressed because it is too large
Load diff
193
third_party/rust/libc/src/windows.rs
vendored
Normal file
193
third_party/rust/libc/src/windows.rs
vendored
Normal file
|
|
@ -0,0 +1,193 @@
|
|||
//! Windows CRT definitions
|
||||
|
||||
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;
|
||||
pub enum timezone {}
|
||||
pub type time64_t = i64;
|
||||
|
||||
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 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 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;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(all(target_env = "gnu"))] {
|
||||
pub const L_tmpnam: ::c_uint = 14;
|
||||
pub const TMP_MAX: ::c_uint = 0x7fff;
|
||||
} else if #[cfg(all(target_env = "msvc"))] {
|
||||
pub const L_tmpnam: ::c_uint = 260;
|
||||
pub const TMP_MAX: ::c_uint = 0x7fff_ffff;
|
||||
} else {
|
||||
// Unknown target_env
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
#[cfg(target_env = "msvc")] // " if " -- appease style checker
|
||||
#[link(name = "msvcrt")]
|
||||
extern {}
|
||||
|
||||
extern {
|
||||
#[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 = "_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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue