/** @file | |
Header file for helper functions useful to operate file directories by parsing | |
file path. | |
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef _EFI_OS_PATH_H | |
#define _EFI_OS_PATH_H | |
#include <Common/UefiBaseTypes.h> | |
// | |
// Functions declarations | |
// | |
/** | |
This function returns the directory path which contains the particular path. | |
Some examples: | |
"a/b/c" -> "a/b" | |
"a/b/c/" -> "a/b" | |
"a" -> "." | |
"." -> ".." | |
"/" -> NULL | |
This function does not check for the existence of the file. | |
The caller must free the string returned. | |
@param FilePath Path name of file to get the parent directory for. | |
@return NULL if error | |
**/ | |
CHAR8* | |
OsPathDirName ( | |
IN CHAR8 *FilePath | |
) | |
; | |
/** | |
This function returns the directory path which contains the particular path. | |
Some examples: | |
"a/b/../c" -> "a/c" | |
"a/b//c" -> "a/b/c" | |
"a/./b" -> "a/b" | |
This function does not check for the existence of the file. | |
@param Path Path name of file to normalize | |
@return The string is altered in place. | |
**/ | |
VOID | |
OsPathNormPathInPlace ( | |
IN CHAR8 *Path | |
) | |
; | |
/** | |
This function replaces the final portion of a path with an alternative | |
'peer' filename. For example: | |
"a/b/../c", "peer" -> "a/b/../peer" | |
"a/b/", "peer" -> "a/b/peer" | |
"/a", "peer" -> "/peer" | |
"a", "peer" -> "peer" | |
This function does not check for the existence of the file. | |
@param OldPath Path name of replace the final segment | |
@param Peer The new path name to concatenate to become the peer path | |
@return A CHAR8* string, which must be freed by the caller | |
**/ | |
CHAR8* | |
OsPathPeerFilePath ( | |
IN CHAR8 *OldPath, | |
IN CHAR8 *Peer | |
) | |
; | |
/** | |
Checks if a file exists | |
@param InputFileName The name of the file to check for existence | |
@retval TRUE The file exists | |
@retval FALSE The file does not exist | |
**/ | |
BOOLEAN | |
OsPathExists ( | |
IN CHAR8 *InputFileName | |
) | |
; | |
#endif |