Example #1
0
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);
}
Example #2
0
BOOLEAN
PcDiskGetBootPath(char *BootPath, unsigned Size)
{
  if (PxeInit())
    {
      strcpy(BootPath, "net(0)");
      return 0;
    }
  return DiskGetBootPath(BootPath, Size);
}
Example #3
0
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);
}