1 /** @file
2   header file for NULL named library for 'tftp' Shell command functions.
3 
4   Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved. <BR>
5   Copyright (c) 2015, ARM Ltd. All rights reserved.<BR>
6 
7   This program and the accompanying materials
8   are licensed and made available under the terms and conditions of the BSD License
9   which accompanies this distribution.  The full text of the license may be found at
10   http://opensource.org/licenses/bsd-license.php
11 
12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 
15 **/
16 
17 #ifndef _UEFI_SHELL_TFTP_COMMAND_LIB_H_
18 #define _UEFI_SHELL_TFTP_COMMAND_LIB_H_
19 
20 #include <Uefi.h>
21 
22 #include <Guid/ShellLibHiiGuid.h>
23 
24 #include <Protocol/ServiceBinding.h>
25 #include <Protocol/Mtftp4.h>
26 
27 #include <Library/BaseLib.h>
28 #include <Library/BaseMemoryLib.h>
29 #include <Library/DebugLib.h>
30 #include <Library/MemoryAllocationLib.h>
31 #include <Library/ShellCommandLib.h>
32 #include <Library/ShellLib.h>
33 #include <Library/UefiLib.h>
34 #include <Library/UefiRuntimeServicesTableLib.h>
35 #include <Library/UefiBootServicesTableLib.h>
36 #include <Library/HiiLib.h>
37 #include <Library/NetLib.h>
38 #include <Library/PrintLib.h>
39 
40 extern EFI_HANDLE gShellTftpHiiHandle;
41 
42 typedef struct {
43   UINTN  FileSize;
44   UINTN  DownloadedNbOfBytes;
45   UINTN  LastReportedNbOfBytes;
46 } DOWNLOAD_CONTEXT;
47 
48 /**
49   Function for 'tftp' command.
50 
51   @param[in] ImageHandle  Handle to the Image (NULL if Internal).
52   @param[in] SystemTable  Pointer to the System Table (NULL if Internal).
53 **/
54 SHELL_STATUS
55 EFIAPI
56 ShellCommandRunTftp (
57   IN EFI_HANDLE        ImageHandle,
58   IN EFI_SYSTEM_TABLE  *SystemTable
59   );
60 
61 #endif /* _UEFI_SHELL_TFTP_COMMAND_LIB_H_ */
62