/** @file
This library class defines a set of interfaces for how to do file explorer.
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef __FILE_EXPLORER_LIB_H__
#define __FILE_EXPLORER_LIB_H__
#include
/**
Choose a file in the specified directory.
If user input NULL for the RootDirectory, will choose file in the system.
If user input *File != NULL, function will return the allocate device path
info for the choosed file, caller has to free the memory after use it.
@param RootDirectory Pointer to the root directory.
@param FileType The file type need to choose.
@param ChooseHandler Function pointer to the extra task need to do
after choose one file.
@param File Return the device path for the last time chosed file.
@retval EFI_SUCESS Choose the file success.
@retval Other errors Choose the file failed.
**/
EFI_STATUS
EFIAPI
ChooseFile (
IN EFI_DEVICE_PATH_PROTOCOL *RootDirectory,
IN CHAR16 *FileType OPTIONAL,
IN CHOOSE_HANDLER ChooseHandler OPTIONAL,
OUT EFI_DEVICE_PATH_PROTOCOL **File OPTIONAL
);
#endif