blob: 72e93aaf62defa226027a723af426ef87e98b27a [file] [log] [blame]
// 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, unknown_lints)]
#![crate_type = "rlib"]
#![crate_name = "libc"]
#![cfg_attr(cross_platform_docs, feature(no_core, lang_items, const_fn))]
#![cfg_attr(cross_platform_docs, 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://rust-lang.github.io/libc/x86_64-unknown-linux-gnu"
)
)]
#![cfg_attr(
all(target_os = "linux", target_arch = "x86"),
doc(
html_root_url = "https://rust-lang.github.io/libc/i686-unknown-linux-gnu"
)
)]
#![cfg_attr(
all(target_os = "linux", target_arch = "arm"),
doc(
html_root_url = "https://rust-lang.github.io/libc/arm-unknown-linux-gnueabihf"
)
)]
#![cfg_attr(
all(target_os = "linux", target_arch = "mips"),
doc(
html_root_url = "https://rust-lang.github.io/libc/mips-unknown-linux-gnu"
)
)]
#![cfg_attr(
all(target_os = "linux", target_arch = "aarch64"),
doc(
html_root_url = "https://rust-lang.github.io/libc/aarch64-unknown-linux-gnu"
)
)]
#![cfg_attr(
all(target_os = "linux", target_env = "musl"),
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-unknown-linux-musl"
)
)]
#![cfg_attr(
all(target_os = "macos", target_arch = "x86_64"),
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-apple-darwin"
)
)]
#![cfg_attr(
all(target_os = "macos", target_arch = "x86"),
doc(html_root_url = "https://rust-lang.github.io/libc/i686-apple-darwin")
)]
#![cfg_attr(
all(windows, target_arch = "x86_64", target_env = "gnu"),
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-pc-windows-gnu"
)
)]
#![cfg_attr(
all(windows, target_arch = "x86", target_env = "gnu"),
doc(
html_root_url = "https://rust-lang.github.io/libc/i686-pc-windows-gnu"
)
)]
#![cfg_attr(
all(windows, target_arch = "x86_64", target_env = "msvc"),
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-pc-windows-msvc"
)
)]
#![cfg_attr(
all(windows, target_arch = "x86", target_env = "msvc"),
doc(
html_root_url = "https://rust-lang.github.io/libc/i686-pc-windows-msvc"
)
)]
#![cfg_attr(
target_os = "android",
doc(
html_root_url = "https://rust-lang.github.io/libc/arm-linux-androideabi"
)
)]
#![cfg_attr(
target_os = "freebsd",
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-unknown-freebsd"
)
)]
#![cfg_attr(
target_os = "openbsd",
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-unknown-openbsd"
)
)]
#![cfg_attr(
target_os = "bitrig",
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-unknown-bitrig"
)
)]
#![cfg_attr(
target_os = "netbsd",
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-unknown-netbsd"
)
)]
#![cfg_attr(
target_os = "dragonfly",
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-unknown-dragonfly"
)
)]
#![cfg_attr(
target_os = "solaris",
doc(
html_root_url = "https://rust-lang.github.io/libc/x86_64-sun-solaris"
)
)]
#![cfg_attr(
all(target_os = "emscripten", target_arch = "asmjs"),
doc(
html_root_url = "https://rust-lang.github.io/libc/asmjs-unknown-emscripten"
)
)]
#![cfg_attr(
all(target_os = "emscripten", target_arch = "wasm32"),
doc(
html_root_url = "https://rust-lang.github.io/libc/wasm32-unknown-emscripten"
)
)]
#![cfg_attr(
all(target_os = "linux", target_arch = "sparc64"),
doc(
html_root_url = "https://rust-lang.github.io/libc/sparc64-unknown-linux-gnu"
)
)]
// Attributes needed when building as part of the standard library
#![cfg_attr(feature = "rustc-dep-of-std", feature(cfg_target_vendor))]
#![cfg_attr(feature = "rustc-dep-of-std", feature(link_cfg))]
#![cfg_attr(feature = "rustc-dep-of-std", feature(no_core))]
#![cfg_attr(feature = "rustc-dep-of-std", no_core)]
#![cfg_attr(feature = "rustc-dep-of-std", allow(warnings))]
#![cfg_attr(
not(any(feature = "use_std", feature = "rustc-dep-of-std")),
no_std
)]
// Enable lints
#![cfg_attr(feature = "extra_traits", deny(missing_debug_implementations))]
#![deny(missing_copy_implementations, safe_packed_borrows)]
#[cfg(all(not(cross_platform_docs), feature = "use_std"))]
extern crate std as core;
#[macro_use]
mod macros;
cfg_if! {
if #[cfg(feature = "rustc-dep-of-std")] {
extern crate rustc_std_workspace_core as core;
#[allow(unused_imports)]
use core::iter;
#[allow(unused_imports)]
use core::option;
}
}
cfg_if! {
if #[cfg(not(cross_platform_docs))] {
cfg_if! {
if #[cfg(libc_priv_mod_use)] {
#[cfg(libc_core_cvoid)]
#[allow(unused_imports)]
use core::ffi;
#[allow(unused_imports)]
use core::fmt;
#[allow(unused_imports)]
use core::hash;
#[allow(unused_imports)]
use core::num;
#[allow(unused_imports)]
use core::mem;
} else {
#[doc(hidden)]
#[allow(unused_imports)]
pub use core::fmt;
#[doc(hidden)]
#[allow(unused_imports)]
pub use core::hash;
#[doc(hidden)]
#[allow(unused_imports)]
pub use core::num;
#[doc(hidden)]
#[allow(unused_imports)]
pub use core::mem;
}
}
}
}
mod dox;
cfg_if! {
if #[cfg(windows)] {
mod windows;
pub use windows::*;
} else if #[cfg(target_os = "redox")] {
mod redox;
pub use redox::*;
} else if #[cfg(target_os = "cloudabi")] {
mod cloudabi;
pub use cloudabi::*;
} else if #[cfg(target_os = "fuchsia")] {
mod fuchsia;
pub use fuchsia::*;
} else if #[cfg(target_os = "switch")] {
mod switch;
pub use switch::*;
} else if #[cfg(unix)] {
mod unix;
pub use unix::*;
} else if #[cfg(target_env = "sgx")] {
mod sgx;
pub use sgx::*;
} else {
// non-supported targets: empty...
}
}