]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Protocol/FileExplorer.h
MdeModulePkg: Clean up source files
[mirror_edk2.git] / MdeModulePkg / Include / Protocol / FileExplorer.h
1 /** @file
2
3 This file explorer protocol defines defines a set of interfaces for
4 how to do file explorer.
5
6 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
7 This program and the accompanying materials are licensed and made available under
8 the terms and conditions of the BSD License that accompanies this distribution.
9 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 __FILE_EXPLORER_H__
18 #define __FILE_EXPLORER_H__
19
20 #define EFI_FILE_EXPLORER_PROTOCOL_GUID \
21 { 0x2C03C536, 0x4594, 0x4515, { 0x9E, 0x7A, 0xD3, 0xD2, 0x04, 0xFE, 0x13, 0x63 } }
22
23 //
24 // Forward reference for pure ANSI compatability
25 //
26 typedef struct _EFI_FILE_EXPLORER_PROTOCOL EFI_FILE_EXPLORER_PROTOCOL;
27
28 /**
29 Prototype for the next process after user chosed one file.
30
31 @param[in] FilePath The device path of the find file.
32
33 @retval TRUE Need exit file explorer after do the extra task.
34 @retval FALSE Not need to exit file explorer after do the extra task.
35
36 **/
37 typedef
38 BOOLEAN
39 (EFIAPI *CHOOSE_HANDLER)(
40 IN EFI_DEVICE_PATH_PROTOCOL *FilePath
41 );
42
43 /**
44 Choose a file in the specified directory.
45
46 If user input NULL for the RootDirectory, will choose file in the system.
47
48 If user input *File != NULL, function will return the allocate device path
49 info for the choosed file, caller has to free the memory after use it.
50
51 @param RootDirectory Pointer to the root directory.
52 @param FileType The file type need to choose.
53 @param ChooseHandler Function pointer to the extra task need to do
54 after choose one file.
55 @param File Return the device path for the last time chosed file.
56
57 @retval EFI_SUCESS Choose the file success.
58 @retval Other errors Choose the file failed.
59 **/
60 typedef
61 EFI_STATUS
62 (EFIAPI *CHOOSE_FILE) (
63 IN EFI_DEVICE_PATH_PROTOCOL *RootDirectory,
64 IN CHAR16 *FileType, OPTIONAL
65 IN CHOOSE_HANDLER ChooseHandler, OPTIONAL
66 OUT EFI_DEVICE_PATH_PROTOCOL **File OPTIONAL
67 );
68
69 struct _EFI_FILE_EXPLORER_PROTOCOL {
70 CHOOSE_FILE ChooseFile;
71 };
72
73 extern EFI_GUID gEfiFileExplorerProtocolGuid;
74
75 #endif