API определен в заголовочном файле sysroot-*-kos/include/kos/fs.h из состава KasperskyOS SDK.
API предназначен для работы с файловой системой ROMFS, управляемой ядром KasperskyOS или системной программой FSUsr (но не VFS).
API fs.h является устаревшим, поэтому вместо него рекомендуется использовать API romfs.h.
Сведения о функциях API приведены в таблице ниже.
Библиотека libkos также предоставляет низкоуровневый API для использования файловой системы ROMFS. Низкоуровневый API следует использовать, если недостаточно возможностей высокоуровневого API.
Выбор службы файловой системы
Процесс может использовать службу файловой системы ROMFS, предоставляемую ядром или системной программой FSUsr. Подробнее см. "Использование файловой системы ROMFS (низкоуровневый API fs_api.h)".
Открытие файла
Чтобы открыть файл, нужно вызвать функцию KosOpenFile(), указав имя файла через параметр fname.
Чтение данных из файла
Чтобы выполнить чтение данных из файла, нужно использовать функцию KosLoadFileToBuf(), KosReadFileRaw() или KosReadFile().
Функция KosLoadFileToBuf() принимает через свой входной параметр path указатель на имя файла, поэтому не требуется предварительно открывать файл. Эта функция создает буфер и копирует в него весь файл. После использования этот буфер нужно удалить вызовом функции KosMemFree() из API alloc.h.
Функция KosReadFileRaw() выполняет чтение, начиная с заданного смещения относительно начала файла. Функция KosReadFile() выполняет чтение, начиная с текущего положения курсора. Сразу после открытия файла курсор имеет нулевое смещение относительно начала файла. Функция KosReadFileRaw() не учитывает и не изменяет положение курсора. Повторный вызов функции KosReadFileRaw() с теме же параметрами выполнит чтение из той же части файла. Функция KosReadFile() учитывает положение курсора и смещает курсор к концу файла на размер считанных данных. Повторный вызов функции KosReadFile() с теме же параметрами выполнит чтение уже из другой части файла, которая следует за считанной предыдущим вызовом.
Чтобы получить положение курсора (смещение курсора относительно начала файла), нужно вызвать функцию KosGetFilePos().
Чтобы установить требуемое положение курсора, нужно вызвать функцию KosSeekFile(). В качестве базы для установки курсора можно использовать начало файла, текущее положение курсора или конец файла. Если базой является начало файла, нужно указать положительное смещение. Если базой является текущее положение курсора, нужно указать положительное или отрицательное смещение. Если базой является конец файла, нужно указать отрицательное смещение. Требуемое положение курсора не должно выходить за границы файла.
Получение размера файла
Чтобы получить размер файла, нужно вызвать функцию KosGetFileSize().
Закрытие файла
Чтобы закрыть файл, нужно вызвать функцию KosCloseFile().
Сведения о функциях API
Функции fs.h
Функция |
Сведения о функции |
|---|---|
|
Назначение Открывает файл. Параметры
Возвращаемые значения В случае успеха возвращает идентификатор файла, иначе возвращает |
|
Назначение Читает данные из файла, начиная с заданного смещения. Параметры
Возвращаемые значения В случае успеха возвращает размер считанных данных в байтах, иначе возвращает |
|
Назначение Читает данные из файла, начиная с текущего положения курсора. Параметры
Возвращаемые значения В случае успеха возвращает размер считанных данных в байтах, иначе возвращает |
|
Назначение Позволяет получить размер файла. Параметры
Возвращаемые значения В случае успеха возвращает размер файла в байтах. Если возвращает |
|
Назначение Позволяет получить положение курсора. Параметры
Возвращаемые значения Положение курсора (смещение курсора относительно начала файла) в байтах. |
|
Назначение Устанавливает положение курсора. Параметры
Возвращаемые значения В случае успеха возвращает положение курсора (смещение курсора относительно начала файла) в байтах. Если возвращает |
|
Назначение Закрывает файл. Параметры
Возвращаемые значения Нет. |
|
Назначение Создает буфер и копирует в него файл. Параметры
Возвращаемые значения В случае успеха возвращает |