use libc::{c_char, c_int, size_t};
#[no_mangle]
static mut __environ: *mut *mut c_char = core::ptr::null_mut();
#[no_mangle]
static mut __daylight: c_int = 0;
#[no_mangle]
static mut __timezone: libc::c_long = 0;
#[no_mangle]
static mut __tzname: [*mut c_char; 2] = [core::ptr::null_mut(); 2];
#[no_mangle]
unsafe extern "C" fn gettid() -> c_int {
rustix::thread::gettid().as_raw_nonzero().get()
}
#[no_mangle]
unsafe extern "C" fn sigisemptyset(set: *const libc::sigset_t) -> c_int {
let words = set.cast::<u64>();
for i in 0..(core::mem::size_of::<libc::sigset_t>() / 8) {
if *words.add(i) != 0 {
return 0;
}
}
1
}
#[no_mangle]
unsafe extern "C" fn malloc_trim(_pad: size_t) -> c_int {
0
}
#[no_mangle]
unsafe extern "C" fn strerrorname_np(_errnum: c_int) -> *const c_char {
core::ptr::null()
}
#[no_mangle]
unsafe extern "C" fn mblen(s: *const c_char, n: size_t) -> c_int {
if s.is_null() {
return 0;
}
if n == 0 {
return -1;
}
if *s == 0 {
0
} else {
1
}
}
#[no_mangle]
unsafe extern "C" fn dcgettext(
_domain: *const c_char,
msgid: *const c_char,
_category: c_int,
) -> *const c_char {
msgid
}
#[no_mangle]
unsafe extern "C" fn __fsetlocking(_file: *mut libc::FILE, _kind: c_int) -> c_int {
1
}
#[no_mangle]
unsafe extern "C" fn __open64_2(path: *const c_char, flags: c_int) -> c_int {
libc::open(path, flags)
}
#[no_mangle]
unsafe extern "C" fn __openat64_2(fd: c_int, path: *const c_char, flags: c_int) -> c_int {
libc::openat(fd, path, flags)
}