BOOLEAN PcDiskGetBootPath(OUT PCHAR BootPath, IN ULONG Size) { // FIXME: Keep it there, or put it in DiskGetBootPath? // Or, abstract the notion of network booting to make // sense for other platforms than the PC (and this idea // already exists), then we would need to check whether // we were booting from network (and: PC --> PXE, etc...) // and if so, set the correct ARC path. But then this new // logic could be moved back to DiskGetBootPath... if (*FrldrBootPath) { /* Copy back the buffer */ if (Size < strlen(FrldrBootPath) + 1) return FALSE; strncpy(BootPath, FrldrBootPath, Size); return TRUE; } // FIXME! FIXME! Do this in some drive recognition procedure!!!! if (PxeInit()) { strcpy(BootPath, "net(0)"); return TRUE; } return DiskGetBootPath(BootPath, Size); }
BOOLEAN PcDiskGetBootPath(char *BootPath, unsigned Size) { if (PxeInit()) { strcpy(BootPath, "net(0)"); return 0; } return DiskGetBootPath(BootPath, Size); }
BOOLEAN PcDiskGetBootPath(char *BootPath, unsigned Size) { // FIXME: Keep it there, or put it in DiskGetBootPath? // Or, abstract the notion of network booting to make // sense for other platforms than the PC (and this idea // already exists), then we would need to check whether // we were booting from network (and: PC --> PXE, etc...) // and if so, set the correct ARC path. But then this new // logic could be moved back to DiskGetBootPath... if (PxeInit()) { strcpy(BootPath, "net(0)"); return TRUE; } return DiskGetBootPath(BootPath, Size); }