The FATFS structure holds dynamic work area of the FatFs modlue and it is allocated by an application program. There is no members that can be changed from the application program.
typedef struct _FATFS {
    BYTE    fs_type;        // FAT type
    BYTE    files;          // Number of files currently opend
    BYTE    sects_clust;    // Sectors per cluster
    BYTE    n_fats;         // Number of FAT copies
    WORD    n_rootdir;      // Number of root directory entry (always 0 in FAT32)
    BYTE    winflag;        // win[] dirty flag (1:must be written back)
    BYTE    pad1;
    DWORD   sects_fat;      // Sectors per fat
    DWORD   max_clust;      // Maximum cluster# + 1
    DWORD   fatbase;        // FAT start sector
    DWORD   dirbase;        // Root directory start sector (cluster# for FAT32)
    DWORD   database;       // Data start sector
    DWORD   winsect;        // Current sector# appearing in the win[]
    BYTE    win[512];       // Disk access window for directory and FAT
} FATFS;
typedef struct _FATFS {
    BYTE    fs_type;        // FAT type
    BYTE    files;          // Number of files currently opend
    BYTE    sects_clust;    // Sectors per cluster
    BYTE    n_fats;         // Number of FAT copies
    WORD    n_rootdir;      // Number of root directory entry
    BYTE    winflag;        // win[] dirty flag (1:must be written back)
    BYTE    pad1;
    WORD    sects_fat;      // Sectors per fat
    WORD    max_clust;      // Maximum cluster# + 1
    DWORD   fatbase;        // FAT start sector
    DWORD   dirbase;        // Root directory start sector
    DWORD   database;       // Data start sector
    DWORD   winsect;        // Current sector# appearing in the win[]
    BYTE    win[512];       // Disk access window for directory, FAT and file
} FATFS;