The FFOBJID structure is an object identifier that holds the common status of open objects. This structure is for only internal use and it does not appear on the API.
typedef struct { FATFS* fs; /* Pointer to the volume holds this object */ WORD id; /* Volume mount ID when this object was opened */ BYTE attr; /* Object attribute */ BYTE stat; /* Object chain status (exFAT: b1-0: =0:not contiguous, =2:contiguous, =3:fragmented in this session, b2:sub-directory stretched) */ DWORD sclust; /* Object data cluster (0:no data or root directory) */ FSIZE_t objsize; /* Object size (valid when sclust != 0) */ #if FF_FS_EXFAT DWORD n_cont; /* Size of first fragment - 1 (valid when stat == 3) */ DWORD n_frag; /* Size of last fragment needs to be written to FAT (valid when not zero) */ DWORD c_scl; /* Cluster of directory holds this object (valid when sclust != 0) */ DWORD c_size; /* Size of directory holds this object (b7-b0: allocation status, valid when c_scl != 0) */ DWORD c_ofs; /* Offset of entry of this object in the directory */ #endif #if FF_FS_LOCK UINT lockid; /* File lock ID origin from 1 (index of file semaphore table Files[]) */ #endif } FFOBJID;