git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10986 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			144 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   The assistant function declaration for IpSecConfig application.
 | |
| 
 | |
|   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 _HELPER_H_
 | |
| #define _HELPER_H_
 | |
| 
 | |
| #define  FORMAT_NUMBER 0x1
 | |
| #define  FORMAT_STRING 0x2
 | |
| 
 | |
| /**
 | |
|   Helper function called to change input parameter in string format to number.
 | |
| 
 | |
|   @param[in]      FlagStr         The pointer to the flag string.
 | |
|   @param[in]      Maximum         most value number.
 | |
|   @param[in, out] ValuePtr        The pointer to the input parameter in string format.
 | |
|   @param[in]      ByteCount       The valid byte count
 | |
|   @param[in]      Map             The pointer to the STR2INT table.
 | |
|   @param[in]      ParamPackage    The pointer to the ParamPackage list.
 | |
|   @param[in]      FormatMask      The bit mask.
 | |
|                                   BIT 0 set indicates the value of flag might be number.
 | |
|                                   BIT 1 set indicates the value of flag might be a string that needs to be looked up.
 | |
| 
 | |
|   @retval EFI_SUCCESS              The operation completed successfully.
 | |
|   @retval EFI_NOT_FOUND            The input parameter can't be found.
 | |
|   @retval EFI_INVALID_PARAMETER    The input parameter is an invalid input.
 | |
| **/
 | |
| EFI_STATUS
 | |
| GetNumber (
 | |
|   IN     CHAR16        *FlagStr,
 | |
|   IN     UINT64        Maximum,
 | |
|   IN OUT VOID          *ValuePtr,
 | |
|   IN     UINTN         ByteCount,
 | |
|   IN     STR2INT       *Map,
 | |
|   IN     LIST_ENTRY    *ParamPackage,
 | |
|   IN     UINT32        FormatMask
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Helper function called to convert a string containing an (Ipv4) Internet Protocol dotted address
 | |
|   into a proper address for the EFI_IP_ADDRESS structure.
 | |
| 
 | |
|   @param[in]  Ptr    The pointer to the string containing an (Ipv4) Internet Protocol dotted address.
 | |
|   @param[out] Ip     The pointer to the Ip address structure to contain the result.
 | |
| 
 | |
|   @retval EFI_SUCCESS              The operation completed successfully.
 | |
|   @retval EFI_INVALID_PARAMETER    Invalid parameter.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EfiInetAddr2 (
 | |
|   IN  CHAR16            *Ptr,
 | |
|   OUT EFI_IP_ADDRESS    *Ip
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Helper function called to calculate the prefix length associated with the string
 | |
|   containing an Ipv4 or Ipv6 Internet Protocol address.
 | |
| 
 | |
|   @param[in]  Ptr     The pointer to the string containing an Ipv4 or Ipv6 Internet Protocol address.
 | |
|   @param[out] Addr    The pointer to the EFI_IP_ADDRESS_INFO structure to contain the result.
 | |
| 
 | |
|   @retval EFI_SUCCESS              The operation completed successfully.
 | |
|   @retval EFI_INVALID_PARAMETER    Invalid parameter.
 | |
|   @retval Others                   Other mistake case.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EfiInetAddrRange (
 | |
|   IN  CHAR16                 *Ptr,
 | |
|   OUT EFI_IP_ADDRESS_INFO    *Addr
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Helper function called to calculate the port range associated with the string.
 | |
| 
 | |
|   @param[in]  Ptr          The pointer to the string containing a port and range.
 | |
|   @param[out] Port         The pointer to the Port to contain the result.
 | |
|   @param[out] PortRange    The pointer to the PortRange to contain the result.
 | |
| 
 | |
|   @retval EFI_SUCCESS              The operation completed successfully.
 | |
|   @retval EFI_INVALID_PARAMETER    Invalid parameter.
 | |
|   @retval Others                   Other mistake case.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EfiInetPortRange (
 | |
|   IN  CHAR16    *Ptr,
 | |
|   OUT UINT16    *Port,
 | |
|   OUT UINT16    *PortRange
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Helper function called to transfer a string to an unsigned integer.
 | |
| 
 | |
|   @param[in]  Str       The pointer to the string.
 | |
|   @param[out] Status    The operation status.
 | |
| 
 | |
|   @return The integer value of a converted str.
 | |
| **/
 | |
| UINT64
 | |
| StrToUInteger (
 | |
|   IN  CONST CHAR16    *Str,
 | |
|   OUT EFI_STATUS      *Status
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Helper function called to transfer a string to an unsigned integer according to the map table.
 | |
| 
 | |
|   @param[in] Str    The pointer to the string.
 | |
|   @param[in] Map    The pointer to the map table.
 | |
| 
 | |
|   @return The integer value of converted str. If not found, then return -1.
 | |
| **/
 | |
| UINT32
 | |
| MapStringToInteger (
 | |
|   IN CONST CHAR16    *Str,
 | |
|   IN STR2INT         *Map
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Helper function called to transfer an unsigned integer to a string according to the map table.
 | |
| 
 | |
|   @param[in] Integer    The pointer to the string.
 | |
|   @param[in] Map        The pointer to the map table.
 | |
| 
 | |
|   @return The converted str. If not found, then return NULL.
 | |
| **/
 | |
| CHAR16 *
 | |
| MapIntegerToString (
 | |
|   IN UINT32     Integer,
 | |
|   IN STR2INT    *Map
 | |
|   );
 | |
| 
 | |
| #endif
 |