diff options
Diffstat (limited to 'Lessons_uncategorized')
-rw-r--r-- | Lessons_uncategorized/Lesson_Configuration_Language_6/README.md | 1096 |
1 files changed, 1096 insertions, 0 deletions
diff --git a/Lessons_uncategorized/Lesson_Configuration_Language_6/README.md b/Lessons_uncategorized/Lesson_Configuration_Language_6/README.md new file mode 100644 index 0000000..2055f93 --- /dev/null +++ b/Lessons_uncategorized/Lesson_Configuration_Language_6/README.md @@ -0,0 +1,1096 @@ +Earlier we've investigated how to constuct UEFI configuration request strings to work with individual form elements. There are many things that you must write correctly in such request: GUID/NAME/PATH/OFFSET/WIDTH. Andin case of the last two you need to manually calculate them looking at the underlying variable storage data structure which is very error prone. And all these calculations could become wrong once someone add a new element to the structure. So it is also not very extendable solution. + +But luckily UEFI specification offers us a better way to deal with the individual form elements with a help of the `EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL`: +``` +EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL + +Summary: +The EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL provides the mechanism to set and get the values associated with a keyword exposed through a x-UEFI- prefixed configuration language namespace. + +GUID: +#define EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL_GUID \ +{ 0x0a8badd5, 0x03b8, 0x4d19,\ + {0xb1, 0x28, 0x7b, 0x8f, 0x0e, 0xda, 0xa5, 0x96 }} + + +Protocol Interface Structure: + +typedef struct _EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL { + EFI_CONFIG_KEYWORD_HANDLER_SET_DATA SetData; + EFI_CONFIG_KEYWORD_HANDLER_GET_DATA GetData; +} EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL; + + +Parameters: +SetData Set the data associated with a particular configuration namespace keyword +GetData Get the data associated with a particular configuration namespace keyword + +Description: +The EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL allows other components in the platform (e.g. Browser, Manageability Software, etc.) to retrieve and set configuration settings within the system. Keywords are text elements which are associated with a particular configuration option within the platform. These keywords are intended to add semantic meaning to the configuration option they are attached to. +``` + +The idea is that you give meaningfull "keyword" names to your form elements and then work with them by referring to these "keyword" names. Internally `EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL` function will construct appropriate `Extract`/`Route` requests to the form elements. + +Let's look at the `GetData()` protocol function: +``` +EFI_KEYWORD_HANDLER_PROTOCOL.GetData() + +Summary: +Get the data associated with a particular configuration namespace keyword. + +Prototype: + +typedef +EFI_STATUS +(EFIAPI *EFI_KEYWORD_HANDLER_GET_DATA) ( + IN EFI_KEYWORD_HANDLER_PROTOCOL *This, + IN CONST EFI_STRING NameSpaceId, OPTIONAL + IN CONST EFI_STRING KeywordString, OPTIONAL + OUT EFI_STRING *Progress, + OUT UINT32 *ProgressErr, + OUT EFI_STRING *Results + ); + +Parameters: +This Pointer to the EFI_KEYWORD_HANDLER_PROTOCOL instance +NamespaceId A null-terminated string containing the platform configuration language to search through in the system. If a NULL is passed in, then it is assumed that any platform configuration + language with the prefix of “x-UEFI-” are searched +KeywordString A null-terminated string in <MultiKeywordRequest> format. If a NULL is passed in the KeywordString field, all of the known keywords in the system for the NameSpaceId specified + are returned in the Results field +Progress On return, points to a character in the KeywordString. Points to the string’s NULL terminator if the request was successful + Points to the most recent ‘&’ before the first failing name / value pair (or the beginning of the string if the failure is in the first name / value pair) if the request was not successful +ProgressErr If during the processing of the KeywordString there was a failure, this parameter gives additional information about the possible source of the problem +Results A null-terminated string in <MultiKeywordResp> format is returned which has all the values filled in for the keywords in the KeywordString. + This is a callee-allocated field, and must be freed by the caller after being used. + +Description: +This function accepts a <MultiKeywordRequest> formatted string, finds the underlying keyword owners, creates a <MultiConfigRequest> string from it and forwards it to the EFI_HII_ROUTING_PROTOCOL.ExtractConfig function. +``` + +In this lesson we would write an application `HIIKeyword` that would use that function to allow us to get the data for keywords present in the system. + +As you saw from the `EFI_KEYWORD_HANDLER_PROTOCOL.GetData()` description above, all the keywords are scoped with namespaces. So to get the appropriate data you need to supply both `namespace` and `keyword`. This is why the call signature for our application would look like this: +```cpp +VOID Usage() +{ + Print(L"Usage:\n"); + Print(L"HIIKeyword get <NamespaceStr> <KeywordStr>\n"); +} +``` + +We would be parsing incoming arguments in our application, so it is better to use `ShellCEntryLib` as an entry point. + +Inside main as usual first we request the protocol and then try to parse incoming arguments: +```cpp +INTN +EFIAPI +ShellAppMain ( + IN UINTN Argc, + IN CHAR16 **Argv + ) +{ + EFI_CONFIG_KEYWORD_HANDLER_PROTOCOL *gHiiConfigKeywordHandler = NULL; + EFI_STATUS Status = gBS->LocateProtocol(&gEfiConfigKeywordHandlerProtocolGuid, + NULL, + (VOID **)&gHiiConfigKeywordHandler); + if (EFI_ERROR(Status)) { + Print(L"Error! Can't locate gEfiConfigKeywordHandlerProtocolGuid: %r", Status); + return Status; + } + + if (Argc==1) { + Usage(); + return EFI_SUCCESS; + } + + if (!StrCmp(Argv[1], L"get")) { + <...> + } else { + Print(L"Wrong argument!\n"); + Usage(); + return EFI_INVALID_PARAMETER; + } + + return EFI_SUCCESS; +} +``` + +Don't forget to add necessary include to the `UefiLessonsPkg/HIIKeyword/HIIKeyword.c` file (`#include <Protocol/HiiConfigKeyword.h>`) and add necessary protocol to the `UefiLessonsPkg/HIIKeyword/HIIKeyword.inf`: +``` +[Protocols] + gEfiConfigKeywordHandlerProtocolGuid +``` + +The handler for the `get` command is very similar to what we've ended up for the `extract` function: +``` +if (!StrCmp(Argv[1], L"get")) { + if (Argc != 4) { + Print(L"Wrong argument!\n"); + Usage(); + return EFI_INVALID_PARAMETER; + } + EFI_STRING NameSpaceId = Argv[2]; + EFI_STRING KeywordString = Argv[3]; + if (!StrCmp(NameSpaceId, L'\0')) { + NameSpaceId = NULL; + } + if (!StrCmp(KeywordString, L'\0')) { + KeywordString = NULL; + } + + EFI_STRING Results; + Status = gHiiConfigKeywordHandler->GetData(gHiiConfigKeywordHandler, + NameSpaceId, + KeywordString, + &Progress, + &ProgressErr, + &Results); + if (StrCmp(Progress, L'\0')) { + Print(L"Part of string was unparsed %s\n", Progress); + } + if (ProgressErr) { + Print(L"Error! ProgressErr=%s\n", ProgressErrorStr(ProgressErr)); + } + if (EFI_ERROR(Status)) { + Print(L"Error! GetData returned %r\n", Status); + return Status; + } + Print(L"Response: "); + PrintLongString(Results); + Print(L"\n\n"); + PrintConfigString(Results); + FreePool(Results); +} else { + Print(L"Wrong argument!\n"); + Usage(); + return EFI_INVALID_PARAMETER; +} +``` + +Couple of things to pay attention to: +- the function description says that it is possible to use `NULL` in place of a `NameSpaceId` string or `KeywordString`. In this case it would mean `for every` (namespace or keyword). We allow such calls if the user have supplied empty strings in the parmeters +- sometimes the error is returned in the `UINT32* ProgressErr` parameter. The flags that can be encoded in this variable are defined in file [https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Protocol/HiiConfigKeyword.h](https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Protocol/HiiConfigKeyword.hhttps://github.com/tianocore/edk2/blob/master/MdePkg/Include/Protocol/HiiConfigKeyword.h): +``` +// *********************************************************** +// Progress Errors +// *********************************************************** +#define KEYWORD_HANDLER_NO_ERROR 0x00000000 +#define KEYWORD_HANDLER_NAMESPACE_ID_NOT_FOUND 0x00000001 +#define KEYWORD_HANDLER_MALFORMED_STRING 0x00000002 +#define KEYWORD_HANDLER_KEYWORD_NOT_FOUND 0x00000004 +#define KEYWORD_HANDLER_INCOMPATIBLE_VALUE_DETECTED 0x00000008 +#define KEYWORD_HANDLER_ACCESS_NOT_PERMITTED 0x00000010 +#define KEYWORD_HANDLER_UNDEFINED_PROCESSING_ERROR 0x80000000 +``` +Therefore we use a custom function to print error by it's code: +```cpp +EFI_STRING ProgressErrorStr(UINT32 ProgressErr) +{ + switch (ProgressErr) { + case KEYWORD_HANDLER_NAMESPACE_ID_NOT_FOUND: + return L"NamespaceId not found\n"; + case KEYWORD_HANDLER_MALFORMED_STRING: + return L"Malformed string\n"; + case KEYWORD_HANDLER_KEYWORD_NOT_FOUND: + return L"Keyword not found\n"; + case KEYWORD_HANDLER_INCOMPATIBLE_VALUE_DETECTED: + return L"Incompatible value detected\n"; + case KEYWORD_HANDLER_ACCESS_NOT_PERMITTED: + return L"Access not permitted\n"; + default: + return L"Unknown error\n"; + } +} +``` +- to print the response string we use the same `PrintLongString` that we've used in our `HIIConfig` application. `PrintConfigString` and all its helper functions are also the same except the `PrintConfigSubString` helper. We add one more key handler to this function `NAMESPACE=`. This handler is similar to the one for the `GUID=` key in `extract` case. We just print the value as-is, but prepend it with a new string, as a namespace key signifies new data block: +```cpp +VOID PrintConfigSubString( + IN EFI_STRING ConfigString + ) +{ + EFI_STATUS Status; + if (StrStr(ConfigString, L"NAMESPACE=")) { // <------ Start of a new header + Print(L"\n"); + Print(L"%s\n", ConfigString); + } else if (StrStr(ConfigString, L"PATH=")) { + EFI_DEVICE_PATH_PROTOCOL* DevicePath; + Status = DevicePathFromCfgString(&ConfigString[StrLen(L"PATH=")], StrLen(ConfigString) - StrLen(L"PATH="), &DevicePath); + if (!EFI_ERROR(Status)) + Print(L"%s (%s)\n", ConfigString, ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL*) DevicePath, FALSE, FALSE)); + else + Print(L"%s\n", ConfigString); + FreePool(DevicePath); + } else if (StrStr(ConfigString, L"VALUE=")) { + PrintLongString(ConfigString); + Print(L"\n"); + UINT8* Buffer; + UINTN BufferSize; + ByteCfgStringToBufferReversed(&ConfigString[StrLen(L"VALUE=")], StrLen(&ConfigString[StrLen(L"VALUE=")]), &Buffer, &BufferSize); + PrintBuffer(Buffer, BufferSize); + FreePool(Buffer); + } else { + Print(L"%s\n", ConfigString); + } +} +``` + +Let's build and test out application. To print all the available keys in the system we use `""` in place of a namespace and keyword request strings. Here is a start of the application output: +``` +FS0:\> HIIKeyword.efi get "" "" +Response: NAMESPACE=x-UEFI-ns&PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400&KEYWORD=iSCSIInitiatorName&VALUE=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> + + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorName +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............. + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIMacAddr +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIAddAttempts +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIDeleteAttempts +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIDisplayAttemptList +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +READONLY + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIAttemptOrder +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIAttemptName:1 +VALUE=000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 | ........ +READONLY + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIBootEnable:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIIpAddressType:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIConnectRetry:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIConnectTimeout:1 +VALUE=0000 +00 00 | .. + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIISID:1 +VALUE=0000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 | .......... + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorInfoViaDHCP:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorIpAddress:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorNetmask:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorGateway:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetInfoViaDHCP:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetTcpPort:1 +VALUE=0000 +00 00 | .. + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetName:1 +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............. + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetIpAddress:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSILUN:1 +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 | ........ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIAuthenticationMethod:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIChapType:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIChapUsername:1 +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 | ............ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIChapSecret:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIReverseChapUsername:1 +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 | ............ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIReverseChapSecret:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................FS0:\> HIIKeyword.efi get "" "" +Response: NAMESPACE=x-UEFI-ns&PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400&KEYWORD=iSCSIInitiatorName&VALUE=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> + + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorName +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............. + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIMacAddr +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIAddAttempts +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIDeleteAttempts +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIDisplayAttemptList +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +READONLY + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIAttemptOrder +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIAttemptName:1 +VALUE=000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 | ........ +READONLY + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIBootEnable:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIIpAddressType:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIConnectRetry:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIConnectTimeout:1 +VALUE=0000 +00 00 | .. + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIISID:1 +VALUE=0000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 | .......... + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorInfoViaDHCP:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorIpAddress:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorNetmask:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIInitiatorGateway:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetInfoViaDHCP:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetTcpPort:1 +VALUE=0000 +00 00 | .. + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetName:1 +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............. + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetIpAddress:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSILUN:1 +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 | ........ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIAuthenticationMethod:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIChapType:1 +VALUE=00 +00 | . + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIChapUsername:1 +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 | ............ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIChapSecret:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIReverseChapUsername:1 +VALUE=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<...> +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 | ............ + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSIReverseChapSecret:1 +VALUE=0000000000000000000000000000000000000000000000000000000000000000 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ + +<...> +``` + +All of the keywords relate to the iSCSI. In the output there are some common iSCSI settings block and 8 individual iSCSI blocks. In the output above I've included only one of the individual blocks. But overall the following variables are present in the output: +``` +iSCSIInitiatorName +iSCSIMacAddr +iSCSIAddAttempts +iSCSIDeleteAttempts +iSCSIDisplayAttemptList READONLY +iSCSIAttemptOrder + +iSCSIAttemptName:1 READONLY +iSCSIBootEnable:1 +iSCSIIpAddressType:1 +iSCSIConnectRetry:1 +iSCSIConnectTimeout:1 +iSCSIISID:1 +iSCSIInitiatorInfoViaDHCP:1 +iSCSIInitiatorIpAddress:1 +iSCSIInitiatorNetmask:1 +iSCSIInitiatorGateway:1 +iSCSITargetInfoViaDHCP:1 +iSCSITargetTcpPort:1 +iSCSITargetName:1 +iSCSITargetIpAddress:1 +iSCSILUN:1 +iSCSIAuthenticationMethod:1 +iSCSIChapType:1 +iSCSIChapUsername:1 +iSCSIChapSecret:1 +iSCSIReverseChapUsername:1 +iSCSIReverseChapSecret:1 + +iSCSIAttemptName:2 READONLY +iSCSIBootEnable:2 +iSCSIIpAddressType:2 +iSCSIConnectRetry:2 +iSCSIConnectTimeout:2 +iSCSIISID:2 +iSCSIInitiatorInfoViaDHCP:2 +iSCSIInitiatorIpAddress:2 +iSCSIInitiatorNetmask:2 +iSCSIInitiatorGateway:2 +iSCSITargetInfoViaDHCP:2 +iSCSITargetTcpPort:2 +iSCSITargetName:2 +iSCSITargetIpAddress:2 +iSCSILUN:2 +iSCSIAuthenticationMethod:2 +iSCSIChapType:2 +iSCSIChapUsername:2 +iSCSIChapSecret:2 +iSCSIReverseChapUsername:2 +iSCSIReverseChapSecret:2 + +iSCSIAttemptName:3 READONLY +iSCSIBootEnable:3 +iSCSIIpAddressType:3 +iSCSIConnectRetry:3 +iSCSIConnectTimeout:3 +iSCSIISID:3 +iSCSIInitiatorInfoViaDHCP:3 +iSCSIInitiatorIpAddress:3 +iSCSIInitiatorNetmask:3 +iSCSIInitiatorGateway:3 +iSCSITargetInfoViaDHCP:3 +iSCSITargetTcpPort:3 +iSCSITargetName:3 +iSCSITargetIpAddress:3 +iSCSILUN:3 +iSCSIAuthenticationMethod:3 +iSCSIChapType:3 +iSCSIChapUsername:3 +iSCSIChapSecret:3 +iSCSIReverseChapUsername:3 +iSCSIReverseChapSecret:3 + +iSCSIAttemptName:4 READONLY +iSCSIBootEnable:4 +iSCSIIpAddressType:4 +iSCSIConnectRetry:4 +iSCSIConnectTimeout:4 +iSCSIISID:4 +iSCSIInitiatorInfoViaDHCP:4 +iSCSIInitiatorIpAddress:4 +iSCSIInitiatorNetmask:4 +iSCSIInitiatorGateway:4 +iSCSITargetInfoViaDHCP:4 +iSCSITargetTcpPort:4 +iSCSITargetName:4 +iSCSITargetIpAddress:4 +iSCSILUN:4 +iSCSIAuthenticationMethod:4 +iSCSIChapType:4 +iSCSIChapUsername:4 +iSCSIChapSecret:4 +iSCSIReverseChapUsername:4 +iSCSIReverseChapSecret:4 + +iSCSIAttemptName:5 READONLY +iSCSIBootEnable:5 +iSCSIIpAddressType:5 +iSCSIConnectRetry:5 +iSCSIConnectTimeout:5 +iSCSIISID:5 +iSCSIInitiatorInfoViaDHCP:5 +iSCSIInitiatorIpAddress:5 +iSCSIInitiatorNetmask:5 +iSCSIInitiatorGateway:5 +iSCSITargetInfoViaDHCP:5 +iSCSITargetTcpPort:5 +iSCSITargetName:5 +iSCSITargetIpAddress:5 +iSCSILUN:5 +iSCSIAuthenticationMethod:5 +iSCSIChapType:5 +iSCSIChapUsername:5 +iSCSIChapSecret:5 +iSCSIReverseChapUsername:5 +iSCSIReverseChapSecret:5 + +iSCSIAttemptName:6 READONLY +iSCSIBootEnable:6 +iSCSIIpAddressType:6 +iSCSIConnectRetry:6 +iSCSIConnectTimeout:6 +iSCSIISID:6 +iSCSIInitiatorInfoViaDHCP:6 +iSCSIInitiatorIpAddress:6 +iSCSIInitiatorNetmask:6 +iSCSIInitiatorGateway:6 +iSCSITargetInfoViaDHCP:6 +iSCSITargetTcpPort:6 +iSCSITargetName:6 +iSCSITargetIpAddress:6 +iSCSILUN:6 +iSCSIAuthenticationMethod:6 +iSCSIChapType:6 +iSCSIChapUsername:6 +iSCSIChapSecret:6 +iSCSIReverseChapUsername:6 +iSCSIReverseChapSecret:6 + +iSCSIAttemptName:7 READONLY +iSCSIBootEnable:7 +iSCSIIpAddressType:7 +iSCSIConnectRetry:7 +iSCSIConnectTimeout:7 +iSCSIISID:7 +iSCSIInitiatorInfoViaDHCP:7 +iSCSIInitiatorIpAddress:7 +iSCSIInitiatorNetmask:7 +iSCSIInitiatorGateway:7 +iSCSITargetInfoViaDHCP:7 +iSCSITargetTcpPort:7 +iSCSITargetName:7 +iSCSITargetIpAddress:7 +iSCSILUN:7 +iSCSIAuthenticationMethod:7 +iSCSIChapType:7 +iSCSIChapUsername:7 +iSCSIChapSecret:7 +iSCSIReverseChapUsername:7 +iSCSIReverseChapSecret:7 + +iSCSIAttemptName:8 READONLY +iSCSIBootEnable:8 +iSCSIIpAddressType:8 +iSCSIConnectRetry:8 +iSCSIConnectTimeout:8 +iSCSIISID:8 +iSCSIInitiatorInfoViaDHCP:8 +iSCSIInitiatorIpAddress:8 +iSCSIInitiatorNetmask:8 +iSCSIInitiatorGateway:8 +iSCSITargetInfoViaDHCP:8 +iSCSITargetTcpPort:8 +iSCSITargetName:8 +iSCSITargetIpAddress:8 +iSCSILUN:8 +iSCSIAuthenticationMethod:8 +iSCSIChapType:8 +iSCSIChapUsername:8 +iSCSIChapSecret:8 +iSCSIReverseChapUsername:8 +iSCSIReverseChapSecret:8 +``` + +Also as you can see, all the variables relate to to `x-UEFI-ns` namespace. So you'll get the same response even if you explicitly limit the request to this namespace: +``` +FS0:\> HIIKeyword.efi get "NAMESPACE=x-UEFI-ns" "" +``` + +With the keywords protocol it is also possible to request individual keywords: +``` +FS0:\> HIIKeyword.efi get "NAMESPACE=x-UEFI-ns" "KEYWORD=iSCSITargetTcpPort:1" +Response: NAMESPACE=x-UEFI-ns&PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400&KEYWORD=iSCSITargetTcpPort:1&VALUE=0000 + + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetTcpPort:1 +VALUE=0000 +00 00 | .. +``` + +Or all the keywords with particular name. But as we have only one namespace, the output in this case would be the same: +``` +FS0:\> HIIKeyword.efi get "" "KEYWORD=iSCSITargetTcpPort:1" +Response: NAMESPACE=x-UEFI-ns&PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400&KEYWORD=iSCSITargetTcpPort:1&VALUE=0000 + + +NAMESPACE=x-UEFI-ns +PATH=0104140016d6474bd6a852459d44ccad2e0f4cf97fff0400 (VenHw(4B47D616-A8D6-4552-9D44-CCAD2E0F4CF9)) +KEYWORD=iSCSITargetTcpPort:1 +VALUE=0000 +00 00 | .. +``` + |