use libfuse_sys::fuse_lowlevel::{fuse_entry_param, fuse_file_info, fuse_req_t, off_t, stat};
use std::os::raw::{c_char, c_int};
type Attr = stat;
type EntryParam = fuse_entry_param;
unsafe extern "C" {
#[link_name = "fuse_reply_entry"]
pub(crate) fn fuse_reply_entry_vanilla(req: fuse_req_t, e: *const EntryParam) -> c_int;
#[link_name = "fuse_reply_attr"]
pub(crate) fn fuse_reply_attr_vanilla(
req: fuse_req_t,
attr: *const Attr,
attr_timeout: f64,
) -> c_int;
#[link_name = "fuse_reply_create"]
pub(crate) fn fuse_reply_create_vanilla(
req: fuse_req_t,
e: *const EntryParam,
fi: *const fuse_file_info,
) -> c_int;
#[link_name = "fuse_add_direntry"]
pub(crate) fn fuse_add_direntry_vanilla(
req: fuse_req_t,
buf: *mut c_char,
bufsize: usize,
name: *const c_char,
stbuf: *const Attr,
off: off_t,
) -> usize;
#[link_name = "fuse_add_direntry_plus"]
pub(crate) fn fuse_add_direntry_plus_vanilla(
req: fuse_req_t,
buf: *mut c_char,
bufsize: usize,
name: *const c_char,
e: *const EntryParam,
off: off_t,
) -> usize;
}