Добавил(а) microsin
|
FIL
Структура FIL (file object, файловый объект) содержит в себе состояние открытого файла. Структуру заполняет вызов функции f_open, и структура становится недействительной вызовом функцией f_close. В структуре FIL приложение пользователя не может менять никакие поля, за исключением cltbl. Имейте в виду, что буфер сектора, определенный в этой структуре, при работе в не-tiny конфигурациях (которые тоже имеют структуру FIL) не должен быть задан как автоматическая переменная (т. е. буфер сектора должен быть статической или глобальной переменной).
typedef struct {
FATFS* fs; /* Указатель на владельца файловой системы */
WORD id; /* ID монтирования владельца файловой системы */
BYTE flag; /* Флаги состояния файла */
BYTE pad1;
DWORD fptr; /* Указатель позиции чтения/записи файла (байтовое смещение относительно начала файла) */
DWORD fsize; /* Размер файла */
DWORD sclust; /* Начальный кластер файла */
DWORD clust; /* Текущий кластер */
DWORD dsect; /* Текущий сектор данных */
#if !_FS_READONLY
DWORD dir_sect; /* Сектор, содержащий запись директории */
BYTE* dir_ptr; /* Указатель на запись директории в окне */
#endif
#if _USE_FASTSEEK
DWORD* cltbl; /* Указатель на таблицу карты связей кластеров (обнуленную при открытии файла) */
#endif
#if _FS_SHARE
UINT lockid; /* ID блокировки файла */
#endif
#if !_FS_TINY
BYTE buf[_MAX_SS]; /* Буфер чтения/записи данных */
#endif
} FIL;
[Ссылки]
1. FIL - оригинал статьи на английском языке. |