use core::ffi::{c_int, VaList};

use crate::{io::managed::FILE, types::wchar_t};

use super::wint_t;

#[no_mangle]
unsafe extern "C" fn fgetwc(_fp: *mut FILE) -> wint_t {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn fgetws(_buf: *mut wchar_t, _n: c_int, _fp: *mut FILE) -> *mut wchar_t {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn fputwc(_wc: wchar_t, _fp: *mut FILE) -> wint_t {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn fputws(_ws: *const wchar_t, _fp: *mut FILE) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn fwide(_fp: *mut FILE, _wide: c_int) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn fwprintf(_fp: *mut FILE, _fmt: *const wchar_t, _args: ...) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn fwscanf(_fp: *mut FILE, _fmt: *const wchar_t, _args: ...) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn getwc(_fp: *mut FILE) -> wint_t {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn getwchar() -> wint_t {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn open_wmemstream(_ptr: *mut *mut wchar_t, _sizeloc: *mut usize) -> *mut FILE {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn putwc(_wc: wchar_t, _fp: *mut FILE) -> wint_t {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn putwchar(_wc: wchar_t) -> wint_t {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn swprintf(
    _buf: *mut wchar_t,
    _len: usize,
    _fmt: *const wchar_t,
    _args: ...
) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn swscanf(_buf: *const wchar_t, _fmt: *const wchar_t, _args: ...) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn ungetwc(_wc: wchar_t, _fp: *mut FILE) -> wint_t {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn vfwprintf(_fp: *mut FILE, _fmt: *const wchar_t, _args: VaList) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn vfwscanf(_fp: *mut FILE, _fmt: *const wchar_t, _args: VaList) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn vswprintf(
    _buf: *mut wchar_t,
    _len: usize,
    _fmt: *const wchar_t,
    _args: VaList,
) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn vswscanf(_buf: *const wchar_t, _fmt: *const wchar_t, _args: VaList) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn vwprintf(_fmt: *const wchar_t, _args: VaList) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn vwscanf(_fmt: *const wchar_t, _args: VaList) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn wprintf(_fmt: *const wchar_t, _args: ...) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn wscanf(_fmt: *const wchar_t, _args: ...) -> c_int {
    todo!()
}
