From 82d4f0afe3b70f7c1838b36db34d830f9b547c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sat, 28 Mar 2009 10:33:19 +0000 Subject: [PATCH] Add some defines, to be used later in freeldr svn path=/trunk/; revision=40266 --- reactos/include/reactos/arc/arc.h | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/reactos/include/reactos/arc/arc.h b/reactos/include/reactos/arc/arc.h index 1e3f7d738f0..0ce728e6ce7 100644 --- a/reactos/include/reactos/arc/arc.h +++ b/reactos/include/reactos/arc/arc.h @@ -30,6 +30,26 @@ typedef enum _ARC_CODES EMAXIMUM } ARC_CODES; +typedef enum _SEEKMODE +{ + SeekAbsolute, + SeekRelative, +} SEEKMODE; + +typedef enum _OPENMODE +{ + OpenReadOnly, + OpenWriteOnly, + OpenReadWrite, + CreateWriteOnly, + CreateReadOnly, + SupersedeWriteOnly, + SupersedeReadOnly, + SupersedeReadWrite, + OpenDirectory, + CreateDirectory, +} OPENMODE; + typedef enum _IDENTIFIER_FLAG { Failed = 0x01, @@ -455,4 +475,21 @@ typedef struct _LOADER_PARAMETER_BLOCK FIRMWARE_INFORMATION_LOADER_BLOCK FirmwareInformation; } LOADER_PARAMETER_BLOCK, *PLOADER_PARAMETER_BLOCK; +typedef int CONFIGTYPE; +typedef struct tagFILEINFORMATION +{ + LARGE_INTEGER StartingAddress; + LARGE_INTEGER EndingAddress; + LARGE_INTEGER CurrentAddress; + CONFIGTYPE Type; + ULONG FileNameLength; + UCHAR Attributes; + CHAR Filename[32]; +} FILEINFORMATION; + +typedef LONG (*ARC_CLOSE)(ULONG FileId); +typedef LONG (*ARC_GET_FILE_INFORMATION)(ULONG FileId, FILEINFORMATION* Information); +typedef LONG (*ARC_OPEN)(CHAR* Path, OPENMODE OpenMode, ULONG* FileId); +typedef LONG (*ARC_READ)(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count); +typedef LONG (*ARC_SEEK)(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode); #endif