diff options
Diffstat (limited to 'ShellPkg/Application/Shell/ShellParametersProtocol.h')
-rw-r--r-- | ShellPkg/Application/Shell/ShellParametersProtocol.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ShellPkg/Application/Shell/ShellParametersProtocol.h b/ShellPkg/Application/Shell/ShellParametersProtocol.h index 1205d92c19..926f36242c 100644 --- a/ShellPkg/Application/Shell/ShellParametersProtocol.h +++ b/ShellPkg/Application/Shell/ShellParametersProtocol.h @@ -190,5 +190,34 @@ ParseCommandLineToArgs( IN OUT UINTN *Argc
);
+/**
+ return the next parameter from a command line string;
+
+ This function moves the next parameter from Walker into TempParameter and moves
+ Walker up past that parameter for recursive calling. When the final parameter
+ is moved *Walker will be set to NULL;
+
+ Temp Parameter must be large enough to hold the parameter before calling this
+ function.
+
+ @param[in, out] Walker pointer to string of command line. Adjusted to
+ reminaing command line on return
+ @param[in, out] TempParameter pointer to string of command line item extracted.
+ @param[in] Length Length of (*TempParameter) in bytes
+ @param[in] StripQuotation if TRUE then strip the quotation marks surrounding
+ the parameters.
+
+ @return EFI_INALID_PARAMETER A required parameter was NULL or pointed to a NULL or empty string.
+ @return EFI_NOT_FOUND A closing " could not be found on the specified string
+**/
+EFI_STATUS
+EFIAPI
+GetNextParameter(
+ IN OUT CHAR16 **Walker,
+ IN OUT CHAR16 **TempParameter,
+ IN CONST UINTN Length,
+ IN BOOLEAN StripQuotation
+ );
+
#endif //_SHELL_PARAMETERS_PROTOCOL_PROVIDER_HEADER_
|