1 /** @file
2   Abstractions for Ebl network accesses.
3 
4   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
5 
6   This program and the accompanying materials
7   are licensed and made available under the terms and conditions of the BSD License
8   which accompanies this distribution.  The full text of the license may be found at
9   http://opensource.org/licenses/bsd-license.php
10 
11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 
16 #ifndef __EBL_NETWORK_LIB_H__
17 #define __EBL_NETWORK_LIB_H__
18 
19 #include <Protocol/PxeBaseCode.h>
20 
21 
22 EFI_STATUS
23 EFIAPI
24 EblGetCurrentIpAddress (
25   IN OUT EFI_IP_ADDRESS *Ip
26   );
27 
28 EFI_STATUS
29 EFIAPI
30 EblGetCurrentMacAddress (
31   IN OUT  EFI_MAC_ADDRESS *Mac
32   );
33 
34 CHAR8 *
35 EFIAPI
36 EblLoadFileBootTypeString (
37   IN  EFI_HANDLE Handle
38   );
39 
40 EFI_STATUS
41 EFIAPI
42 EblPerformDHCP (
43   IN  BOOLEAN  SortOffers
44   );
45 
46 EFI_STATUS
47 EFIAPI
48 EblSetStationIp (
49   IN EFI_IP_ADDRESS *NewStationIp,  OPTIONAL
50   IN EFI_IP_ADDRESS *NewSubnetMask  OPTIONAL
51   );
52 
53 EFI_STATUS
54 EFIAPI
55 EblMtftp (
56   IN EFI_PXE_BASE_CODE_TFTP_OPCODE             Operation,
57   IN OUT VOID                                  *BufferPtr OPTIONAL,
58   IN BOOLEAN                                   Overwrite,
59   IN OUT UINT64                                *BufferSize,
60   IN UINTN                                     *BlockSize OPTIONAL,
61   IN EFI_IP_ADDRESS                            *ServerIp,
62   IN UINT8                                     *Filename  OPTIONAL,
63   IN EFI_PXE_BASE_CODE_MTFTP_INFO              *Info      OPTIONAL,
64   IN BOOLEAN                                   DontUseBuffer
65   );
66 
67 #endif
68 
69