+/**\r
+ Changes a shell command alias.\r
+\r
+ This function creates an alias for a shell command or if Alias is NULL it will delete an existing alias.\r
+\r
+\r
+ @param[in] Command Points to the NULL-terminated shell command or existing alias.\r
+ @param[in] Alias Points to the NULL-terminated alias for the shell command. If this is NULL, and\r
+ Command refers to an alias, that alias will be deleted.\r
+ @param[in] Replace If TRUE and the alias already exists, then the existing alias will be replaced. If\r
+ FALSE and the alias already exists, then the existing alias is unchanged and\r
+ EFI_ACCESS_DENIED is returned.\r
+ @param[in] Volatile if TRUE the Alias being set will be stored in a volatile fashion. if FALSE the\r
+ Alias being set will be stored in a non-volatile fashion.\r
+\r
+ @retval SHELL_SUCCESS Alias created or deleted successfully.\r
+ @retval SHELL_NOT_FOUND the Alias intended to be deleted was not found\r
+ @retval SHELL_ACCESS_DENIED The alias is a built-in alias or already existed and Replace was set to\r
+ FALSE.\r
+ @retval SHELL_DEVICE_ERROR Command is null or the empty string.\r
+**/\r
+SHELL_STATUS\r
+ShellLevel3CommandsLibSetAlias(\r
+ IN CONST CHAR16 *Command,\r
+ IN CONST CHAR16 *Alias,\r
+ IN BOOLEAN Replace,\r
+ IN BOOLEAN Volatile\r
+ )\r
+{\r
+ SHELL_STATUS ShellStatus;\r
+ EFI_STATUS Status;\r
+\r
+ ShellStatus = SHELL_SUCCESS;\r
+ Status = gEfiShellProtocol->SetAlias (Command, Alias, Replace, Volatile);\r
+ if (EFI_ERROR(Status)) {\r
+ if (Status == EFI_ACCESS_DENIED) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_AD), gShellLevel3HiiHandle, L"alias");\r
+ ShellStatus = SHELL_ACCESS_DENIED;\r
+ } else if (Status == EFI_NOT_FOUND) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_NOT_FOUND), gShellLevel3HiiHandle, L"alias", Command);\r
+ ShellStatus = SHELL_NOT_FOUND;\r
+ } else {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ERR_UK), gShellLevel3HiiHandle, L"alias", Status);\r
+ ShellStatus = SHELL_DEVICE_ERROR;\r
+ }\r
+ }\r
+ return ShellStatus;\r
+}\r
+\r