1
2
3
/* automatically generated by rust-bindgen */

pub const FF_DEFINED : u32 = 89352 ; pub const FFCONF_DEF : u32 = 89352 ; pub const FF_FS_MINIMIZE : u32 = 0 ; pub const FF_USE_STRFUNC : u32 = 0 ; pub const FF_USE_FIND : u32 = 0 ; pub const FF_USE_FASTSEEK : u32 = 0 ; pub const FF_USE_EXPAND : u32 = 0 ; pub const FF_USE_CHMOD : u32 = 0 ; pub const FF_USE_LABEL : u32 = 0 ; pub const FF_USE_FORWARD : u32 = 0 ; pub const FF_MAX_LFN : u32 = 255 ; pub const FF_LFN_BUF : u32 = 255 ; pub const FF_SFN_BUF : u32 = 12 ; pub const FF_STRF_ENCODE : u32 = 3 ; pub const FF_FS_RPATH : u32 = 0 ; pub const FF_VOLUMES : u32 = 1 ; pub const FF_STR_VOLUME_ID : u32 = 0 ; pub const FF_MULTI_PARTITION : u32 = 0 ; pub const FF_MIN_SS : u32 = 512 ; pub const FF_MAX_SS : u32 = 512 ; pub const FF_FS_NOFSINFO : u32 = 0 ; pub const FF_FS_TINY : u32 = 0 ; pub const FF_FS_EXFAT : u32 = 0 ; pub const FF_FS_NORTC : u32 = 0 ; pub const FF_NORTC_MON : u32 = 1 ; pub const FF_NORTC_MDAY : u32 = 1 ; pub const FF_NORTC_YEAR : u32 = 2017 ; pub const FF_FS_LOCK : u32 = 0 ; pub const FF_FS_REENTRANT : u32 = 0 ; pub const FF_FS_TIMEOUT : u32 = 1000 ; pub const EOF : i32 = -1 ; pub const FA_READ : u32 = 1 ; pub const FA_WRITE : u32 = 2 ; pub const FA_OPEN_EXISTING : u32 = 0 ; pub const FA_CREATE_NEW : u32 = 4 ; pub const FA_CREATE_ALWAYS : u32 = 8 ; pub const FA_OPEN_ALWAYS : u32 = 16 ; pub const FA_OPEN_APPEND : u32 = 48 ; pub const FM_FAT : u32 = 1 ; pub const FM_FAT32 : u32 = 2 ; pub const FM_EXFAT : u32 = 4 ; pub const FM_ANY : u32 = 7 ; pub const FM_SFD : u32 = 8 ; pub const FS_FAT12 : u32 = 1 ; pub const FS_FAT16 : u32 = 2 ; pub const FS_FAT32 : u32 = 3 ; pub const FS_EXFAT : u32 = 4 ; pub const AM_RDO : u32 = 1 ; pub const AM_HID : u32 = 2 ; pub const AM_SYS : u32 = 4 ; pub const AM_DIR : u32 = 16 ; pub const AM_ARC : u32 = 32 ; pub const STA_NOINIT : u32 = 1 ; pub const STA_NODISK : u32 = 2 ; pub const STA_PROTECT : u32 = 4 ; pub const CTRL_SYNC : u32 = 0 ; pub const GET_SECTOR_COUNT : u32 = 1 ; pub const GET_SECTOR_SIZE : u32 = 2 ; pub const GET_BLOCK_SIZE : u32 = 3 ; pub const CTRL_TRIM : u32 = 4 ; pub const CTRL_POWER : u32 = 5 ; pub const CTRL_LOCK : u32 = 6 ; pub const CTRL_EJECT : u32 = 7 ; pub const CTRL_FORMAT : u32 = 8 ; pub const MMC_GET_TYPE : u32 = 10 ; pub const MMC_GET_CSD : u32 = 11 ; pub const MMC_GET_CID : u32 = 12 ; pub const MMC_GET_OCR : u32 = 13 ; pub const MMC_GET_SDSTAT : u32 = 14 ; pub const ISDIO_READ : u32 = 55 ; pub const ISDIO_WRITE : u32 = 56 ; pub const ISDIO_MRITE : u32 = 57 ; pub const ATA_GET_REV : u32 = 20 ; pub const ATA_GET_MODEL : u32 = 21 ; pub const ATA_GET_SN : u32 = 22 ; pub type INT = ::drone_ctypes :: c_int ; pub type UINT = ::drone_ctypes :: c_uint ; pub type BYTE = ::drone_ctypes :: c_uchar ; pub type SHORT = ::drone_ctypes :: c_short ; pub type WORD = ::drone_ctypes :: c_ushort ; pub type WCHAR = ::drone_ctypes :: c_ushort ; pub type LONG = ::drone_ctypes :: c_long ; pub type DWORD = ::drone_ctypes :: c_ulong ; pub type QWORD = ::drone_ctypes :: c_ulonglong ; pub type TCHAR = ::drone_ctypes :: c_char ; pub type FSIZE_t = DWORD ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct FATFS { pub fs_type : BYTE , pub pdrv : BYTE , pub n_fats : BYTE , pub wflag : BYTE , pub fsi_flag : BYTE , pub id : WORD , pub n_rootdir : WORD , pub csize : WORD , pub last_clst : DWORD , pub free_clst : DWORD , pub n_fatent : DWORD , pub fsize : DWORD , pub volbase : DWORD , pub fatbase : DWORD , pub dirbase : DWORD , pub database : DWORD , pub winsect : DWORD , pub win : [ BYTE ; 512usize ] , } # [ test ] fn bindgen_test_layout_FATFS ( ) { assert_eq ! ( :: core :: mem :: size_of :: < FATFS > ( ) , 560usize , concat ! ( "Size of: " , stringify ! ( FATFS ) ) ) ; assert_eq ! ( :: core :: mem :: align_of :: < FATFS > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FATFS ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . fs_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( fs_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . pdrv as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( pdrv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . n_fats as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( n_fats ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . wflag as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( wflag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . fsi_flag as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( fsi_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . id as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . n_rootdir as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( n_rootdir ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . csize as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( csize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . last_clst as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( last_clst ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . free_clst as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( free_clst ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . n_fatent as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( n_fatent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . fsize as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( fsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . volbase as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( volbase ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . fatbase as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( fatbase ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . dirbase as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( dirbase ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . database as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( database ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . winsect as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( winsect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FATFS > ( ) ) ) . win as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( FATFS ) , "::" , stringify ! ( win ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FFOBJID { pub fs : * mut FATFS , pub id : WORD , pub attr : BYTE , pub stat : BYTE , pub sclust : DWORD , pub objsize : FSIZE_t , } # [ test ] fn bindgen_test_layout_FFOBJID ( ) { assert_eq ! ( :: core :: mem :: size_of :: < FFOBJID > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( FFOBJID ) ) ) ; assert_eq ! ( :: core :: mem :: align_of :: < FFOBJID > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FFOBJID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FFOBJID > ( ) ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( FFOBJID ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FFOBJID > ( ) ) ) . id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( FFOBJID ) , "::" , stringify ! ( id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FFOBJID > ( ) ) ) . attr as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( FFOBJID ) , "::" , stringify ! ( attr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FFOBJID > ( ) ) ) . stat as * const _ as usize } , 7usize , concat ! ( "Offset of field: " , stringify ! ( FFOBJID ) , "::" , stringify ! ( stat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FFOBJID > ( ) ) ) . sclust as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( FFOBJID ) , "::" , stringify ! ( sclust ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FFOBJID > ( ) ) ) . objsize as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( FFOBJID ) , "::" , stringify ! ( objsize ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct FIL { pub obj : FFOBJID , pub flag : BYTE , pub err : BYTE , pub fptr : FSIZE_t , pub clust : DWORD , pub sect : DWORD , pub dir_sect : DWORD , pub dir_ptr : * mut BYTE , pub buf : [ BYTE ; 512usize ] , } # [ test ] fn bindgen_test_layout_FIL ( ) { assert_eq ! ( :: core :: mem :: size_of :: < FIL > ( ) , 552usize , concat ! ( "Size of: " , stringify ! ( FIL ) ) ) ; assert_eq ! ( :: core :: mem :: align_of :: < FIL > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FIL ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FIL > ( ) ) ) . obj as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( FIL ) , "::" , stringify ! ( obj ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FIL > ( ) ) ) . flag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( FIL ) , "::" , stringify ! ( flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FIL > ( ) ) ) . err as * const _ as usize } , 17usize , concat ! ( "Offset of field: " , stringify ! ( FIL ) , "::" , stringify ! ( err ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FIL > ( ) ) ) . fptr as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( FIL ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FIL > ( ) ) ) . clust as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( FIL ) , "::" , stringify ! ( clust ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FIL > ( ) ) ) . sect as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( FIL ) , "::" , stringify ! ( sect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FIL > ( ) ) ) . dir_sect as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( FIL ) , "::" , stringify ! ( dir_sect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FIL > ( ) ) ) . dir_ptr as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( FIL ) , "::" , stringify ! ( dir_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FIL > ( ) ) ) . buf as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( FIL ) , "::" , stringify ! ( buf ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DIR { pub obj : FFOBJID , pub dptr : DWORD , pub clust : DWORD , pub sect : DWORD , pub dir : * mut BYTE , pub fn_ : [ BYTE ; 12usize ] , } # [ test ] fn bindgen_test_layout_DIR ( ) { assert_eq ! ( :: core :: mem :: size_of :: < DIR > ( ) , 44usize , concat ! ( "Size of: " , stringify ! ( DIR ) ) ) ; assert_eq ! ( :: core :: mem :: align_of :: < DIR > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( DIR ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < DIR > ( ) ) ) . obj as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( DIR ) , "::" , stringify ! ( obj ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < DIR > ( ) ) ) . dptr as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( DIR ) , "::" , stringify ! ( dptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < DIR > ( ) ) ) . clust as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( DIR ) , "::" , stringify ! ( clust ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < DIR > ( ) ) ) . sect as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( DIR ) , "::" , stringify ! ( sect ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < DIR > ( ) ) ) . dir as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( DIR ) , "::" , stringify ! ( dir ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < DIR > ( ) ) ) . fn_ as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( DIR ) , "::" , stringify ! ( fn_ ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct FILINFO { pub fsize : FSIZE_t , pub fdate : WORD , pub ftime : WORD , pub fattrib : BYTE , pub fname : [ TCHAR ; 13usize ] , } # [ test ] fn bindgen_test_layout_FILINFO ( ) { assert_eq ! ( :: core :: mem :: size_of :: < FILINFO > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( FILINFO ) ) ) ; assert_eq ! ( :: core :: mem :: align_of :: < FILINFO > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( FILINFO ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FILINFO > ( ) ) ) . fsize as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( FILINFO ) , "::" , stringify ! ( fsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FILINFO > ( ) ) ) . fdate as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( FILINFO ) , "::" , stringify ! ( fdate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FILINFO > ( ) ) ) . ftime as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( FILINFO ) , "::" , stringify ! ( ftime ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FILINFO > ( ) ) ) . fattrib as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( FILINFO ) , "::" , stringify ! ( fattrib ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: core :: ptr :: null :: < FILINFO > ( ) ) ) . fname as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( FILINFO ) , "::" , stringify ! ( fname ) ) ) ; } # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum FRESULT { FR_OK = 0 , FR_DISK_ERR = 1 , FR_INT_ERR = 2 , FR_NOT_READY = 3 , FR_NO_FILE = 4 , FR_NO_PATH = 5 , FR_INVALID_NAME = 6 , FR_DENIED = 7 , FR_EXIST = 8 , FR_INVALID_OBJECT = 9 , FR_WRITE_PROTECTED = 10 , FR_INVALID_DRIVE = 11 , FR_NOT_ENABLED = 12 , FR_NO_FILESYSTEM = 13 , FR_MKFS_ABORTED = 14 , FR_TIMEOUT = 15 , FR_LOCKED = 16 , FR_NOT_ENOUGH_CORE = 17 , FR_TOO_MANY_OPEN_FILES = 18 , FR_INVALID_PARAMETER = 19 , } extern "C" { pub fn f_open ( fp : * mut FIL , path : * const TCHAR , mode : BYTE ) -> FRESULT ; } extern "C" { pub fn f_close ( fp : * mut FIL ) -> FRESULT ; } extern "C" { pub fn f_read ( fp : * mut FIL , buff : * mut ::drone_ctypes :: c_void , btr : UINT , br : * mut UINT ) -> FRESULT ; } extern "C" { pub fn f_write ( fp : * mut FIL , buff : * const ::drone_ctypes :: c_void , btw : UINT , bw : * mut UINT ) -> FRESULT ; } extern "C" { pub fn f_lseek ( fp : * mut FIL , ofs : FSIZE_t ) -> FRESULT ; } extern "C" { pub fn f_truncate ( fp : * mut FIL ) -> FRESULT ; } extern "C" { pub fn f_sync ( fp : * mut FIL ) -> FRESULT ; } extern "C" { pub fn f_opendir ( dp : * mut DIR , path : * const TCHAR ) -> FRESULT ; } extern "C" { pub fn f_closedir ( dp : * mut DIR ) -> FRESULT ; } extern "C" { pub fn f_readdir ( dp : * mut DIR , fno : * mut FILINFO ) -> FRESULT ; } extern "C" { pub fn f_findfirst ( dp : * mut DIR , fno : * mut FILINFO , path : * const TCHAR , pattern : * const TCHAR ) -> FRESULT ; } extern "C" { pub fn f_findnext ( dp : * mut DIR , fno : * mut FILINFO ) -> FRESULT ; } extern "C" { pub fn f_mkdir ( path : * const TCHAR ) -> FRESULT ; } extern "C" { pub fn f_unlink ( path : * const TCHAR ) -> FRESULT ; } extern "C" { pub fn f_rename ( path_old : * const TCHAR , path_new : * const TCHAR ) -> FRESULT ; } extern "C" { pub fn f_stat ( path : * const TCHAR , fno : * mut FILINFO ) -> FRESULT ; } extern "C" { pub fn f_chmod ( path : * const TCHAR , attr : BYTE , mask : BYTE ) -> FRESULT ; } extern "C" { pub fn f_utime ( path : * const TCHAR , fno : * const FILINFO ) -> FRESULT ; } extern "C" { pub fn f_chdir ( path : * const TCHAR ) -> FRESULT ; } extern "C" { pub fn f_chdrive ( path : * const TCHAR ) -> FRESULT ; } extern "C" { pub fn f_getcwd ( buff : * mut TCHAR , len : UINT ) -> FRESULT ; } extern "C" { pub fn f_getfree ( path : * const TCHAR , nclst : * mut DWORD , fatfs : * mut * mut FATFS ) -> FRESULT ; } extern "C" { pub fn f_getlabel ( path : * const TCHAR , label : * mut TCHAR , vsn : * mut DWORD ) -> FRESULT ; } extern "C" { pub fn f_setlabel ( label : * const TCHAR ) -> FRESULT ; } extern "C" { pub fn f_forward ( fp : * mut FIL , func : :: core :: option :: Option < unsafe extern "C" fn ( arg1 : * const BYTE , arg2 : UINT ) -> UINT > , btf : UINT , bf : * mut UINT ) -> FRESULT ; } extern "C" { pub fn f_expand ( fp : * mut FIL , szf : FSIZE_t , opt : BYTE ) -> FRESULT ; } extern "C" { pub fn f_mount ( fs : * mut FATFS , path : * const TCHAR , opt : BYTE ) -> FRESULT ; } extern "C" { pub fn f_mkfs ( path : * const TCHAR , opt : BYTE , au : DWORD , work : * mut ::drone_ctypes :: c_void , len : UINT ) -> FRESULT ; } extern "C" { pub fn f_fdisk ( pdrv : BYTE , szt : * const DWORD , work : * mut ::drone_ctypes :: c_void ) -> FRESULT ; } extern "C" { pub fn f_setcp ( cp : WORD ) -> FRESULT ; } extern "C" { pub fn f_putc ( c : TCHAR , fp : * mut FIL ) -> ::drone_ctypes :: c_int ; } extern "C" { pub fn f_puts ( str : * const TCHAR , cp : * mut FIL ) -> ::drone_ctypes :: c_int ; } extern "C" { pub fn f_printf ( fp : * mut FIL , str : * const TCHAR , ... ) -> ::drone_ctypes :: c_int ; } extern "C" { pub fn f_gets ( buff : * mut TCHAR , len : ::drone_ctypes :: c_int , fp : * mut FIL ) -> * mut TCHAR ; } extern "C" { pub fn get_fattime ( ) -> DWORD ; } pub type DSTATUS = BYTE ; # [ repr ( u32 ) ] # [ derive ( Debug , Copy , Clone , PartialEq , Eq , Hash ) ] pub enum DRESULT { RES_OK = 0 , RES_ERROR = 1 , RES_WRPRT = 2 , RES_NOTRDY = 3 , RES_PARERR = 4 , } extern "C" { pub fn disk_initialize ( pdrv : BYTE ) -> DSTATUS ; } extern "C" { pub fn disk_status ( pdrv : BYTE ) -> DSTATUS ; } extern "C" { pub fn disk_read ( pdrv : BYTE , buff : * mut BYTE , sector : DWORD , count : UINT ) -> DRESULT ; } extern "C" { pub fn disk_write ( pdrv : BYTE , buff : * const BYTE , sector : DWORD , count : UINT ) -> DRESULT ; } extern "C" { pub fn disk_ioctl ( pdrv : BYTE , cmd : BYTE , buff : * mut ::drone_ctypes :: c_void ) -> DRESULT ; }