1#![crate_name = "libc"]
3#![crate_type = "rlib"]
4#![allow(
5 renamed_and_removed_lints, unknown_lints, bad_style,
8 overflowing_literals,
9 improper_ctypes,
10 redundant_semicolon,
12 redundant_semicolons,
13 unused_macros,
14 unused_macro_rules,
15 dead_code,
19)]
20#![cfg_attr(libc_deny_warnings, deny(warnings))]
21#![cfg_attr(feature = "rustc-dep-of-std", feature(link_cfg, no_core))]
23#![cfg_attr(libc_thread_local, feature(thread_local))]
24#![cfg_attr(feature = "rustc-dep-of-std", allow(internal_features))]
25#![cfg_attr(feature = "rustc-dep-of-std", allow(static_mut_refs))]
27#![cfg_attr(feature = "extra_traits", deny(missing_debug_implementations))]
29#![deny(missing_copy_implementations, safe_packed_borrows)]
30#![cfg_attr(not(feature = "rustc-dep-of-std"), no_std)]
31#![cfg_attr(feature = "rustc-dep-of-std", no_core)]
32
33#[macro_use]
34mod macros;
35
36cfg_if! {
37 if #[cfg(feature = "rustc-dep-of-std")] {
38 extern crate rustc_std_workspace_core as core;
39 }
40}
41
42pub use core::ffi::c_void;
43
44mod arch {
46 cfg_if! {
47 if #[cfg(all(
49 not(windows),
50 not(any(
52 target_os = "macos",
53 target_os = "ios",
54 target_os = "tvos",
55 target_os = "watchos",
56 target_os = "visionos",
57 )),
58 any(
59 target_arch = "aarch64",
60 target_arch = "arm",
61 target_arch = "csky",
62 target_arch = "hexagon",
63 target_arch = "msp430",
64 target_arch = "powerpc",
65 target_arch = "powerpc64",
66 target_arch = "riscv64",
67 target_arch = "riscv32",
68 target_arch = "s390x",
69 target_arch = "xtensa",
70 )
71 ))] {
72 pub type c_char_def = u8;
76 } else {
77 pub type c_char_def = i8;
78 }
79 }
80}
81
82cfg_if! {
83 if #[cfg(windows)] {
84 mod fixed_width_ints;
85 pub use crate::fixed_width_ints::*;
86
87 mod windows;
88 pub use crate::windows::*;
89
90 prelude!();
91 } else if #[cfg(target_os = "fuchsia")] {
92 mod fixed_width_ints;
93 pub use crate::fixed_width_ints::*;
94
95 mod fuchsia;
96 pub use crate::fuchsia::*;
97
98 prelude!();
99 } else if #[cfg(target_os = "switch")] {
100 mod fixed_width_ints;
101 pub use fixed_width_ints::*;
102
103 mod switch;
104 pub use switch::*;
105
106 prelude!();
107 } else if #[cfg(target_os = "psp")] {
108 mod fixed_width_ints;
109 pub use crate::fixed_width_ints::*;
110
111 mod psp;
112 pub use crate::psp::*;
113
114 prelude!();
115 } else if #[cfg(target_os = "vxworks")] {
116 mod fixed_width_ints;
117 pub use crate::fixed_width_ints::*;
118
119 mod vxworks;
120 pub use crate::vxworks::*;
121
122 prelude!();
123 } else if #[cfg(target_os = "solid_asp3")] {
124 mod fixed_width_ints;
125 pub use crate::fixed_width_ints::*;
126
127 mod solid;
128 pub use crate::solid::*;
129
130 prelude!();
131 } else if #[cfg(unix)] {
132 mod fixed_width_ints;
133 pub use crate::fixed_width_ints::*;
134
135 mod unix;
136 pub use crate::unix::*;
137
138 prelude!();
139 } else if #[cfg(target_os = "hermit")] {
140 mod fixed_width_ints;
141 pub use crate::fixed_width_ints::*;
142
143 mod hermit;
144 pub use crate::hermit::*;
145
146 prelude!();
147 } else if #[cfg(target_os = "teeos")] {
148 mod fixed_width_ints;
149 pub use fixed_width_ints::*;
150
151 mod teeos;
152 pub use teeos::*;
153
154 prelude!();
155 } else if #[cfg(target_os = "trusty")] {
156 mod fixed_width_ints;
157 pub use crate::fixed_width_ints::*;
158
159 mod trusty;
160 pub use crate::trusty::*;
161
162 prelude!();
163 } else if #[cfg(all(target_env = "sgx", target_vendor = "fortanix"))] {
164 mod fixed_width_ints;
165 pub use crate::fixed_width_ints::*;
166
167 mod sgx;
168 pub use crate::sgx::*;
169
170 prelude!();
171 } else if #[cfg(any(target_env = "wasi", target_os = "wasi"))] {
172 mod fixed_width_ints;
173 pub use crate::fixed_width_ints::*;
174
175 mod wasi;
176 pub use crate::wasi::*;
177
178 prelude!();
179 } else if #[cfg(target_os = "xous")] {
180 mod fixed_width_ints;
181 pub use crate::fixed_width_ints::*;
182
183 mod xous;
184 pub use crate::xous::*;
185
186 prelude!();
187 } else {
188 }
190}