-/*++\r
+/** @file\r
+ Variable operation that will be used by bootmaint\r
\r
-Copyright (c) 2004 - 2008, Intel Corporation\r
+Copyright (c) 2004 - 2008, Intel Corporation. <BR>\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
-Module Name:\r
+**/\r
\r
- Variable.c\r
+#include "BootMaint.h"\r
\r
-Abstract:\r
+/**\r
+ Delete Boot Option that represent a Deleted state in BootOptionMenu.\r
+ After deleting this boot option, call Var_ChangeBootOrder to\r
+ make sure BootOrder is in valid state.\r
\r
- Variable operation that will be used by bootmaint\r
\r
---*/\r
+ @param VOID EDES_TODO: Add parameter description\r
\r
-#include "BootMaint.h"\r
+ EDES_TODO: Incomplete Descriptions EFI_SUCCESS\r
+ EDES_TODO: Incomplete Descriptions Others\r
\r
+**/\r
EFI_STATUS\r
Var_DelBootOption (\r
VOID\r
)\r
-/*++\r
-\r
-Routine Description:\r
- Delete Boot Option that represent a Deleted state in BootOptionMenu.\r
- After deleting this boot option, call Var_ChangeBootOrder to\r
- make sure BootOrder is in valid state.\r
-\r
-Arguments:\r
- LoadOption -- Pointer to the boot option that to be deleted\r
-\r
-Returns:\r
- EFI_SUCCESS\r
- Others\r
-\r
---*/\r
{\r
BM_MENU_ENTRY *NewMenuEntry;\r
BM_LOAD_CONTEXT *NewLoadContext;\r
return Status;\r
}\r
\r
-EFI_STATUS\r
-Var_ChangeBootOrder (\r
- VOID\r
- )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
After any operation on Boot####, there will be a discrepancy in BootOrder.\r
Since some are missing but in BootOrder, while some are present but are\r
not reflected by BootOrder. Then a function rebuild BootOrder from\r
scratch by content from BootOptionMenu is needed.\r
\r
-Arguments:\r
\r
-Returns:\r
- EFI_SUCCESS\r
- Others\r
+ @param VOID EDES_TODO: Add parameter description\r
+\r
+ EDES_TODO: Incomplete Descriptions EFI_SUCCESS\r
+ EDES_TODO: Incomplete Descriptions Others\r
\r
---*/\r
+**/\r
+EFI_STATUS\r
+Var_ChangeBootOrder (\r
+ VOID\r
+ )\r
{\r
\r
EFI_STATUS Status;\r
//\r
// If exists, delete it to hold new BootOrder\r
//\r
- if (BootOrderList) {\r
+ if (BootOrderList != NULL) {\r
EfiLibDeleteVariable (L"BootOrder", &gEfiGlobalVariableGuid);\r
SafeFreePool (BootOrderList);\r
BootOrderList = NULL;\r
return EFI_SUCCESS;\r
}\r
\r
-EFI_STATUS\r
-Var_DelDriverOption (\r
- VOID\r
- )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
Delete Load Option that represent a Deleted state in BootOptionMenu.\r
After deleting this Driver option, call Var_ChangeDriverOrder to\r
make sure DriverOrder is in valid state.\r
\r
-Arguments:\r
- LoadOption -- Pointer to the Driver option that to be deleted\r
\r
-Returns:\r
- EFI_SUCCESS\r
- Others\r
+ @param VOID EDES_TODO: Add parameter description\r
+\r
+ EDES_TODO: Incomplete Descriptions EFI_SUCCESS\r
+ EDES_TODO: Incomplete Descriptions Others\r
\r
---*/\r
+**/\r
+EFI_STATUS\r
+Var_DelDriverOption (\r
+ VOID\r
+ )\r
{\r
BM_MENU_ENTRY *NewMenuEntry;\r
BM_LOAD_CONTEXT *NewLoadContext;\r
return Status;\r
}\r
\r
-EFI_STATUS\r
-Var_ChangeDriverOrder (\r
- VOID\r
- )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
After any operation on Driver####, there will be a discrepancy in\r
DriverOrder. Since some are missing but in DriverOrder, while some\r
are present but are not reflected by DriverOrder. Then a function\r
rebuild DriverOrder from scratch by content from DriverOptionMenu is\r
needed.\r
\r
-Arguments:\r
\r
-Returns:\r
- EFI_SUCCESS\r
- Others\r
+ @param VOID EDES_TODO: Add parameter description\r
+\r
+ EDES_TODO: Incomplete Descriptions EFI_SUCCESS\r
+ EDES_TODO: Incomplete Descriptions Others\r
\r
---*/\r
+**/\r
+EFI_STATUS\r
+Var_ChangeDriverOrder (\r
+ VOID\r
+ )\r
{\r
EFI_STATUS Status;\r
BM_MENU_ENTRY *NewMenuEntry;\r
//\r
// If exists, delete it to hold new DriverOrder\r
//\r
- if (DriverOrderList) {\r
+ if (DriverOrderList != NULL) {\r
EfiLibDeleteVariable (L"DriverOrder", &gEfiGlobalVariableGuid);\r
SafeFreePool (DriverOrderList);\r
DriverOrderList = NULL;\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param VOID EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
VOID\r
Var_UpdateAllConsoleOption (\r
VOID\r
OutDevicePath = EfiLibGetVariable (L"ConOut", &gEfiGlobalVariableGuid);\r
InpDevicePath = EfiLibGetVariable (L"ConIn", &gEfiGlobalVariableGuid);\r
ErrDevicePath = EfiLibGetVariable (L"ErrOut", &gEfiGlobalVariableGuid);\r
- if (OutDevicePath) {\r
+ if (OutDevicePath != NULL) {\r
ChangeVariableDevicePath (OutDevicePath);\r
Status = gRT->SetVariable (\r
L"ConOut",\r
ASSERT (!EFI_ERROR (Status));\r
}\r
\r
- if (InpDevicePath) {\r
+ if (InpDevicePath != NULL) {\r
ChangeVariableDevicePath (InpDevicePath);\r
Status = gRT->SetVariable (\r
L"ConIn",\r
ASSERT (!EFI_ERROR (Status));\r
}\r
\r
- if (ErrDevicePath) {\r
+ if (ErrDevicePath != NULL) {\r
ChangeVariableDevicePath (ErrDevicePath);\r
Status = gRT->SetVariable (\r
L"ErrOut",\r
}\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param ConsoleName EDES_TODO: Add parameter description\r
+ @param ConsoleMenu EDES_TODO: Add parameter description\r
+ @param UpdatePageId EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateConsoleOption (\r
IN UINT16 *ConsoleName,\r
}\r
\r
NewTerminalContext = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
- if ((NewTerminalContext->IsConIn && (UpdatePageId == FORM_CON_IN_ID)) ||\r
- (NewTerminalContext->IsConOut && (UpdatePageId == FORM_CON_OUT_ID)) ||\r
- (NewTerminalContext->IsStdErr && (UpdatePageId == FORM_CON_ERR_ID))\r
+ if (((NewTerminalContext->IsConIn != 0) && (UpdatePageId == FORM_CON_IN_ID)) ||\r
+ ((NewTerminalContext->IsConOut != 0) && (UpdatePageId == FORM_CON_OUT_ID)) ||\r
+ ((NewTerminalContext->IsStdErr != 0) && (UpdatePageId == FORM_CON_ERR_ID))\r
) {\r
Vendor.Header.Type = MESSAGING_DEVICE_PATH;\r
Vendor.Header.SubType = MSG_VENDOR_DP;\r
}\r
}\r
\r
- if (ConDevicePath) {\r
+ if (ConDevicePath != NULL) {\r
Status = gRT->SetVariable (\r
ConsoleName,\r
&gEfiGlobalVariableGuid,\r
\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param VOID EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateConsoleInpOption (\r
VOID\r
return Var_UpdateConsoleOption (L"ConIn", &ConsoleInpMenu, FORM_CON_IN_ID);\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param VOID EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateConsoleOutOption (\r
VOID\r
return Var_UpdateConsoleOption (L"ConOut", &ConsoleOutMenu, FORM_CON_OUT_ID);\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param VOID EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateErrorOutOption (\r
VOID\r
return Var_UpdateConsoleOption (L"ErrOut", &ConsoleErrMenu, FORM_CON_ERR_ID);\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param CallbackData EDES_TODO: Add parameter description\r
+ @param HiiHandle EDES_TODO: Add parameter description\r
+ @param DescriptionData EDES_TODO: Add parameter description\r
+ @param OptionalData EDES_TODO: Add parameter description\r
+ @param ForceReconnect EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateDriverOption (\r
IN BMM_CALLBACK_DATA *CallbackData,\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param CallbackData EDES_TODO: Add parameter description\r
+ @param NvRamMap EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateBootOption (\r
IN BMM_CALLBACK_DATA *CallbackData,\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param CallbackData EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateBootNext (\r
IN BMM_CALLBACK_DATA *CallbackData\r
return Status;\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param CallbackData EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateBootOrder (\r
IN BMM_CALLBACK_DATA *CallbackData\r
);\r
\r
NewBootOrderList = EfiAllocateZeroPool (BootOrderListSize);\r
- if (!NewBootOrderList) {\r
+ if (NewBootOrderList == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
Map = EfiAllocateZeroPool (BootOrderListSize / sizeof (UINT16));\r
- if (!Map) {\r
+ if (Map == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
//\r
// If exists, delete it to hold new BootOrder\r
//\r
- if (BootOrderList) {\r
+ if (BootOrderList != NULL) {\r
EfiLibDeleteVariable (L"BootOrder", &gEfiGlobalVariableGuid);\r
}\r
\r
\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param CallbackData EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateDriverOrder (\r
IN BMM_CALLBACK_DATA *CallbackData\r
\r
NewDriverOrderList = EfiAllocateZeroPool (DriverOrderListSize);\r
\r
- if (!NewDriverOrderList) {\r
+ if (NewDriverOrderList == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
//\r
// If exists, delete it to hold new DriverOrder\r
//\r
- if (DriverOrderList) {\r
+ if (DriverOrderList != NULL) {\r
EfiLibDeleteVariable (L"DriverOrder", &gEfiGlobalVariableGuid);\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param CallbackData EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateBBSOption (\r
IN BMM_CALLBACK_DATA *CallbackData\r
// Update the Variable "LegacyDevOrder"\r
//\r
VarData = (UINT8 *) BdsLibGetVariableAndSize (\r
- VarLegacyDevOrder,\r
+ VAR_LEGACY_DEV_ORDER,\r
&EfiLegacyDevOrderGuid,\r
&VarSize\r
);\r
Tmp &= 0xFF;\r
Pos = Tmp / 8;\r
Bit = 7 - (Tmp % 8);\r
- if (DisMap[Pos] & (1 << Bit)) {\r
+ if ((DisMap[Pos] & (1 << Bit)) != 0) {\r
NewOrder[Index] = (UINT16) (0xFF00 | Tmp);\r
Index++;\r
}\r
SafeFreePool (NewOrder);\r
\r
Status = gRT->SetVariable (\r
- VarLegacyDevOrder,\r
+ VAR_LEGACY_DEV_ORDER,\r
&EfiLegacyDevOrderGuid,\r
VAR_FLAG,\r
VarSize,\r
return Status;\r
}\r
\r
+/**\r
+ EDES_TODO: Add function description.\r
+\r
+ @param CallbackData EDES_TODO: Add parameter description\r
+\r
+ @return EDES_TODO: Add description for return value\r
+\r
+**/\r
EFI_STATUS\r
Var_UpdateConMode (\r
IN BMM_CALLBACK_DATA *CallbackData\r