fiointf.inc

Переключить прокрутку окна
Загрузить этот исходный код

{
    Copyright © 2017 Малик Разработчик

    Это свободная программа: вы можете перераспространять её и/или
    изменять её на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
    в каком она была опубликована Фондом свободного программного обеспечения;
    либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.

    Эта программа распространяется в надежде, что она может быть полезна,
    но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
    или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
    общественной лицензии GNU.

    Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
    вместе с этой программой. Если это не так, см.
    <http://www.gnu.org/licenses/>.
}

{
    Следующие платформозависимые типы должны быть
    определены перед подключением этого интерфейса:
    OSIntfFileOpenID – для идентификации открытого файла
    OSIntfFileFindID – для идентификации найденного файла
}

type
    OSIntfDateTimeRecord = packed record
        year: int;
        month: int;
        day: int;
        reserved: int;
        hour: int;
        minute: int;
        second: int;
        millis: int;
    end;

    OSIntfFileFindInfo = packed record
        attributes: int;
        creationTime: OSIntfDateTimeRecord;
        lastWriteTime: OSIntfDateTimeRecord;
        lastAccessTime: OSIntfDateTimeRecord;
        size: long;
        name: UnicodeString;
        findID: OSIntfFileFindID;
    end;

const
    OSINTF_FILE_ATTR_DIRECTORY = int($0010);
    OSINTF_FILE_ATTR_READ_ONLY = int($0001);
    OSINTF_FILE_ATTR_HIDDEN = int($0002);
    OSINTF_FILE_ATTR_MASK = int($0013);

function osintfGetCurrentUTCOffsetInMillis(): int;
function osintfGetCurrentUTCTime(): OSIntfDateTimeRecord;

function osintfFileNameMaximumLength(): int;
function osintfFileNameCaseSensitive(): boolean;
function osintfFileNameValid(const osFileName: UnicodeString): boolean;
function osintfFileNameToVFS(const osFileName: UnicodeString): UnicodeString;
function osintfFileNameToOS(const vfsFileName: UnicodeString): UnicodeString;
function osintfFileWriteAttributes(const osFileName: UnicodeString; const attributes: int;
        const creationTime, lastWriteTime, lastAccessTime: OSIntfDateTimeRecord): boolean;
function osintfFileReadAttributes(const osFileName: UnicodeString; out attributes: int;
        out creationTime, lastWriteTime, lastAccessTime: OSIntfDateTimeRecord): boolean;
function osintfFileFindFirst(const osBasePath: UnicodeString;
        out findInfo: OSIntfFileFindInfo): boolean;
function osintfFileFindNext(var findInfo: OSIntfFileFindInfo): boolean;
function osintfFileFindClose(var findInfo: OSIntfFileFindInfo): boolean;
function osintfFileMove(const osFileSrcName, osFileDstName: UnicodeString): boolean;
function osintfFileDelete(const osFileName: UnicodeString): boolean;
function osintfDirectoryCreate(const osDirName: UnicodeString): boolean;
function osintfDirectoryDelete(const osDirName: UnicodeString): boolean;

function osintfFileCreate(const osFileName: UnicodeString;
        out fileID: OSIntfFileOpenID): boolean;
function osintfFileOpenForReadOnly(const osFileName: UnicodeString;
        out fileID: OSIntfFileOpenID): boolean;
function osintfFileOpenForReadWrite(const osFileName: UnicodeString;
        out fileID: OSIntfFileOpenID): boolean;
function osintfFileOpenForAppending(const osFileName: UnicodeString;
        out fileID: OSIntfFileOpenID): boolean;
function osintfFileClose(var fileID: OSIntfFileOpenID): boolean;
function osintfFileSetSize(const fileID: OSIntfFileOpenID): boolean;
function osintfFileGetSize(const fileID: OSIntfFileOpenID): long;
function osintfFileSetPos(const fileID: OSIntfFileOpenID; pos: long): long;
function osintfFileSeek(const fileID: OSIntfFileOpenID; delta: long): long;
function osintfFileRead(const fileID: OSIntfFileOpenID; dst: byte_ArraySimple; length: int): int;
function osintfFileWrite(const fileID: OSIntfFileOpenID; src: byte_ArraySimple; length: int): int;