mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-10-31 06:39:42 +00:00 
			
		
		
		
	 a405b86d27
			
		
	
	
		a405b86d27
		
	
	
	
	
		
			
			git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10874 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			87 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Provides interface to shell MAN file parser.
 | |
| 
 | |
|   Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
 | |
|   This program and the accompanying materials
 | |
|   are licensed and made available under the terms and conditions of the BSD License
 | |
|   which accompanies this distribution.  The full text of the license may be found at
 | |
|   http://opensource.org/licenses/bsd-license.php
 | |
| 
 | |
|   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
|   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef _SHELL_MAN_FILE_PARSER_HEADER_
 | |
| #define _SHELL_MAN_FILE_PARSER_HEADER_
 | |
| 
 | |
| /**
 | |
|   This function returns the help information for the specified command. The help text
 | |
|   will be parsed from a UEFI Shell manual page. (see UEFI Shell 2.0 Appendix B)
 | |
| 
 | |
|   If Sections is specified, then each section name listed will be compared in a casesensitive
 | |
|   manner, to the section names described in Appendix B. If the section exists,
 | |
|   it will be appended to the returned help text. If the section does not exist, no
 | |
|   information will be returned. If Sections is NULL, then all help text information
 | |
|   available will be returned.
 | |
| 
 | |
|   if BriefDesc is NULL, then the breif description will not be savedd seperatly,
 | |
|   but placed first in the main HelpText.
 | |
| 
 | |
|   @param[in] ManFileName        Points to the NULL-terminated UEFI Shell MAN file name.
 | |
|   @param[in] Command            Points to the NULL-terminated UEFI Shell command name.
 | |
|   @param[in] Sections           Points to the NULL-terminated comma-delimited
 | |
|                                 section names to return. If NULL, then all
 | |
|                                 sections will be returned.
 | |
|   @param[out] BriefDesc         On return, points to a callee-allocated buffer
 | |
|                                 containing brief description text.
 | |
|   @param[out] HelpText          On return, points to a callee-allocated buffer
 | |
|                                 containing all specified help text.
 | |
| 
 | |
|   @retval EFI_SUCCESS           The help text was returned.
 | |
|   @retval EFI_OUT_OF_RESOURCES  The necessary buffer could not be allocated to hold the
 | |
|                                 returned help text.
 | |
|   @retval EFI_INVALID_PARAMETER HelpText is NULL
 | |
|   @retval EFI_NOT_FOUND         There is no help text available for Command.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ProcessManFile(
 | |
|   IN CONST CHAR16 *ManFileName,
 | |
|   IN CONST CHAR16 *Command,
 | |
|   IN CONST CHAR16 *Sections OPTIONAL,
 | |
|   OUT CHAR16      **BriefDesc,
 | |
|   OUT CHAR16      **HelpText
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   parses through the MAN file specified by SHELL_FILE_HANDLE and returns the
 | |
|   detailed help for any sub section specified in the comma seperated list of
 | |
|   sections provided.  If the end of the file or a .TH section is found then
 | |
|   return.
 | |
| 
 | |
|   Upon a sucessful return the caller is responsible to free the memory in *HelpText
 | |
| 
 | |
|   @param[in] Handle             FileHandle to read from
 | |
|   @param[in] Sections           name of command's sub sections to find
 | |
|   @param[out] HelpText          pointer to pointer to string where text goes.
 | |
|   @param[out] HelpSize          pointer to size of allocated HelpText (may be updated)
 | |
|   @param[in] Ascii              TRUE if the file is ASCII, FALSE otherwise.
 | |
| 
 | |
|   @retval EFI_OUT_OF_RESOURCES  a memory allocation failed.
 | |
|   @retval EFI_SUCCESS           the section was found and its description sotred in
 | |
|                                 an alloceted buffer.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ManFileFindSections(
 | |
|   IN SHELL_FILE_HANDLE  Handle,
 | |
|   IN CONST CHAR16       *Sections,
 | |
|   OUT CHAR16            **HelpText,
 | |
|   OUT UINTN             *HelpSize,
 | |
|   IN BOOLEAN            Ascii
 | |
|   );
 | |
| 
 | |
| #endif //_SHELL_MAN_FILE_PARSER_HEADER_
 | |
| 
 |