mirror of https://github.com/acidanthera/audk.git
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
|