mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 21:44:31 +00:00
[FREELDR][INCLUDES]
- ARC disk functions return ARC_STATUS codes (that are ULONG btw, not LONG). Fix prototypes where needed. - Rearrange a bit our arc.h header by putting together related structures. [FREELDR] - Remove arcemul/time.c (put functions back into machine.c). ARC functions should use some SYSTEM_PARAMETER_BLOCK firmware vector array instead... svn path=/trunk/; revision=65964
This commit is contained in:
parent
66ef750fba
commit
9743a65b37
|
@ -40,7 +40,6 @@ list(APPEND FREELDR_COMMON_SOURCE
|
|||
options.c
|
||||
oslist.c
|
||||
version.c
|
||||
arcemul/time.c
|
||||
cache/blocklist.c
|
||||
cache/cache.c
|
||||
comm/rs232.c
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Boot Loader (FreeLDR)
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: boot/freeldr/freeldr/arcemul/time.c
|
||||
* PURPOSE: Routines for Time measurement
|
||||
* PROGRAMMERS: Hervé Poussineau <hpoussin@reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <freeldr.h>
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
TIMEINFO*
|
||||
ArcGetTime(VOID)
|
||||
{
|
||||
return MachVtbl.GetTime();
|
||||
}
|
||||
|
||||
ULONG
|
||||
ArcGetRelativeTime(VOID)
|
||||
{
|
||||
TIMEINFO* TimeInfo;
|
||||
ULONG ret;
|
||||
|
||||
TimeInfo = ArcGetTime();
|
||||
ret = ((TimeInfo->Hour * 24) + TimeInfo->Minute) * 60 + TimeInfo->Second;
|
||||
return ret;
|
||||
}
|
|
@ -44,7 +44,7 @@ UCHAR PcBiosDiskCount = 0;
|
|||
CHAR PcDiskIdentifier[32][20];
|
||||
|
||||
|
||||
static LONG DiskClose(ULONG FileId)
|
||||
static ARC_STATUS DiskClose(ULONG FileId)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -52,7 +52,7 @@ static LONG DiskClose(ULONG FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG DiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
static ARC_STATUS DiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -63,7 +63,7 @@ static LONG DiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG DiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
static ARC_STATUS DiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
DISKCONTEXT* Context;
|
||||
UCHAR DriveNumber;
|
||||
|
@ -110,7 +110,7 @@ static LONG DiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
static ARC_STATUS DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
UCHAR* Ptr = (UCHAR*)Buffer;
|
||||
|
@ -155,7 +155,7 @@ static LONG DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
|||
return (!ret) ? EIO : ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG DiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
static ARC_STATUS DiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@ typedef struct tagDISKCONTEXT
|
|||
} DISKCONTEXT;
|
||||
|
||||
static
|
||||
LONG
|
||||
ARC_STATUS
|
||||
DiskClose(ULONG FileId)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
@ -119,7 +119,7 @@ DiskClose(ULONG FileId)
|
|||
}
|
||||
|
||||
static
|
||||
LONG
|
||||
ARC_STATUS
|
||||
DiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
@ -132,7 +132,7 @@ DiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
|||
}
|
||||
|
||||
static
|
||||
LONG
|
||||
ARC_STATUS
|
||||
DiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
DISKCONTEXT* Context;
|
||||
|
@ -185,7 +185,7 @@ DiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
}
|
||||
|
||||
static
|
||||
LONG
|
||||
ARC_STATUS
|
||||
DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
@ -219,7 +219,7 @@ DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
|||
}
|
||||
|
||||
static
|
||||
LONG
|
||||
ARC_STATUS
|
||||
DiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
|
|
@ -21,7 +21,7 @@ ULONG gRamDiskOffset;
|
|||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
static LONG RamDiskClose(ULONG FileId)
|
||||
static ARC_STATUS RamDiskClose(ULONG FileId)
|
||||
{
|
||||
//
|
||||
// Nothing to do
|
||||
|
@ -29,7 +29,7 @@ static LONG RamDiskClose(ULONG FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG RamDiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
static ARC_STATUS RamDiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
//
|
||||
// Give current seek offset and ram disk size to caller
|
||||
|
@ -41,7 +41,7 @@ static LONG RamDiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG RamDiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
static ARC_STATUS RamDiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
//
|
||||
// Always return success, as contents are already in memory
|
||||
|
@ -49,7 +49,7 @@ static LONG RamDiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG RamDiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
static ARC_STATUS RamDiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
PVOID StartAddress;
|
||||
|
||||
|
@ -76,7 +76,7 @@ static LONG RamDiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG RamDiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
static ARC_STATUS RamDiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
//
|
||||
// Only accept absolute mode now
|
||||
|
|
|
@ -148,7 +148,7 @@ typedef struct tagDISKCONTEXT
|
|||
ULONGLONG SectorNumber;
|
||||
} DISKCONTEXT;
|
||||
|
||||
static LONG DiskClose(ULONG FileId)
|
||||
static ARC_STATUS DiskClose(ULONG FileId)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -156,7 +156,7 @@ static LONG DiskClose(ULONG FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG DiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
static ARC_STATUS DiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -167,7 +167,7 @@ static LONG DiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG DiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
static ARC_STATUS DiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
PSCSI_REQUEST_BLOCK Srb;
|
||||
PCDB Cdb;
|
||||
|
@ -237,7 +237,7 @@ static LONG DiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
static ARC_STATUS DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
PSCSI_REQUEST_BLOCK Srb;
|
||||
|
@ -345,7 +345,7 @@ static LONG DiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG DiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
static ARC_STATUS DiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
DISKCONTEXT* Context = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
|
|
@ -1196,7 +1196,7 @@ BOOLEAN Ext2CopyTripleIndirectBlockPointers(ULONG* BlockList, ULONG* CurrentBloc
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
LONG Ext2Close(ULONG FileId)
|
||||
ARC_STATUS Ext2Close(ULONG FileId)
|
||||
{
|
||||
PEXT2_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -1205,7 +1205,7 @@ LONG Ext2Close(ULONG FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG Ext2GetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
ARC_STATUS Ext2GetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
PEXT2_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -1221,7 +1221,7 @@ LONG Ext2GetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG Ext2Open(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
ARC_STATUS Ext2Open(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
PEXT2_FILE_INFO FileHandle;
|
||||
//ULONG DeviceId;
|
||||
|
@ -1251,7 +1251,7 @@ LONG Ext2Open(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG Ext2Read(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
ARC_STATUS Ext2Read(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
PEXT2_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
ULONGLONG BytesReadBig;
|
||||
|
@ -1272,7 +1272,7 @@ LONG Ext2Read(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
|||
return EIO;
|
||||
}
|
||||
|
||||
LONG Ext2Seek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
ARC_STATUS Ext2Seek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
PEXT2_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
|
|
@ -1397,7 +1397,7 @@ BOOLEAN FatReadVolumeSectors(PFAT_VOLUME_INFO Volume, ULONG SectorNumber, ULONG
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
LONG FatClose(ULONG FileId)
|
||||
ARC_STATUS FatClose(ULONG FileId)
|
||||
{
|
||||
PFAT_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -1407,7 +1407,7 @@ LONG FatClose(ULONG FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG FatGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
ARC_STATUS FatGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
PFAT_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -1423,7 +1423,7 @@ LONG FatGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG FatOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
ARC_STATUS FatOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
PFAT_VOLUME_INFO FatVolume;
|
||||
FAT_FILE_INFO TempFileInfo;
|
||||
|
@ -1465,7 +1465,7 @@ LONG FatOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG FatRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
ARC_STATUS FatRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
PFAT_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
BOOLEAN ret;
|
||||
|
@ -1484,7 +1484,7 @@ LONG FatRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
|||
return EIO;
|
||||
}
|
||||
|
||||
LONG FatSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
ARC_STATUS FatSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
PFAT_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
|
|
@ -224,7 +224,7 @@ typedef struct tagDEVICE
|
|||
static FILEDATA FileData[MAX_FDS];
|
||||
static LIST_ENTRY DeviceListHead;
|
||||
|
||||
LONG ArcClose(ULONG FileId)
|
||||
ARC_STATUS ArcClose(ULONG FileId)
|
||||
{
|
||||
LONG ret;
|
||||
|
||||
|
@ -242,14 +242,14 @@ LONG ArcClose(ULONG FileId)
|
|||
return ret;
|
||||
}
|
||||
|
||||
LONG ArcGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
ARC_STATUS ArcGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
if (FileId >= MAX_FDS || !FileData[FileId].FuncTable)
|
||||
return EBADF;
|
||||
return FileData[FileId].FuncTable->GetFileInformation(FileId, Information);
|
||||
}
|
||||
|
||||
LONG ArcOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
ARC_STATUS ArcOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
ULONG Count, i, ret;
|
||||
PLIST_ENTRY pEntry;
|
||||
|
@ -398,14 +398,14 @@ LONG ArcOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
return ret;
|
||||
}
|
||||
|
||||
LONG ArcRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
ARC_STATUS ArcRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
if (FileId >= MAX_FDS || !FileData[FileId].FuncTable)
|
||||
return EBADF;
|
||||
return FileData[FileId].FuncTable->Read(FileId, Buffer, N, Count);
|
||||
}
|
||||
|
||||
LONG ArcSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
ARC_STATUS ArcSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
if (FileId >= MAX_FDS || !FileData[FileId].FuncTable)
|
||||
return EBADF;
|
||||
|
|
|
@ -240,7 +240,7 @@ static LONG IsoLookupFile(PCSTR FileName, ULONG DeviceId, PISO_FILE_INFO IsoFile
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG IsoClose(ULONG FileId)
|
||||
ARC_STATUS IsoClose(ULONG FileId)
|
||||
{
|
||||
PISO_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -249,7 +249,7 @@ LONG IsoClose(ULONG FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG IsoGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
ARC_STATUS IsoGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
PISO_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -263,7 +263,7 @@ LONG IsoGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG IsoOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
ARC_STATUS IsoOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
ISO_FILE_INFO TempFileInfo;
|
||||
PISO_FILE_INFO FileHandle;
|
||||
|
@ -292,7 +292,7 @@ LONG IsoOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG IsoRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
ARC_STATUS IsoRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
PISO_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
UCHAR SectorBuffer[SECTORSIZE];
|
||||
|
@ -461,7 +461,7 @@ LONG IsoRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG IsoSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
ARC_STATUS IsoSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
PISO_FILE_INFO FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
|
|
@ -755,7 +755,7 @@ static BOOLEAN NtfsLookupFile(PNTFS_VOLUME_INFO Volume, PCSTR FileName, PNTFS_MF
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
LONG NtfsClose(ULONG FileId)
|
||||
ARC_STATUS NtfsClose(ULONG FileId)
|
||||
{
|
||||
PNTFS_FILE_HANDLE FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -765,7 +765,7 @@ LONG NtfsClose(ULONG FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG NtfsGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
ARC_STATUS NtfsGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
PNTFS_FILE_HANDLE FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
@ -781,7 +781,7 @@ LONG NtfsGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG NtfsOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
ARC_STATUS NtfsOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
PNTFS_VOLUME_INFO Volume;
|
||||
PNTFS_FILE_HANDLE FileHandle;
|
||||
|
@ -828,7 +828,7 @@ LONG NtfsOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
LONG NtfsRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
ARC_STATUS NtfsRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
PNTFS_FILE_HANDLE FileHandle = FsGetDeviceSpecific(FileId);
|
||||
ULONGLONG BytesRead64;
|
||||
|
@ -848,7 +848,7 @@ LONG NtfsRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
|||
return EIO;
|
||||
}
|
||||
|
||||
LONG NtfsSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
ARC_STATUS NtfsSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
PNTFS_FILE_HANDLE FileHandle = FsGetDeviceSpecific(FileId);
|
||||
|
||||
|
|
|
@ -116,7 +116,7 @@ BOOLEAN CallPxe(UINT16 Service, PVOID Parameter)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static LONG PxeClose(ULONG FileId)
|
||||
static ARC_STATUS PxeClose(ULONG FileId)
|
||||
{
|
||||
t_PXENV_TFTP_CLOSE closeData;
|
||||
|
||||
|
@ -136,7 +136,7 @@ static LONG PxeClose(ULONG FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG PxeGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
static ARC_STATUS PxeGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
if (_OpenFile == NO_FILE || FileId != _OpenFile)
|
||||
return EBADF;
|
||||
|
@ -148,7 +148,7 @@ static LONG PxeGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG PxeOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
static ARC_STATUS PxeOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
t_PXENV_TFTP_GET_FSIZE sizeData;
|
||||
t_PXENV_TFTP_OPEN openData;
|
||||
|
@ -197,7 +197,7 @@ static LONG PxeOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG PxeRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
static ARC_STATUS PxeRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
t_PXENV_TFTP_READ readData;
|
||||
ULONG i;
|
||||
|
@ -240,7 +240,7 @@ static LONG PxeRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
|||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG PxeSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
static ARC_STATUS PxeSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
t_PXENV_TFTP_READ readData;
|
||||
|
||||
|
@ -290,31 +290,31 @@ const DEVVTBL* PxeMount(ULONG DeviceId)
|
|||
return &PxeVtbl;
|
||||
}
|
||||
|
||||
static LONG PxeDiskClose(ULONG FileId)
|
||||
static ARC_STATUS PxeDiskClose(ULONG FileId)
|
||||
{
|
||||
// Nothing to do
|
||||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG PxeDiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
static ARC_STATUS PxeDiskGetFileInformation(ULONG FileId, FILEINFORMATION* Information)
|
||||
{
|
||||
// No disk access in PXE mode
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
static LONG PxeDiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
static ARC_STATUS PxeDiskOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId)
|
||||
{
|
||||
// Nothing to do
|
||||
return ESUCCESS;
|
||||
}
|
||||
|
||||
static LONG PxeDiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
static ARC_STATUS PxeDiskRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count)
|
||||
{
|
||||
// No disk access in PXE mode
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
static LONG PxeDiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
static ARC_STATUS PxeDiskSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode)
|
||||
{
|
||||
// No disk access in PXE mode
|
||||
return EINVAL;
|
||||
|
|
|
@ -16,24 +16,3 @@
|
|||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
/* component.c */
|
||||
CONFIGURATION_COMPONENT* ArcGetChild(CONFIGURATION_COMPONENT *Current);
|
||||
CONFIGURATION_COMPONENT* ArcGetParent(CONFIGURATION_COMPONENT *Current);
|
||||
CONFIGURATION_COMPONENT* ArcGetPeer(CONFIGURATION_COMPONENT *Current);
|
||||
CONFIGURATION_COMPONENT*
|
||||
ArcAddChild(
|
||||
CONFIGURATION_COMPONENT *Current,
|
||||
CONFIGURATION_COMPONENT *Template,
|
||||
VOID *ConfigurationData);
|
||||
LONG
|
||||
ArcDeleteComponent(
|
||||
CONFIGURATION_COMPONENT *ComponentToDelete);
|
||||
LONG
|
||||
ArcGetConfigurationData(
|
||||
VOID* ConfigurationData,
|
||||
CONFIGURATION_COMPONENT* Component);
|
||||
|
||||
/* time.c */
|
||||
TIMEINFO* ArcGetTime(VOID);
|
||||
ULONG ArcGetRelativeTime(VOID);
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
#endif
|
||||
|
||||
/* internal headers */
|
||||
#include <arcemul.h>
|
||||
// #include <arcemul.h>
|
||||
#include <bytesex.h>
|
||||
#include <cache.h>
|
||||
#include <cmdline.h>
|
||||
|
|
|
@ -43,11 +43,11 @@ VOID* FsGetDeviceSpecific(ULONG FileId);
|
|||
ULONG FsGetDeviceId(ULONG FileId);
|
||||
VOID FsInit(VOID);
|
||||
|
||||
LONG ArcClose(ULONG FileId);
|
||||
LONG ArcGetFileInformation(ULONG FileId, FILEINFORMATION* Information);
|
||||
LONG ArcOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId);
|
||||
LONG ArcRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count);
|
||||
LONG ArcSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode);
|
||||
ARC_STATUS ArcClose(ULONG FileId);
|
||||
ARC_STATUS ArcGetFileInformation(ULONG FileId, FILEINFORMATION* Information);
|
||||
ARC_STATUS ArcOpen(CHAR* Path, OPENMODE OpenMode, ULONG* FileId);
|
||||
ARC_STATUS ArcRead(ULONG FileId, VOID* Buffer, ULONG N, ULONG* Count);
|
||||
ARC_STATUS ArcSeek(ULONG FileId, LARGE_INTEGER* Position, SEEKMODE SeekMode);
|
||||
|
||||
VOID FileSystemError(PCSTR ErrorString);
|
||||
PFILE FsOpenFile(PCSTR FileName);
|
||||
|
|
|
@ -127,4 +127,9 @@ VOID MachHwIdle(VOID);
|
|||
#define MachHwDetect() MachVtbl.HwDetect()
|
||||
#define MachHwIdle() MachVtbl.HwIdle()
|
||||
|
||||
/* ARC FUNCTIONS **************************************************************/
|
||||
|
||||
TIMEINFO* ArcGetTime(VOID);
|
||||
ULONG ArcGetRelativeTime(VOID);
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -168,4 +168,24 @@ MachDiskGetCacheableBlockCount(UCHAR DriveNumber)
|
|||
return MachVtbl.DiskGetCacheableBlockCount(DriveNumber);
|
||||
}
|
||||
|
||||
|
||||
/* ARC FUNCTIONS **************************************************************/
|
||||
|
||||
TIMEINFO*
|
||||
ArcGetTime(VOID)
|
||||
{
|
||||
return MachVtbl.GetTime();
|
||||
}
|
||||
|
||||
ULONG
|
||||
ArcGetRelativeTime(VOID)
|
||||
{
|
||||
TIMEINFO* TimeInfo;
|
||||
ULONG ret;
|
||||
|
||||
TimeInfo = ArcGetTime();
|
||||
ret = ((TimeInfo->Hour * 24) + TimeInfo->Minute) * 60 + TimeInfo->Second;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -73,6 +73,31 @@ typedef enum _CONFIGURATION_CLASS
|
|||
MaximumClass
|
||||
} CONFIGURATION_CLASS;
|
||||
|
||||
// enum CONFIGURATION_TYPE is defined in ntddk.h
|
||||
|
||||
typedef struct _CONFIGURATION_COMPONENT
|
||||
{
|
||||
CONFIGURATION_CLASS Class;
|
||||
CONFIGURATION_TYPE Type;
|
||||
IDENTIFIER_FLAG Flags;
|
||||
USHORT Version;
|
||||
USHORT Revision;
|
||||
ULONG Key;
|
||||
ULONG AffinityMask;
|
||||
ULONG ConfigurationDataLength;
|
||||
ULONG IdentifierLength;
|
||||
LPSTR Identifier;
|
||||
} CONFIGURATION_COMPONENT, *PCONFIGURATION_COMPONENT;
|
||||
|
||||
typedef struct _CONFIGURATION_COMPONENT_DATA
|
||||
{
|
||||
struct _CONFIGURATION_COMPONENT_DATA *Parent;
|
||||
struct _CONFIGURATION_COMPONENT_DATA *Child;
|
||||
struct _CONFIGURATION_COMPONENT_DATA *Sibling;
|
||||
CONFIGURATION_COMPONENT ComponentEntry;
|
||||
PVOID ConfigurationData;
|
||||
} CONFIGURATION_COMPONENT_DATA, *PCONFIGURATION_COMPONENT_DATA;
|
||||
|
||||
typedef enum _TYPE_OF_MEMORY
|
||||
{
|
||||
LoaderExceptionBlock,
|
||||
|
@ -167,29 +192,6 @@ typedef struct _ARC_DISK_SIGNATURE
|
|||
CHAR GptSignature[16];
|
||||
} ARC_DISK_SIGNATURE, *PARC_DISK_SIGNATURE;
|
||||
|
||||
typedef struct _CONFIGURATION_COMPONENT
|
||||
{
|
||||
CONFIGURATION_CLASS Class;
|
||||
CONFIGURATION_TYPE Type;
|
||||
IDENTIFIER_FLAG Flags;
|
||||
USHORT Version;
|
||||
USHORT Revision;
|
||||
ULONG Key;
|
||||
ULONG AffinityMask;
|
||||
ULONG ConfigurationDataLength;
|
||||
ULONG IdentifierLength;
|
||||
LPSTR Identifier;
|
||||
} CONFIGURATION_COMPONENT, *PCONFIGURATION_COMPONENT;
|
||||
|
||||
typedef struct _CONFIGURATION_COMPONENT_DATA
|
||||
{
|
||||
struct _CONFIGURATION_COMPONENT_DATA *Parent;
|
||||
struct _CONFIGURATION_COMPONENT_DATA *Child;
|
||||
struct _CONFIGURATION_COMPONENT_DATA *Sibling;
|
||||
CONFIGURATION_COMPONENT ComponentEntry;
|
||||
PVOID ConfigurationData;
|
||||
} CONFIGURATION_COMPONENT_DATA, *PCONFIGURATION_COMPONENT_DATA;
|
||||
|
||||
typedef struct _ARC_DISK_INFORMATION
|
||||
{
|
||||
LIST_ENTRY DiskSignatureListHead;
|
||||
|
@ -497,9 +499,41 @@ typedef struct tagFILEINFORMATION
|
|||
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);
|
||||
typedef
|
||||
ARC_STATUS
|
||||
(*ARC_CLOSE)(
|
||||
ULONG FileId
|
||||
);
|
||||
|
||||
typedef
|
||||
ARC_STATUS
|
||||
(*ARC_GET_FILE_INFORMATION)(
|
||||
ULONG FileId,
|
||||
FILEINFORMATION* Information
|
||||
);
|
||||
|
||||
typedef
|
||||
ARC_STATUS
|
||||
(*ARC_OPEN)(
|
||||
CHAR* Path,
|
||||
OPENMODE OpenMode,
|
||||
ULONG* FileId
|
||||
);
|
||||
|
||||
typedef
|
||||
ARC_STATUS
|
||||
(*ARC_READ)(
|
||||
ULONG FileId,
|
||||
VOID* Buffer,
|
||||
ULONG N, ULONG* Count
|
||||
);
|
||||
|
||||
typedef
|
||||
ARC_STATUS
|
||||
(*ARC_SEEK)(
|
||||
ULONG FileId,
|
||||
LARGE_INTEGER* Position,
|
||||
SEEKMODE SeekMode
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue