}\r
};\r
\r
+/**\r
+ Set value of a data element in an Array by its Index.\r
+\r
+ @param Array The data array.\r
+ @param Type Type of the data in this array.\r
+ @param Index Zero based index for data in this array.\r
+ @param Value The value to be set.\r
+\r
+**/\r
+VOID\r
+SetArrayData (\r
+ IN VOID *Array,\r
+ IN UINT8 Type,\r
+ IN UINTN Index,\r
+ IN UINT64 Value\r
+ )\r
+{\r
+\r
+ ASSERT (Array != NULL);\r
+\r
+ switch (Type) {\r
+ case EFI_IFR_TYPE_NUM_SIZE_8:\r
+ *(((UINT8 *) Array) + Index) = (UINT8) Value;\r
+ break;\r
+\r
+ case EFI_IFR_TYPE_NUM_SIZE_16:\r
+ *(((UINT16 *) Array) + Index) = (UINT16) Value;\r
+ break;\r
+\r
+ case EFI_IFR_TYPE_NUM_SIZE_32:\r
+ *(((UINT32 *) Array) + Index) = (UINT32) Value;\r
+ break;\r
+\r
+ case EFI_IFR_TYPE_NUM_SIZE_64:\r
+ *(((UINT64 *) Array) + Index) = (UINT64) Value;\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+}\r
+\r
/**\r
Add empty function for event process function.\r
\r
EFI_STRING Results;\r
UINT32 ProgressErr;\r
CHAR16 *TmpStr;\r
- \r
+ UINTN Index;\r
+ UINT64 BufferValue;\r
+\r
if (((Value == NULL) && (Action != EFI_BROWSER_ACTION_FORM_OPEN) && (Action != EFI_BROWSER_ACTION_FORM_CLOSE))||\r
(ActionRequest == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
FormId = 0;\r
ProgressErr = 0;\r
Status = EFI_SUCCESS;\r
+ BufferValue = 3;\r
PrivateData = DRIVER_SAMPLE_PRIVATE_FROM_THIS (This);\r
\r
switch (Action) {\r
Value->u8 = DEFAULT_CLASS_STANDARD_VALUE;\r
break;\r
\r
+ case 0x1252:\r
+ for (Index = 0; Index < 3; Index ++) {\r
+ SetArrayData (Value, EFI_IFR_TYPE_NUM_SIZE_8, Index, BufferValue--);\r
+ }\r
+ break;\r
+\r
default:\r
Status = EFI_UNSUPPORTED;\r
break;\r
//\r
// Sample Setup formset.\r
//\r
-// Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>\r
+// Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>\r
// 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
step = 1,\r
default = 18,\r
endnumeric;\r
+\r
+ orderedlist\r
+ varid = MyIfrNVData.GetDefaultValueFromCallBackForOrderedList,\r
+ questionid = 0x1252,\r
+ prompt = STRING_TOKEN(STR_DEFAULT_VALUE_FROM_CALLBACK_PROMPT),\r
+ help = STRING_TOKEN(STR_DEFAULT_VALUE_FROM_CALLBACK_HELP),\r
+ flags = INTERACTIVE,\r
+ option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 1, flags = 0;\r
+ option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 2, flags = 0;\r
+ option text = STRING_TOKEN(STR_ONE_OF_TEXT3), value = 3, flags = 0;\r
+ endlist;\r
\r
resetbutton\r
defaultstore = MyStandardDefault,\r