#![allow(non_camel_case_types)]
use crate::types::{lfs_block_t, lfs_off_t, lfs_size_t};
pub type lfs_read_t =
unsafe extern "C" fn(*const LfsConfig, lfs_block_t, lfs_off_t, *mut u8, lfs_size_t) -> i32;
pub type lfs_prog_t =
unsafe extern "C" fn(*const LfsConfig, lfs_block_t, lfs_off_t, *const u8, lfs_size_t) -> i32;
pub type lfs_erase_t = unsafe extern "C" fn(*const LfsConfig, lfs_block_t) -> i32;
pub type lfs_sync_t = unsafe extern "C" fn(*const LfsConfig) -> i32;
#[repr(C)]
pub struct LfsConfig {
pub context: *mut core::ffi::c_void,
pub read: Option<lfs_read_t>,
pub prog: Option<lfs_prog_t>,
pub erase: Option<lfs_erase_t>,
pub sync: Option<lfs_sync_t>,
pub read_size: lfs_size_t,
pub prog_size: lfs_size_t,
pub block_size: lfs_size_t,
pub block_count: lfs_size_t,
pub block_cycles: i32,
pub cache_size: lfs_size_t,
pub lookahead_size: lfs_size_t,
pub compact_thresh: lfs_size_t,
pub read_buffer: *mut core::ffi::c_void,
pub prog_buffer: *mut core::ffi::c_void,
pub lookahead_buffer: *mut core::ffi::c_void,
pub name_max: lfs_size_t,
pub file_max: lfs_size_t,
pub attr_max: lfs_size_t,
pub metadata_max: lfs_size_t,
pub inline_max: lfs_size_t,
}