34 if (
_strnicmp(ArcPath,
"ramdisk(0)", 10) == 0)
48 if (
_strnicmp(ArcPath,
"multi(0)disk(0)", 15) != 0)
59 *DriveNumber =
atoi(
p);
73 *DriveNumber =
atoi(
p) + 0x80;
87 *DriveNumber =
atoi(
p) + 0x80;
130 if (
_strnicmp(ArcPath,
"ramdisk(0)", 10) == 0)
138 else if (
sscanf(ArcPath,
"scsi(%lu)disk(%lu)rdisk(%lu)partition(%lu)",
x,
y,
z, Partition) == 4)
144 else if (
sscanf(ArcPath,
"scsi(%lu)cdrom(%lu)fdisk(%lu)",
x,
y,
z) == 3)
151 else if (
sscanf(ArcPath,
"multi(%lu)disk(%lu)rdisk(%lu)partition(%lu)",
x,
y,
z, Partition) == 4)
157 else if (
sscanf(ArcPath,
"multi(%lu)disk(%lu)cdrom(%lu)",
x,
y,
z) == 3)
164 else if (
sscanf(ArcPath,
"multi(%lu)disk(%lu)fdisk(%lu)",
x,
y,
z) == 3)
179 strcpy(ArcPath,
"multi(0)disk(0)");
187 sprintf(tmp,
"fdisk(%d)", (
int) Disk);
196 sprintf(tmp,
"rdisk(%d)partition(%d)", (
int) (Disk - 0x80), (
int) Partition);
200 if (SystemFolder[0] ==
'\\' || SystemFolder[0] ==
'/')
202 strcat(ArcPath, SystemFolder);
207 strcat(ArcPath, SystemFolder);
212UCHAR ConvertArcNameToBiosDriveNumber(
PCHAR ArcPath)
215 UCHAR DriveNumber = 0;
217 if (
_strnicmp(ArcPath,
"multi(0)disk(0)", 15) != 0)
228 DriveNumber =
atoi(
p);
237 DriveNumber =
atoi(
p) + 0x80;
PRTL_UNICODE_STRING_BUFFER Path
BOOLEAN DissectArcPath(IN PCSTR ArcPath, OUT PCSTR *Path OPTIONAL, OUT PUCHAR DriveNumber, OUT PULONG PartitionNumber)
BOOLEAN DissectArcPath2(IN PCSTR ArcPath, OUT PULONG x, OUT PULONG y, OUT PULONG z, OUT PULONG Partition, OUT PULONG PathSyntax)
VOID ConstructArcPath(PCHAR ArcPath, PCHAR SystemFolder, UCHAR Disk, ULONG Partition)
#define _strnicmp(_String1, _String2, _MaxCount)
_ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl _ACRTIMP int __cdecl sscanf(const char *, const char *,...) __WINE_CRT_SCANF_ATTR(2
_ACRTIMP int __cdecl atoi(const char *)
_ACRTIMP char *__cdecl strchr(const char *, int)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
PULONG MinorVersion OPTIONAL
_In_ ULONG _In_ ULONG PartitionNumber