]> git.proxmox.com Git - mirror_edk2.git/blob - ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.h
ShellPkg: Add optional 'tftp' EFI Shell command
[mirror_edk2.git] / ShellPkg / Library / UefiShellTftpCommandLib / UefiShellTftpCommandLib.h
1 /** @file
2 header file for NULL named library for 'tftp' Shell command functions.
3
4 Copyright (c) 2010 - 2011, 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 #include <ShellBase.h>
22
23 #include <Guid/ShellLibHiiGuid.h>
24 #include <Guid/NicIp4ConfigNvData.h>
25
26 #include <Protocol/ServiceBinding.h>
27 #include <Protocol/Mtftp4.h>
28
29 #include <Library/BaseLib.h>
30 #include <Library/BaseMemoryLib.h>
31 #include <Library/DebugLib.h>
32 #include <Library/MemoryAllocationLib.h>
33 #include <Library/ShellCommandLib.h>
34 #include <Library/ShellLib.h>
35 #include <Library/UefiLib.h>
36 #include <Library/UefiRuntimeServicesTableLib.h>
37 #include <Library/UefiBootServicesTableLib.h>
38 #include <Library/HiiLib.h>
39 #include <Library/NetLib.h>
40 #include <Library/PrintLib.h>
41
42 extern EFI_HANDLE gShellTftpHiiHandle;
43
44 typedef struct {
45 UINT64 FileSize;
46 UINT64 DownloadedNbOfBytes;
47 UINT64 LastReportedNbOfBytes;
48 } DOWNLOAD_CONTEXT;
49
50 /**
51 Function for 'tftp' command.
52
53 @param[in] ImageHandle Handle to the Image (NULL if Internal).
54 @param[in] SystemTable Pointer to the System Table (NULL if Internal).
55 **/
56 SHELL_STATUS
57 EFIAPI
58 ShellCommandRunTftp (
59 IN EFI_HANDLE ImageHandle,
60 IN EFI_SYSTEM_TABLE *SystemTable
61 );
62
63 #endif /* _UEFI_SHELL_TFTP_COMMAND_LIB_H_ */