20#if defined(_M_IX86) || defined(_M_AMD64)
45 UCHAR BiosDriveNumber = 0;
55 if (!ArgValue || !*ArgValue ||
_stricmp(ArgValue,
"BootSector") != 0)
57 ERR(
"Unexpected boot type '%s', aborting\n", ArgValue ? ArgValue :
"n/a");
70 if (!BootPath || !*BootPath)
76 if (ArgValue && *ArgValue)
83 if (ArgValue && *ArgValue)
97 if (BootPath && *BootPath)
107 UiMessageBox(
"Currently unsupported BootPath value:\n%s", BootPath);
120 if (
strstr(BootPath,
")partition()") ||
strstr(BootPath,
")partition(0)"))
146 if (!BiosDriveNumber)
164#if defined(SARCH_PC98)
167 LoadAddress = 0x7C00;
181 WhatFailed =
"boot sector file";
183 WhatFailed =
"partition's boot sector";
185 WhatFailed =
"MBR boot sector";
char * strstr(char *String1, char *String2)
PSTR GetArgumentValue(_In_ ULONG Argc, _In_ PCHAR Argv[], _In_ PCSTR ArgumentName)
BOOLEAN DissectArcPath(IN PCSTR ArcPath, OUT PCSTR *Path OPTIONAL, OUT PUCHAR DriveNumber, OUT PULONG PartitionNumber)
VOID ConstructArcPath(PCHAR ArcPath, PCHAR SystemFolder, UCHAR Disk, ULONG Partition)
#define DriveMapGetBiosDriveNumber(DeviceName)
#define DBG_DEFAULT_CHANNEL(ch)
ARC_STATUS ArcOpen(CHAR *Path, OPENMODE OpenMode, ULONG *FileId)
ARC_STATUS FsOpenFile(IN PCSTR FileName, IN PCSTR DefaultPath OPTIONAL, IN OPENMODE OpenMode, OUT PULONG FileId)
ARC_STATUS ArcClose(_In_ ULONG FileId)
ARC_STATUS ArcRead(ULONG FileId, VOID *Buffer, ULONG N, ULONG *Count)
VOID UiShowMessageBoxesInArgv(IN ULONG Argc, IN PCHAR Argv[])
VOID UiUnInitialize(PCSTR BootText)
VOID UiMessageBox(_In_ PCSTR Format,...)
struct _FileName FileName
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
ULONG Pc98GetBootSectorLoadAddress(IN UCHAR DriveNumber)
VOID __cdecl ChainLoadBiosBootSectorCode(IN UCHAR BootDrive OPTIONAL, IN ULONG BootPartition OPTIONAL)
_CRT_RESTORE_GCC_WARNINGS _CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
_In_ ULONG _In_ ULONG PartitionNumber