1 /** @file
2   The header file of routines for HttpDxe driver to perform DNS resolution based on UEFI DNS protocols.
3 
4 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution.  The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9 
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 
13 **/
14 
15 #ifndef __EFI_HTTP_DNS_H__
16 #define __EFI_HTTP_DNS_H__
17 
18 /**
19   Retrieve the host address using the EFI_DNS4_PROTOCOL.
20 
21   @param[in]  HttpInstance        Pointer to HTTP_PROTOCOL instance.
22   @param[in]  HostName            Pointer to buffer containing hostname.
23   @param[out] IpAddress           On output, pointer to buffer containing IPv4 address.
24 
25   @retval EFI_SUCCESS             Operation succeeded.
26   @retval EFI_OUT_OF_RESOURCES    Failed to allocate needed resources.
27   @retval EFI_DEVICE_ERROR        An unexpected network error occurred.
28   @retval Others                  Other errors as indicated.
29 
30 **/
31 EFI_STATUS
32 HttpDns4 (
33   IN     HTTP_PROTOCOL            *HttpInstance,
34   IN     CHAR16                   *HostName,
35      OUT EFI_IPv4_ADDRESS         *IpAddress
36   );
37 
38 /**
39   Retrieve the host address using the EFI_DNS6_PROTOCOL.
40 
41   @param[in]  HttpInstance        Pointer to HTTP_PROTOCOL instance.
42   @param[in]  HostName            Pointer to buffer containing hostname.
43   @param[out] IpAddress           On output, pointer to buffer containing IPv6 address.
44 
45   @retval EFI_SUCCESS             Operation succeeded.
46   @retval EFI_OUT_OF_RESOURCES    Failed to allocate needed resources.
47   @retval EFI_DEVICE_ERROR        An unexpected network error occurred.
48   @retval Others                  Other errors as indicated.
49 
50 **/
51 EFI_STATUS
52 HttpDns6 (
53   IN     HTTP_PROTOCOL            *HttpInstance,
54   IN     CHAR16                   *HostName,
55      OUT EFI_IPv6_ADDRESS         *IpAddress
56   );
57 
58 #endif