ARC_STATUS HalSetEnvironmentVariable ( IN PCHAR Variable, IN PCHAR Value ) /*++ Routine Description: This function creates an environment variable with the specified value. Arguments: Variable - Supplies a pointer to an environment variable name. Value - Supplies a pointer to the environment variable value. Return Value: ESUCCESS is returned if the environment variable is created. Otherwise, ENOMEM is returned. NOTES: This preliminary implementation always returns ESUCCESS even in case of error. --*/ { ARC_STATUS Status; Status = ArcSetEnvironmentVariable(Variable, Value); switch (Status) { case ESUCCESS: break; case ENOSPC: break; // until further we assume NT can handle that case ENOMEM: default: Status = ENOMEM; break; } return Status; }
VOID JzMakeEnvironment ( ULONG BusNumber, ULONG Device, ULONG DeviceId, ULONG DevicePartition ) /*++ Routine Description: This routine initializes the environment variables. Arguments: None. Return Value: None. --*/ { ARC_STATUS Status; CHAR TempString[80]; switch (Device) { #ifdef DUO case 0: sprintf( TempString, "scsi(%1d)disk(%1d)rdisk()partition(%1d)", BusNumber, DeviceId, DevicePartition); break; case 1: sprintf( TempString, "scsi(%1d)disk(%1d)fdisk()", BusNumber, DeviceId); break; default: sprintf( TempString, "scsi(%1d)cdrom(%1d)fdisk()", BusNumber, DeviceId); break; #else case 0: sprintf( TempString, "scsi()disk(%1d)rdisk()partition(%1d)", DeviceId, DevicePartition); break; case 1: sprintf( TempString, "scsi()disk(%1d)fdisk()", DeviceId); break; default: sprintf( TempString, "scsi()cdrom(%1d)fdisk()", DeviceId); break; #endif // DUO } Status = ArcSetEnvironmentVariable("CONSOLEIN", "multi()key()keyboard()console()"); if (Status != ESUCCESS) { goto TestError; } Status = ArcSetEnvironmentVariable("CONSOLEOUT", "multi()video()monitor()console()"); if (Status != ESUCCESS) { goto TestError; } Status = ArcSetEnvironmentVariable("FWSEARCHPATH", TempString); if (Status != ESUCCESS) { goto TestError; } // TEMPTEMP Status = ArcSetEnvironmentVariable("SYSTEMPARTITION", TempString); if (Status != ESUCCESS) { goto TestError; } // TEMPTEMP // Status = ArcSetEnvironmentVariable("TIMEZONE", // "PST8PDT"); // if (Status != ESUCCESS) { // goto TestError; // } #ifndef DUO Status = ArcSetEnvironmentVariable("A:", "multi()disk()fdisk()"); #endif // DUO if (Status != ESUCCESS) { goto TestError; } return; TestError: JzPrint(JZ_CANT_SET_VARIABLE_MSG); return; }