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

use super::sys_types::gid_t;

#[repr(C)]
pub struct group {
    pub gr_name: *mut c_char,
    pub gr_gid: gid_t,
    pub gr_mem: *mut *mut c_char,
}

#[no_mangle]
unsafe extern "C" fn endgrent() {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn getgrent() -> *mut group {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn getgrgid(_gid: gid_t) -> *mut group {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn getgrgid_r(
    _gid: gid_t,
    _group: *mut group,
    _buf: *mut c_char,
    _buflen: usize,
    _result: *mut *mut group,
) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn getgrnam(_name: *const c_char) -> *mut group {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn getgrnam_r(
    _name: *const c_char,
    _group: *mut group,
    _buf: *mut c_char,
    _buflen: usize,
    _result: *mut *mut group,
) -> c_int {
    todo!()
}

#[no_mangle]
unsafe extern "C" fn setgrent() {
    todo!()
}
