MdeModulePkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
committed by
mergify[bot]
parent
7c7184e201
commit
1436aea4d5
@@ -20,9 +20,9 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gUdfComponentName = {
|
||||
//
|
||||
// EFI Component Name 2 Protocol
|
||||
//
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gUdfComponentName2 = {
|
||||
(EFI_COMPONENT_NAME2_GET_DRIVER_NAME) UdfComponentNameGetDriverName,
|
||||
(EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) UdfComponentNameGetControllerName,
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gUdfComponentName2 = {
|
||||
(EFI_COMPONENT_NAME2_GET_DRIVER_NAME)UdfComponentNameGetDriverName,
|
||||
(EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)UdfComponentNameGetControllerName,
|
||||
"en"
|
||||
};
|
||||
|
||||
@@ -30,7 +30,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gUdfComponentName2 =
|
||||
// Driver name table for Udf module.
|
||||
// It is shared by the implementation of ComponentName & ComponentName2 Protocol.
|
||||
//
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mUdfDriverNameTable[] = {
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mUdfDriverNameTable[] = {
|
||||
{
|
||||
"eng;en",
|
||||
L"UDF File System Driver"
|
||||
@@ -89,12 +89,12 @@ UdfComponentNameGetDriverName (
|
||||
)
|
||||
{
|
||||
return LookupUnicodeString2 (
|
||||
Language,
|
||||
This->SupportedLanguages,
|
||||
mUdfDriverNameTable,
|
||||
DriverName,
|
||||
(BOOLEAN)(This == &gUdfComponentName)
|
||||
);
|
||||
Language,
|
||||
This->SupportedLanguages,
|
||||
mUdfDriverNameTable,
|
||||
DriverName,
|
||||
(BOOLEAN)(This == &gUdfComponentName)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -9,7 +9,7 @@
|
||||
|
||||
#include "Udf.h"
|
||||
|
||||
EFI_FILE_PROTOCOL gUdfFileIoOps = {
|
||||
EFI_FILE_PROTOCOL gUdfFileIoOps = {
|
||||
EFI_FILE_PROTOCOL_REVISION,
|
||||
UdfOpen,
|
||||
UdfClose,
|
||||
@@ -27,10 +27,10 @@ EFI_FILE_PROTOCOL gUdfFileIoOps = {
|
||||
NULL
|
||||
};
|
||||
|
||||
#define _ROOT_FILE(_PrivData) (_PrivData)->Root
|
||||
#define _ROOT_FILE(_PrivData) (_PrivData)->Root
|
||||
#define _PARENT_FILE(_PrivData) \
|
||||
((_PrivData)->IsRootDirectory ? (_PrivData)->Root : &(_PrivData)->File)
|
||||
#define _FILE(_PrivData) _PARENT_FILE(_PrivData)
|
||||
#define _FILE(_PrivData) _PARENT_FILE(_PrivData)
|
||||
|
||||
/**
|
||||
Open the root directory on a volume.
|
||||
@@ -62,7 +62,7 @@ UdfOpenVolume (
|
||||
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
|
||||
if (This == NULL || Root == NULL) {
|
||||
if ((This == NULL) || (Root == NULL)) {
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
goto Error_Invalid_Params;
|
||||
}
|
||||
@@ -75,10 +75,10 @@ UdfOpenVolume (
|
||||
// cleaned up on the last UdfClose() call.
|
||||
//
|
||||
Status = ReadUdfVolumeInformation (
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume
|
||||
);
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error_Read_Udf_Volume;
|
||||
}
|
||||
@@ -90,29 +90,32 @@ UdfOpenVolume (
|
||||
// Find root directory file.
|
||||
//
|
||||
Status = FindRootDirectory (
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume,
|
||||
&PrivFsData->Root
|
||||
);
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume,
|
||||
&PrivFsData->Root
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error_Find_Root_Dir;
|
||||
}
|
||||
|
||||
PrivFileData =
|
||||
(PRIVATE_UDF_FILE_DATA *) AllocateZeroPool (sizeof (PRIVATE_UDF_FILE_DATA));
|
||||
(PRIVATE_UDF_FILE_DATA *)AllocateZeroPool (sizeof (PRIVATE_UDF_FILE_DATA));
|
||||
if (PrivFileData == NULL) {
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
goto Error_Alloc_Priv_File_Data;
|
||||
}
|
||||
|
||||
PrivFileData->Signature = PRIVATE_UDF_FILE_DATA_SIGNATURE;
|
||||
PrivFileData->SimpleFs = This;
|
||||
PrivFileData->Root = &PrivFsData->Root;
|
||||
PrivFileData->IsRootDirectory = TRUE;
|
||||
PrivFileData->Signature = PRIVATE_UDF_FILE_DATA_SIGNATURE;
|
||||
PrivFileData->SimpleFs = This;
|
||||
PrivFileData->Root = &PrivFsData->Root;
|
||||
PrivFileData->IsRootDirectory = TRUE;
|
||||
|
||||
CopyMem ((VOID *)&PrivFileData->FileIo, (VOID *)&gUdfFileIoOps,
|
||||
sizeof (EFI_FILE_PROTOCOL));
|
||||
CopyMem (
|
||||
(VOID *)&PrivFileData->FileIo,
|
||||
(VOID *)&gUdfFileIoOps,
|
||||
sizeof (EFI_FILE_PROTOCOL)
|
||||
);
|
||||
|
||||
*Root = &PrivFileData->FileIo;
|
||||
|
||||
@@ -178,7 +181,7 @@ UdfOpen (
|
||||
ZeroMem (FilePath, sizeof FilePath);
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
|
||||
if (This == NULL || NewHandle == NULL || FileName == NULL) {
|
||||
if ((This == NULL) || (NewHandle == NULL) || (FileName == NULL)) {
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
goto Error_Invalid_Params;
|
||||
}
|
||||
@@ -210,15 +213,15 @@ UdfOpen (
|
||||
}
|
||||
|
||||
Status = FindFile (
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume,
|
||||
FilePath,
|
||||
_ROOT_FILE (PrivFileData),
|
||||
_PARENT_FILE (PrivFileData),
|
||||
&_PARENT_FILE(PrivFileData)->FileIdentifierDesc->Icb,
|
||||
&File
|
||||
);
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume,
|
||||
FilePath,
|
||||
_ROOT_FILE (PrivFileData),
|
||||
_PARENT_FILE (PrivFileData),
|
||||
&_PARENT_FILE (PrivFileData)->FileIdentifierDesc->Icb,
|
||||
&File
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error_Find_File;
|
||||
}
|
||||
@@ -230,8 +233,11 @@ UdfOpen (
|
||||
goto Error_Alloc_New_Priv_File_Data;
|
||||
}
|
||||
|
||||
CopyMem ((VOID *)NewPrivFileData, (VOID *)PrivFileData,
|
||||
sizeof (PRIVATE_UDF_FILE_DATA));
|
||||
CopyMem (
|
||||
(VOID *)NewPrivFileData,
|
||||
(VOID *)PrivFileData,
|
||||
sizeof (PRIVATE_UDF_FILE_DATA)
|
||||
);
|
||||
CopyMem ((VOID *)&NewPrivFileData->File, &File, sizeof (UDF_FILE_INFO));
|
||||
|
||||
NewPrivFileData->IsRootDirectory = FALSE;
|
||||
@@ -246,24 +252,27 @@ UdfOpen (
|
||||
StrCpyS (NewPrivFileData->FileName, UDF_FILENAME_LENGTH, FileName);
|
||||
|
||||
Status = GetFileSize (
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume,
|
||||
&NewPrivFileData->File,
|
||||
&NewPrivFileData->FileSize
|
||||
);
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume,
|
||||
&NewPrivFileData->File,
|
||||
&NewPrivFileData->FileSize
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
DEBUG ((
|
||||
DEBUG_ERROR,
|
||||
"%a: GetFileSize() fails with status - %r.\n",
|
||||
__FUNCTION__, Status
|
||||
__FUNCTION__,
|
||||
Status
|
||||
));
|
||||
goto Error_Get_File_Size;
|
||||
}
|
||||
|
||||
NewPrivFileData->FilePosition = 0;
|
||||
ZeroMem ((VOID *)&NewPrivFileData->ReadDirInfo,
|
||||
sizeof (UDF_READ_DIRECTORY_INFO));
|
||||
ZeroMem (
|
||||
(VOID *)&NewPrivFileData->ReadDirInfo,
|
||||
sizeof (UDF_READ_DIRECTORY_INFO)
|
||||
);
|
||||
|
||||
*NewHandle = &NewPrivFileData->FileIo;
|
||||
|
||||
@@ -330,21 +339,22 @@ UdfRead (
|
||||
ZeroMem (FileName, sizeof FileName);
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
|
||||
if (This == NULL || BufferSize == NULL || (*BufferSize != 0 &&
|
||||
Buffer == NULL)) {
|
||||
if ((This == NULL) || (BufferSize == NULL) || ((*BufferSize != 0) &&
|
||||
(Buffer == NULL)))
|
||||
{
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
goto Error_Invalid_Params;
|
||||
}
|
||||
|
||||
PrivFileData = PRIVATE_UDF_FILE_DATA_FROM_THIS (This);
|
||||
PrivFsData = PRIVATE_UDF_SIMPLE_FS_DATA_FROM_THIS (PrivFileData->SimpleFs);
|
||||
PrivFsData = PRIVATE_UDF_SIMPLE_FS_DATA_FROM_THIS (PrivFileData->SimpleFs);
|
||||
|
||||
BlockIo = PrivFsData->BlockIo;
|
||||
DiskIo = PrivFsData->DiskIo;
|
||||
Volume = &PrivFsData->Volume;
|
||||
ReadDirInfo = &PrivFileData->ReadDirInfo;
|
||||
NewFileIdentifierDesc = NULL;
|
||||
NewFileEntryData = NULL;
|
||||
BlockIo = PrivFsData->BlockIo;
|
||||
DiskIo = PrivFsData->DiskIo;
|
||||
Volume = &PrivFsData->Volume;
|
||||
ReadDirInfo = &PrivFileData->ReadDirInfo;
|
||||
NewFileIdentifierDesc = NULL;
|
||||
NewFileEntryData = NULL;
|
||||
|
||||
Parent = _PARENT_FILE (PrivFileData);
|
||||
|
||||
@@ -361,52 +371,53 @@ UdfRead (
|
||||
|
||||
if (PrivFileData->FilePosition == PrivFileData->FileSize) {
|
||||
*BufferSize = 0;
|
||||
Status = EFI_SUCCESS;
|
||||
Status = EFI_SUCCESS;
|
||||
goto Done;
|
||||
}
|
||||
|
||||
BufferSizeUint64 = *BufferSize;
|
||||
|
||||
Status = ReadFileData (
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
Parent,
|
||||
PrivFileData->FileSize,
|
||||
&PrivFileData->FilePosition,
|
||||
Buffer,
|
||||
&BufferSizeUint64
|
||||
);
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
Parent,
|
||||
PrivFileData->FileSize,
|
||||
&PrivFileData->FilePosition,
|
||||
Buffer,
|
||||
&BufferSizeUint64
|
||||
);
|
||||
ASSERT (BufferSizeUint64 <= MAX_UINTN);
|
||||
*BufferSize = (UINTN)BufferSizeUint64;
|
||||
} else if (IS_FID_DIRECTORY_FILE (Parent->FileIdentifierDesc)) {
|
||||
if (ReadDirInfo->FidOffset == 0 && PrivFileData->FilePosition > 0) {
|
||||
Status = EFI_DEVICE_ERROR;
|
||||
if ((ReadDirInfo->FidOffset == 0) && (PrivFileData->FilePosition > 0)) {
|
||||
Status = EFI_DEVICE_ERROR;
|
||||
*BufferSize = 0;
|
||||
goto Done;
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
for ( ; ;) {
|
||||
Status = ReadDirectoryEntry (
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
&Parent->FileIdentifierDesc->Icb,
|
||||
Parent->FileEntry,
|
||||
ReadDirInfo,
|
||||
&NewFileIdentifierDesc
|
||||
);
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
&Parent->FileIdentifierDesc->Icb,
|
||||
Parent->FileEntry,
|
||||
ReadDirInfo,
|
||||
&NewFileIdentifierDesc
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
if (Status == EFI_DEVICE_ERROR) {
|
||||
FreePool (ReadDirInfo->DirectoryData);
|
||||
ZeroMem ((VOID *)ReadDirInfo, sizeof (UDF_READ_DIRECTORY_INFO));
|
||||
|
||||
*BufferSize = 0;
|
||||
Status = EFI_SUCCESS;
|
||||
Status = EFI_SUCCESS;
|
||||
}
|
||||
|
||||
goto Done;
|
||||
}
|
||||
|
||||
//
|
||||
// After calling function ReadDirectoryEntry(), if 'NewFileIdentifierDesc'
|
||||
// is NULL, then the 'Status' must be EFI_OUT_OF_RESOURCES. Hence, if the
|
||||
@@ -425,26 +436,27 @@ UdfRead (
|
||||
}
|
||||
|
||||
Status = FindFileEntry (
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
&NewFileIdentifierDesc->Icb,
|
||||
&NewFileEntryData
|
||||
);
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
&NewFileIdentifierDesc->Icb,
|
||||
&NewFileEntryData
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error_Find_Fe;
|
||||
}
|
||||
|
||||
ASSERT (NewFileEntryData != NULL);
|
||||
|
||||
if (FE_ICB_FILE_TYPE (NewFileEntryData) == UdfFileEntrySymlink) {
|
||||
Status = ResolveSymlink (
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
Parent,
|
||||
NewFileEntryData,
|
||||
&FoundFile
|
||||
);
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
Parent,
|
||||
NewFileEntryData,
|
||||
&FoundFile
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error_Resolve_Symlink;
|
||||
}
|
||||
@@ -461,8 +473,8 @@ UdfRead (
|
||||
FreePool ((VOID *)NewFileIdentifierDesc);
|
||||
NewFileIdentifierDesc = FoundFile.FileIdentifierDesc;
|
||||
} else {
|
||||
FoundFile.FileIdentifierDesc = NewFileIdentifierDesc;
|
||||
FoundFile.FileEntry = NewFileEntryData;
|
||||
FoundFile.FileIdentifierDesc = NewFileIdentifierDesc;
|
||||
FoundFile.FileEntry = NewFileEntryData;
|
||||
|
||||
Status = GetFileNameFromFid (FoundFile.FileIdentifierDesc, ARRAY_SIZE (FileName), FileName);
|
||||
if (EFI_ERROR (Status)) {
|
||||
@@ -471,23 +483,23 @@ UdfRead (
|
||||
}
|
||||
|
||||
Status = GetFileSize (
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
&FoundFile,
|
||||
&FileSize
|
||||
);
|
||||
BlockIo,
|
||||
DiskIo,
|
||||
Volume,
|
||||
&FoundFile,
|
||||
&FileSize
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error_Get_File_Size;
|
||||
}
|
||||
|
||||
Status = SetFileInfo (
|
||||
&FoundFile,
|
||||
FileSize,
|
||||
FileName,
|
||||
BufferSize,
|
||||
Buffer
|
||||
);
|
||||
&FoundFile,
|
||||
FileSize,
|
||||
FileName,
|
||||
BufferSize,
|
||||
Buffer
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Error_Set_File_Info;
|
||||
}
|
||||
@@ -534,12 +546,12 @@ Error_Invalid_Params:
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
UdfClose (
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
)
|
||||
{
|
||||
EFI_TPL OldTpl;
|
||||
EFI_STATUS Status;
|
||||
PRIVATE_UDF_FILE_DATA *PrivFileData;
|
||||
EFI_TPL OldTpl;
|
||||
EFI_STATUS Status;
|
||||
PRIVATE_UDF_FILE_DATA *PrivFileData;
|
||||
|
||||
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
|
||||
@@ -584,7 +596,7 @@ UdfDelete (
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
)
|
||||
{
|
||||
PRIVATE_UDF_FILE_DATA *PrivFileData;
|
||||
PRIVATE_UDF_FILE_DATA *PrivFileData;
|
||||
|
||||
if (This == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
@@ -592,7 +604,7 @@ UdfDelete (
|
||||
|
||||
PrivFileData = PRIVATE_UDF_FILE_DATA_FROM_THIS (This);
|
||||
|
||||
(VOID)PrivFileData->FileIo.Close(This);
|
||||
(VOID)PrivFileData->FileIo.Close (This);
|
||||
|
||||
return EFI_WARN_DELETE_FAILURE;
|
||||
}
|
||||
@@ -644,9 +656,9 @@ UdfGetPosition (
|
||||
OUT UINT64 *Position
|
||||
)
|
||||
{
|
||||
PRIVATE_UDF_FILE_DATA *PrivFileData;
|
||||
PRIVATE_UDF_FILE_DATA *PrivFileData;
|
||||
|
||||
if (This == NULL || Position == NULL) {
|
||||
if ((This == NULL) || (Position == NULL)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
@@ -657,7 +669,7 @@ UdfGetPosition (
|
||||
// position has no meaning and the operation is not supported.
|
||||
//
|
||||
if (IS_FID_DIRECTORY_FILE (PrivFileData->File.FileIdentifierDesc)) {
|
||||
return EFI_UNSUPPORTED;
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -706,9 +718,9 @@ UdfSetPosition (
|
||||
// entries over.
|
||||
//
|
||||
if (Position == 0) {
|
||||
PrivFileData->FilePosition = Position;
|
||||
PrivFileData->FilePosition = Position;
|
||||
PrivFileData->ReadDirInfo.FidOffset = 0;
|
||||
Status = EFI_SUCCESS;
|
||||
Status = EFI_SUCCESS;
|
||||
}
|
||||
} else if (IS_FID_NORMAL_FILE (FileIdentifierDesc)) {
|
||||
//
|
||||
@@ -767,8 +779,9 @@ UdfGetInfo (
|
||||
UINTN FileSystemVolumeLabelLength;
|
||||
CHAR16 VolumeLabel[64];
|
||||
|
||||
if (This == NULL || InformationType == NULL || BufferSize == NULL ||
|
||||
(*BufferSize != 0 && Buffer == NULL)) {
|
||||
if ((This == NULL) || (InformationType == NULL) || (BufferSize == NULL) ||
|
||||
((*BufferSize != 0) && (Buffer == NULL)))
|
||||
{
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
@@ -780,12 +793,12 @@ UdfGetInfo (
|
||||
|
||||
if (CompareGuid (InformationType, &gEfiFileInfoGuid)) {
|
||||
Status = SetFileInfo (
|
||||
_FILE (PrivFileData),
|
||||
PrivFileData->FileSize,
|
||||
PrivFileData->FileName,
|
||||
BufferSize,
|
||||
Buffer
|
||||
);
|
||||
_FILE (PrivFileData),
|
||||
PrivFileData->FileSize,
|
||||
PrivFileData->FileName,
|
||||
BufferSize,
|
||||
Buffer
|
||||
);
|
||||
} else if (CompareGuid (InformationType, &gEfiFileSystemInfoGuid)) {
|
||||
Status = GetVolumeLabel (&PrivFsData->Volume, ARRAY_SIZE (VolumeLabel), VolumeLabel);
|
||||
if (EFI_ERROR (Status)) {
|
||||
@@ -806,25 +819,25 @@ UdfGetInfo (
|
||||
VolumeLabel
|
||||
);
|
||||
Status = GetVolumeSize (
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume,
|
||||
&VolumeSize,
|
||||
&FreeSpaceSize
|
||||
);
|
||||
PrivFsData->BlockIo,
|
||||
PrivFsData->DiskIo,
|
||||
&PrivFsData->Volume,
|
||||
&VolumeSize,
|
||||
&FreeSpaceSize
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
FileSystemInfo->Size = FileSystemInfoLength;
|
||||
FileSystemInfo->ReadOnly = TRUE;
|
||||
FileSystemInfo->BlockSize =
|
||||
FileSystemInfo->Size = FileSystemInfoLength;
|
||||
FileSystemInfo->ReadOnly = TRUE;
|
||||
FileSystemInfo->BlockSize =
|
||||
PrivFsData->Volume.LogicalVolDesc.LogicalBlockSize;
|
||||
FileSystemInfo->VolumeSize = VolumeSize;
|
||||
FileSystemInfo->FreeSpace = FreeSpaceSize;
|
||||
FileSystemInfo->VolumeSize = VolumeSize;
|
||||
FileSystemInfo->FreeSpace = FreeSpaceSize;
|
||||
|
||||
*BufferSize = FileSystemInfoLength;
|
||||
Status = EFI_SUCCESS;
|
||||
Status = EFI_SUCCESS;
|
||||
} else if (CompareGuid (InformationType, &gEfiFileSystemVolumeLabelInfoIdGuid)) {
|
||||
Status = GetVolumeLabel (&PrivFsData->Volume, ARRAY_SIZE (VolumeLabel), VolumeLabel);
|
||||
if (EFI_ERROR (Status)) {
|
||||
@@ -897,7 +910,7 @@ UdfSetInfo (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
UdfFlush (
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
)
|
||||
{
|
||||
return EFI_WRITE_PROTECTED;
|
||||
|
@@ -18,13 +18,12 @@
|
||||
**/
|
||||
CHAR16 *
|
||||
TrimString (
|
||||
IN CHAR16 *String
|
||||
IN CHAR16 *String
|
||||
)
|
||||
{
|
||||
CHAR16 *TempString;
|
||||
CHAR16 *TempString;
|
||||
|
||||
for ( ; *String != L'\0' && *String == L' '; String++) {
|
||||
;
|
||||
}
|
||||
|
||||
TempString = String + StrLen (String) - 1;
|
||||
@@ -47,11 +46,11 @@ TrimString (
|
||||
**/
|
||||
VOID
|
||||
ReplaceLeft (
|
||||
IN CHAR16 *Destination,
|
||||
IN CONST CHAR16 *Source
|
||||
IN CHAR16 *Destination,
|
||||
IN CONST CHAR16 *Source
|
||||
)
|
||||
{
|
||||
CONST CHAR16 *EndString;
|
||||
CONST CHAR16 *EndString;
|
||||
|
||||
EndString = Source + StrLen (Source);
|
||||
while (Source <= EndString) {
|
||||
@@ -70,18 +69,18 @@ ReplaceLeft (
|
||||
**/
|
||||
CHAR16 *
|
||||
ExcludeTrailingBackslashes (
|
||||
IN CHAR16 *String
|
||||
IN CHAR16 *String
|
||||
)
|
||||
{
|
||||
CHAR16 *TempString;
|
||||
CHAR16 *TempString;
|
||||
|
||||
switch (*(String + 1)) {
|
||||
case L'\\':
|
||||
break;
|
||||
case L'\0':
|
||||
default:
|
||||
String++;
|
||||
goto Exit;
|
||||
case L'\\':
|
||||
break;
|
||||
case L'\0':
|
||||
default:
|
||||
String++;
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
TempString = String;
|
||||
@@ -109,14 +108,14 @@ Exit:
|
||||
**/
|
||||
CHAR16 *
|
||||
MangleFileName (
|
||||
IN CHAR16 *FileName
|
||||
IN CHAR16 *FileName
|
||||
)
|
||||
{
|
||||
CHAR16 *FileNameSavedPointer;
|
||||
CHAR16 *TempFileName;
|
||||
UINTN BackslashesNo;
|
||||
CHAR16 *FileNameSavedPointer;
|
||||
CHAR16 *TempFileName;
|
||||
UINTN BackslashesNo;
|
||||
|
||||
if (FileName == NULL || *FileName == L'\0') {
|
||||
if ((FileName == NULL) || (*FileName == L'\0')) {
|
||||
FileName = NULL;
|
||||
goto Exit;
|
||||
}
|
||||
@@ -149,55 +148,56 @@ MangleFileName (
|
||||
FileName = ExcludeTrailingBackslashes (FileName);
|
||||
} else if (*FileName == L'.') {
|
||||
switch (*(FileName + 1)) {
|
||||
case L'\0':
|
||||
*FileName = L'\0';
|
||||
break;
|
||||
case L'\\':
|
||||
TempFileName = FileName + 1;
|
||||
TempFileName = ExcludeTrailingBackslashes (TempFileName);
|
||||
ReplaceLeft (FileName, TempFileName);
|
||||
break;
|
||||
case '.':
|
||||
if ((*(FileName - 1) != L'\\') && ((*(FileName + 2) != L'\\') ||
|
||||
(*(FileName + 2) != L'\0'))) {
|
||||
FileName++;
|
||||
continue;
|
||||
}
|
||||
|
||||
BackslashesNo = 0;
|
||||
TempFileName = FileName - 1;
|
||||
while (TempFileName >= FileNameSavedPointer) {
|
||||
if (*TempFileName == L'\\') {
|
||||
if (++BackslashesNo == 2) {
|
||||
break;
|
||||
}
|
||||
case L'\0':
|
||||
*FileName = L'\0';
|
||||
break;
|
||||
case L'\\':
|
||||
TempFileName = FileName + 1;
|
||||
TempFileName = ExcludeTrailingBackslashes (TempFileName);
|
||||
ReplaceLeft (FileName, TempFileName);
|
||||
break;
|
||||
case '.':
|
||||
if ((*(FileName - 1) != L'\\') && ((*(FileName + 2) != L'\\') ||
|
||||
(*(FileName + 2) != L'\0')))
|
||||
{
|
||||
FileName++;
|
||||
continue;
|
||||
}
|
||||
|
||||
TempFileName--;
|
||||
}
|
||||
|
||||
TempFileName++;
|
||||
|
||||
if ((*TempFileName == L'.') && (*(TempFileName + 1) == L'.')) {
|
||||
FileName += 2;
|
||||
} else {
|
||||
if (*(FileName + 2) != L'\0') {
|
||||
ReplaceLeft (TempFileName, FileName + 3);
|
||||
if (*(TempFileName - 1) == L'\\') {
|
||||
FileName = TempFileName;
|
||||
ExcludeTrailingBackslashes (TempFileName - 1);
|
||||
TempFileName = FileName;
|
||||
BackslashesNo = 0;
|
||||
TempFileName = FileName - 1;
|
||||
while (TempFileName >= FileNameSavedPointer) {
|
||||
if (*TempFileName == L'\\') {
|
||||
if (++BackslashesNo == 2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
TempFileName--;
|
||||
}
|
||||
|
||||
TempFileName++;
|
||||
|
||||
if ((*TempFileName == L'.') && (*(TempFileName + 1) == L'.')) {
|
||||
FileName += 2;
|
||||
} else {
|
||||
*TempFileName = L'\0';
|
||||
if (*(FileName + 2) != L'\0') {
|
||||
ReplaceLeft (TempFileName, FileName + 3);
|
||||
if (*(TempFileName - 1) == L'\\') {
|
||||
FileName = TempFileName;
|
||||
ExcludeTrailingBackslashes (TempFileName - 1);
|
||||
TempFileName = FileName;
|
||||
}
|
||||
} else {
|
||||
*TempFileName = L'\0';
|
||||
}
|
||||
|
||||
FileName = TempFileName;
|
||||
}
|
||||
|
||||
FileName = TempFileName;
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
FileName++;
|
||||
break;
|
||||
default:
|
||||
FileName++;
|
||||
}
|
||||
} else {
|
||||
FileName++;
|
||||
@@ -205,8 +205,8 @@ MangleFileName (
|
||||
}
|
||||
|
||||
FileName = FileNameSavedPointer;
|
||||
if ((StrLen (FileName) > 1) && (FileName [StrLen (FileName) - 1] == L'\\')) {
|
||||
FileName [StrLen (FileName) - 1] = L'\0';
|
||||
if ((StrLen (FileName) > 1) && (FileName[StrLen (FileName) - 1] == L'\\')) {
|
||||
FileName[StrLen (FileName) - 1] = L'\0';
|
||||
}
|
||||
|
||||
Exit:
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,7 @@
|
||||
//
|
||||
// UDF filesystem driver's Global Variables.
|
||||
//
|
||||
EFI_DRIVER_BINDING_PROTOCOL gUdfDriverBinding = {
|
||||
EFI_DRIVER_BINDING_PROTOCOL gUdfDriverBinding = {
|
||||
UdfDriverBindingSupported,
|
||||
UdfDriverBindingStart,
|
||||
UdfDriverBindingStop,
|
||||
@@ -20,7 +20,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUdfDriverBinding = {
|
||||
NULL
|
||||
};
|
||||
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL gUdfSimpleFsTemplate = {
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL gUdfSimpleFsTemplate = {
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION,
|
||||
UdfOpenVolume
|
||||
};
|
||||
@@ -55,13 +55,13 @@ UdfDriverBindingSupported (
|
||||
// Open DiskIo protocol on ControllerHandle
|
||||
//
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
(VOID **)&DiskIo,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
(VOID **)&DiskIo,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
@@ -70,23 +70,23 @@ UdfDriverBindingSupported (
|
||||
// Close DiskIo protocol on ControllerHandle
|
||||
//
|
||||
gBS->CloseProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
|
||||
//
|
||||
// Test whether ControllerHandle supports BlockIo protocol
|
||||
//
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
NULL,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_TEST_PROTOCOL
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
NULL,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_TEST_PROTOCOL
|
||||
);
|
||||
|
||||
return Status;
|
||||
}
|
||||
@@ -127,26 +127,26 @@ UdfDriverBindingStart (
|
||||
// Open BlockIo protocol on ControllerHandle
|
||||
//
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
(VOID **)&BlockIo,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
(VOID **)&BlockIo,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
//
|
||||
// Open DiskIo protocol on ControllerHandle
|
||||
//
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
(VOID **)&DiskIo,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
(VOID **)&DiskIo,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
//
|
||||
@@ -179,18 +179,21 @@ UdfDriverBindingStart (
|
||||
//
|
||||
// Set up SimpleFs protocol
|
||||
//
|
||||
CopyMem ((VOID *)&PrivFsData->SimpleFs, (VOID *)&gUdfSimpleFsTemplate,
|
||||
sizeof (EFI_SIMPLE_FILE_SYSTEM_PROTOCOL));
|
||||
CopyMem (
|
||||
(VOID *)&PrivFsData->SimpleFs,
|
||||
(VOID *)&gUdfSimpleFsTemplate,
|
||||
sizeof (EFI_SIMPLE_FILE_SYSTEM_PROTOCOL)
|
||||
);
|
||||
|
||||
//
|
||||
// Install child handle
|
||||
//
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&PrivFsData->Handle,
|
||||
&gEfiSimpleFileSystemProtocolGuid,
|
||||
&PrivFsData->SimpleFs,
|
||||
NULL
|
||||
);
|
||||
&PrivFsData->Handle,
|
||||
&gEfiSimpleFileSystemProtocolGuid,
|
||||
&PrivFsData->SimpleFs,
|
||||
NULL
|
||||
);
|
||||
|
||||
Exit:
|
||||
if (EFI_ERROR (Status)) {
|
||||
@@ -198,20 +201,20 @@ Exit:
|
||||
// Close DiskIo protocol on ControllerHandle
|
||||
//
|
||||
gBS->CloseProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
//
|
||||
// Close BlockIo protocol on ControllerHandle
|
||||
//
|
||||
gBS->CloseProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
}
|
||||
|
||||
gBS->RestoreTPL (OldTpl);
|
||||
@@ -236,27 +239,27 @@ Exit:
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
UdfDriverBindingStop (
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINTN NumberOfChildren,
|
||||
IN EFI_HANDLE *ChildHandleBuffer
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINTN NumberOfChildren,
|
||||
IN EFI_HANDLE *ChildHandleBuffer
|
||||
)
|
||||
{
|
||||
PRIVATE_UDF_SIMPLE_FS_DATA *PrivFsData;
|
||||
EFI_STATUS Status;
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *SimpleFs;
|
||||
PRIVATE_UDF_SIMPLE_FS_DATA *PrivFsData;
|
||||
EFI_STATUS Status;
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *SimpleFs;
|
||||
|
||||
//
|
||||
// Open SimpleFs protocol on ControllerHandle
|
||||
//
|
||||
Status = gBS->OpenProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiSimpleFileSystemProtocolGuid,
|
||||
(VOID **)&SimpleFs,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiSimpleFileSystemProtocolGuid,
|
||||
(VOID **)&SimpleFs,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle,
|
||||
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
||||
);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
PrivFsData = PRIVATE_UDF_SIMPLE_FS_DATA_FROM_THIS (SimpleFs);
|
||||
|
||||
@@ -264,11 +267,11 @@ UdfDriverBindingStop (
|
||||
// Uninstall child handle
|
||||
//
|
||||
Status = gBS->UninstallMultipleProtocolInterfaces (
|
||||
PrivFsData->Handle,
|
||||
&gEfiSimpleFileSystemProtocolGuid,
|
||||
&PrivFsData->SimpleFs,
|
||||
NULL
|
||||
);
|
||||
PrivFsData->Handle,
|
||||
&gEfiSimpleFileSystemProtocolGuid,
|
||||
&PrivFsData->SimpleFs,
|
||||
NULL
|
||||
);
|
||||
|
||||
FreePool ((VOID *)PrivFsData);
|
||||
}
|
||||
@@ -278,20 +281,20 @@ UdfDriverBindingStop (
|
||||
// Close DiskIo protocol on ControllerHandle
|
||||
//
|
||||
gBS->CloseProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiDiskIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
//
|
||||
// Close BlockIo protocol on ControllerHandle
|
||||
//
|
||||
gBS->CloseProtocol (
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
ControllerHandle,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
This->DriverBindingHandle,
|
||||
ControllerHandle
|
||||
);
|
||||
}
|
||||
|
||||
return Status;
|
||||
@@ -311,20 +314,20 @@ UdfDriverBindingStop (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
InitializeUdf (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_STATUS Status;
|
||||
|
||||
Status = EfiLibInstallDriverBindingComponentName2 (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&gUdfDriverBinding,
|
||||
ImageHandle,
|
||||
&gUdfComponentName,
|
||||
&gUdfComponentName2
|
||||
);
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&gUdfDriverBinding,
|
||||
ImageHandle,
|
||||
&gUdfComponentName,
|
||||
&gUdfComponentName2
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
return Status;
|
||||
|
@@ -51,9 +51,9 @@
|
||||
((UDF_EXTENDED_FILE_ENTRY *)(_Ptr))->IcbTag.FileType)
|
||||
|
||||
typedef enum {
|
||||
UdfFileEntryDirectory = 4,
|
||||
UdfFileEntryDirectory = 4,
|
||||
UdfFileEntryStandardFile = 5,
|
||||
UdfFileEntrySymlink = 12,
|
||||
UdfFileEntrySymlink = 12,
|
||||
} UDF_FILE_ENTRY_TYPE;
|
||||
|
||||
#define HIDDEN_FILE (1 << 0)
|
||||
@@ -120,12 +120,12 @@ typedef enum {
|
||||
#define IS_VALID_COMPRESSION_ID(_CompId) \
|
||||
((BOOLEAN)((_CompId) == 8 || (_CompId) == 16))
|
||||
|
||||
#define UDF_STANDARD_IDENTIFIER_LENGTH 5
|
||||
#define UDF_STANDARD_IDENTIFIER_LENGTH 5
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct {
|
||||
UINT8 StandardIdentifier[UDF_STANDARD_IDENTIFIER_LENGTH];
|
||||
UINT8 StandardIdentifier[UDF_STANDARD_IDENTIFIER_LENGTH];
|
||||
} UDF_STANDARD_IDENTIFIER;
|
||||
|
||||
#pragma pack()
|
||||
@@ -137,174 +137,174 @@ typedef enum {
|
||||
} UDF_READ_FILE_FLAGS;
|
||||
|
||||
typedef struct {
|
||||
VOID *FileData;
|
||||
UDF_READ_FILE_FLAGS Flags;
|
||||
UINT64 FileDataSize;
|
||||
UINT64 FilePosition;
|
||||
UINT64 FileSize;
|
||||
UINT64 ReadLength;
|
||||
VOID *FileData;
|
||||
UDF_READ_FILE_FLAGS Flags;
|
||||
UINT64 FileDataSize;
|
||||
UINT64 FilePosition;
|
||||
UINT64 FileSize;
|
||||
UINT64 ReadLength;
|
||||
} UDF_READ_FILE_INFO;
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
typedef struct {
|
||||
UINT16 TypeAndTimezone;
|
||||
INT16 Year;
|
||||
UINT8 Month;
|
||||
UINT8 Day;
|
||||
UINT8 Hour;
|
||||
UINT8 Minute;
|
||||
UINT8 Second;
|
||||
UINT8 Centiseconds;
|
||||
UINT8 HundredsOfMicroseconds;
|
||||
UINT8 Microseconds;
|
||||
UINT16 TypeAndTimezone;
|
||||
INT16 Year;
|
||||
UINT8 Month;
|
||||
UINT8 Day;
|
||||
UINT8 Hour;
|
||||
UINT8 Minute;
|
||||
UINT8 Second;
|
||||
UINT8 Centiseconds;
|
||||
UINT8 HundredsOfMicroseconds;
|
||||
UINT8 Microseconds;
|
||||
} UDF_TIMESTAMP;
|
||||
|
||||
typedef struct {
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UINT32 PrevAllocationExtentDescriptor;
|
||||
UINT32 LengthOfAllocationDescriptors;
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UINT32 PrevAllocationExtentDescriptor;
|
||||
UINT32 LengthOfAllocationDescriptors;
|
||||
} UDF_ALLOCATION_EXTENT_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
UINT8 StructureType;
|
||||
UINT8 StandardIdentifier[UDF_STANDARD_IDENTIFIER_LENGTH];
|
||||
UINT8 StructureVersion;
|
||||
UINT8 Reserved;
|
||||
UINT8 StructureData[2040];
|
||||
UINT8 StructureType;
|
||||
UINT8 StandardIdentifier[UDF_STANDARD_IDENTIFIER_LENGTH];
|
||||
UINT8 StructureVersion;
|
||||
UINT8 Reserved;
|
||||
UINT8 StructureData[2040];
|
||||
} UDF_VOLUME_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UDF_TIMESTAMP RecordingDateTime;
|
||||
UINT32 IntegrityType;
|
||||
UDF_EXTENT_AD NextIntegrityExtent;
|
||||
UINT8 LogicalVolumeContentsUse[32];
|
||||
UINT32 NumberOfPartitions;
|
||||
UINT32 LengthOfImplementationUse;
|
||||
UINT8 Data[0];
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UDF_TIMESTAMP RecordingDateTime;
|
||||
UINT32 IntegrityType;
|
||||
UDF_EXTENT_AD NextIntegrityExtent;
|
||||
UINT8 LogicalVolumeContentsUse[32];
|
||||
UINT32 NumberOfPartitions;
|
||||
UINT32 LengthOfImplementationUse;
|
||||
UINT8 Data[0];
|
||||
} UDF_LOGICAL_VOLUME_INTEGRITY;
|
||||
|
||||
typedef struct {
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UINT32 VolumeDescriptorSequenceNumber;
|
||||
UINT16 PartitionFlags;
|
||||
UINT16 PartitionNumber;
|
||||
UDF_ENTITY_ID PartitionContents;
|
||||
UINT8 PartitionContentsUse[128];
|
||||
UINT32 AccessType;
|
||||
UINT32 PartitionStartingLocation;
|
||||
UINT32 PartitionLength;
|
||||
UDF_ENTITY_ID ImplementationIdentifier;
|
||||
UINT8 ImplementationUse[128];
|
||||
UINT8 Reserved[156];
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UINT32 VolumeDescriptorSequenceNumber;
|
||||
UINT16 PartitionFlags;
|
||||
UINT16 PartitionNumber;
|
||||
UDF_ENTITY_ID PartitionContents;
|
||||
UINT8 PartitionContentsUse[128];
|
||||
UINT32 AccessType;
|
||||
UINT32 PartitionStartingLocation;
|
||||
UINT32 PartitionLength;
|
||||
UDF_ENTITY_ID ImplementationIdentifier;
|
||||
UINT8 ImplementationUse[128];
|
||||
UINT8 Reserved[156];
|
||||
} UDF_PARTITION_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UDF_TIMESTAMP RecordingDateAndTime;
|
||||
UINT16 InterchangeLevel;
|
||||
UINT16 MaximumInterchangeLevel;
|
||||
UINT32 CharacterSetList;
|
||||
UINT32 MaximumCharacterSetList;
|
||||
UINT32 FileSetNumber;
|
||||
UINT32 FileSetDescriptorNumber;
|
||||
UDF_CHAR_SPEC LogicalVolumeIdentifierCharacterSet;
|
||||
UINT8 LogicalVolumeIdentifier[128];
|
||||
UDF_CHAR_SPEC FileSetCharacterSet;
|
||||
UINT8 FileSetIdentifier[32];
|
||||
UINT8 CopyrightFileIdentifier[32];
|
||||
UINT8 AbstractFileIdentifier[32];
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR RootDirectoryIcb;
|
||||
UDF_ENTITY_ID DomainIdentifier;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR NextExtent;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR SystemStreamDirectoryIcb;
|
||||
UINT8 Reserved[32];
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UDF_TIMESTAMP RecordingDateAndTime;
|
||||
UINT16 InterchangeLevel;
|
||||
UINT16 MaximumInterchangeLevel;
|
||||
UINT32 CharacterSetList;
|
||||
UINT32 MaximumCharacterSetList;
|
||||
UINT32 FileSetNumber;
|
||||
UINT32 FileSetDescriptorNumber;
|
||||
UDF_CHAR_SPEC LogicalVolumeIdentifierCharacterSet;
|
||||
UINT8 LogicalVolumeIdentifier[128];
|
||||
UDF_CHAR_SPEC FileSetCharacterSet;
|
||||
UINT8 FileSetIdentifier[32];
|
||||
UINT8 CopyrightFileIdentifier[32];
|
||||
UINT8 AbstractFileIdentifier[32];
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR RootDirectoryIcb;
|
||||
UDF_ENTITY_ID DomainIdentifier;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR NextExtent;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR SystemStreamDirectoryIcb;
|
||||
UINT8 Reserved[32];
|
||||
} UDF_FILE_SET_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
UINT32 ExtentLength;
|
||||
UINT32 ExtentPosition;
|
||||
UINT32 ExtentLength;
|
||||
UINT32 ExtentPosition;
|
||||
} UDF_SHORT_ALLOCATION_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UINT16 FileVersionNumber;
|
||||
UINT8 FileCharacteristics;
|
||||
UINT8 LengthOfFileIdentifier;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR Icb;
|
||||
UINT16 LengthOfImplementationUse;
|
||||
UINT8 Data[0];
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UINT16 FileVersionNumber;
|
||||
UINT8 FileCharacteristics;
|
||||
UINT8 LengthOfFileIdentifier;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR Icb;
|
||||
UINT16 LengthOfImplementationUse;
|
||||
UINT8 Data[0];
|
||||
} UDF_FILE_IDENTIFIER_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
UINT32 PriorRecordNumberOfDirectEntries;
|
||||
UINT16 StrategyType;
|
||||
UINT16 StrategyParameter;
|
||||
UINT16 MaximumNumberOfEntries;
|
||||
UINT8 Reserved;
|
||||
UINT8 FileType;
|
||||
UDF_LB_ADDR ParentIcbLocation;
|
||||
UINT16 Flags;
|
||||
UINT32 PriorRecordNumberOfDirectEntries;
|
||||
UINT16 StrategyType;
|
||||
UINT16 StrategyParameter;
|
||||
UINT16 MaximumNumberOfEntries;
|
||||
UINT8 Reserved;
|
||||
UINT8 FileType;
|
||||
UDF_LB_ADDR ParentIcbLocation;
|
||||
UINT16 Flags;
|
||||
} UDF_ICB_TAG;
|
||||
|
||||
typedef struct {
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UDF_ICB_TAG IcbTag;
|
||||
UINT32 Uid;
|
||||
UINT32 Gid;
|
||||
UINT32 Permissions;
|
||||
UINT16 FileLinkCount;
|
||||
UINT8 RecordFormat;
|
||||
UINT8 RecordDisplayAttributes;
|
||||
UINT32 RecordLength;
|
||||
UINT64 InformationLength;
|
||||
UINT64 LogicalBlocksRecorded;
|
||||
UDF_TIMESTAMP AccessTime;
|
||||
UDF_TIMESTAMP ModificationTime;
|
||||
UDF_TIMESTAMP AttributeTime;
|
||||
UINT32 CheckPoint;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR ExtendedAttributeIcb;
|
||||
UDF_ENTITY_ID ImplementationIdentifier;
|
||||
UINT64 UniqueId;
|
||||
UINT32 LengthOfExtendedAttributes;
|
||||
UINT32 LengthOfAllocationDescriptors;
|
||||
UINT8 Data[0]; // L_EA + L_AD
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UDF_ICB_TAG IcbTag;
|
||||
UINT32 Uid;
|
||||
UINT32 Gid;
|
||||
UINT32 Permissions;
|
||||
UINT16 FileLinkCount;
|
||||
UINT8 RecordFormat;
|
||||
UINT8 RecordDisplayAttributes;
|
||||
UINT32 RecordLength;
|
||||
UINT64 InformationLength;
|
||||
UINT64 LogicalBlocksRecorded;
|
||||
UDF_TIMESTAMP AccessTime;
|
||||
UDF_TIMESTAMP ModificationTime;
|
||||
UDF_TIMESTAMP AttributeTime;
|
||||
UINT32 CheckPoint;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR ExtendedAttributeIcb;
|
||||
UDF_ENTITY_ID ImplementationIdentifier;
|
||||
UINT64 UniqueId;
|
||||
UINT32 LengthOfExtendedAttributes;
|
||||
UINT32 LengthOfAllocationDescriptors;
|
||||
UINT8 Data[0]; // L_EA + L_AD
|
||||
} UDF_FILE_ENTRY;
|
||||
|
||||
typedef struct {
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UDF_ICB_TAG IcbTag;
|
||||
UINT32 Uid;
|
||||
UINT32 Gid;
|
||||
UINT32 Permissions;
|
||||
UINT16 FileLinkCount;
|
||||
UINT8 RecordFormat;
|
||||
UINT8 RecordDisplayAttributes;
|
||||
UINT32 RecordLength;
|
||||
UINT64 InformationLength;
|
||||
UINT64 ObjectSize;
|
||||
UINT64 LogicalBlocksRecorded;
|
||||
UDF_TIMESTAMP AccessTime;
|
||||
UDF_TIMESTAMP ModificationTime;
|
||||
UDF_TIMESTAMP CreationTime;
|
||||
UDF_TIMESTAMP AttributeTime;
|
||||
UINT32 CheckPoint;
|
||||
UINT32 Reserved;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR ExtendedAttributeIcb;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR StreamDirectoryIcb;
|
||||
UDF_ENTITY_ID ImplementationIdentifier;
|
||||
UINT64 UniqueId;
|
||||
UINT32 LengthOfExtendedAttributes;
|
||||
UINT32 LengthOfAllocationDescriptors;
|
||||
UINT8 Data[0]; // L_EA + L_AD
|
||||
UDF_DESCRIPTOR_TAG DescriptorTag;
|
||||
UDF_ICB_TAG IcbTag;
|
||||
UINT32 Uid;
|
||||
UINT32 Gid;
|
||||
UINT32 Permissions;
|
||||
UINT16 FileLinkCount;
|
||||
UINT8 RecordFormat;
|
||||
UINT8 RecordDisplayAttributes;
|
||||
UINT32 RecordLength;
|
||||
UINT64 InformationLength;
|
||||
UINT64 ObjectSize;
|
||||
UINT64 LogicalBlocksRecorded;
|
||||
UDF_TIMESTAMP AccessTime;
|
||||
UDF_TIMESTAMP ModificationTime;
|
||||
UDF_TIMESTAMP CreationTime;
|
||||
UDF_TIMESTAMP AttributeTime;
|
||||
UINT32 CheckPoint;
|
||||
UINT32 Reserved;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR ExtendedAttributeIcb;
|
||||
UDF_LONG_ALLOCATION_DESCRIPTOR StreamDirectoryIcb;
|
||||
UDF_ENTITY_ID ImplementationIdentifier;
|
||||
UINT64 UniqueId;
|
||||
UINT32 LengthOfExtendedAttributes;
|
||||
UINT32 LengthOfAllocationDescriptors;
|
||||
UINT8 Data[0]; // L_EA + L_AD
|
||||
} UDF_EXTENDED_FILE_ENTRY;
|
||||
|
||||
typedef struct {
|
||||
UINT8 ComponentType;
|
||||
UINT8 LengthOfComponentIdentifier;
|
||||
UINT16 ComponentFileVersionNumber;
|
||||
UINT8 ComponentIdentifier[0];
|
||||
UINT8 ComponentType;
|
||||
UINT8 LengthOfComponentIdentifier;
|
||||
UINT16 ComponentFileVersionNumber;
|
||||
UINT8 ComponentIdentifier[0];
|
||||
} UDF_PATH_COMPONENT;
|
||||
|
||||
#pragma pack()
|
||||
@@ -313,25 +313,25 @@ typedef struct {
|
||||
// UDF filesystem driver's private data
|
||||
//
|
||||
typedef struct {
|
||||
UINT64 MainVdsStartLocation;
|
||||
UDF_LOGICAL_VOLUME_DESCRIPTOR LogicalVolDesc;
|
||||
UDF_PARTITION_DESCRIPTOR PartitionDesc;
|
||||
UDF_FILE_SET_DESCRIPTOR FileSetDesc;
|
||||
UINTN FileEntrySize;
|
||||
UINT64 MainVdsStartLocation;
|
||||
UDF_LOGICAL_VOLUME_DESCRIPTOR LogicalVolDesc;
|
||||
UDF_PARTITION_DESCRIPTOR PartitionDesc;
|
||||
UDF_FILE_SET_DESCRIPTOR FileSetDesc;
|
||||
UINTN FileEntrySize;
|
||||
} UDF_VOLUME_INFO;
|
||||
|
||||
typedef struct {
|
||||
VOID *FileEntry;
|
||||
UDF_FILE_IDENTIFIER_DESCRIPTOR *FileIdentifierDesc;
|
||||
VOID *FileEntry;
|
||||
UDF_FILE_IDENTIFIER_DESCRIPTOR *FileIdentifierDesc;
|
||||
} UDF_FILE_INFO;
|
||||
|
||||
typedef struct {
|
||||
VOID *DirectoryData;
|
||||
UINT64 DirectoryLength;
|
||||
UINT64 FidOffset;
|
||||
VOID *DirectoryData;
|
||||
UINT64 DirectoryLength;
|
||||
UINT64 FidOffset;
|
||||
} UDF_READ_DIRECTORY_INFO;
|
||||
|
||||
#define PRIVATE_UDF_FILE_DATA_SIGNATURE SIGNATURE_32 ('U', 'd', 'f', 'f')
|
||||
#define PRIVATE_UDF_FILE_DATA_SIGNATURE SIGNATURE_32 ('U', 'd', 'f', 'f')
|
||||
|
||||
#define PRIVATE_UDF_FILE_DATA_FROM_THIS(a) \
|
||||
CR ( \
|
||||
@@ -342,20 +342,20 @@ typedef struct {
|
||||
)
|
||||
|
||||
typedef struct {
|
||||
UINTN Signature;
|
||||
BOOLEAN IsRootDirectory;
|
||||
UDF_FILE_INFO *Root;
|
||||
UDF_FILE_INFO File;
|
||||
UDF_READ_DIRECTORY_INFO ReadDirInfo;
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *SimpleFs;
|
||||
EFI_FILE_PROTOCOL FileIo;
|
||||
CHAR16 AbsoluteFileName[UDF_PATH_LENGTH];
|
||||
CHAR16 FileName[UDF_FILENAME_LENGTH];
|
||||
UINT64 FileSize;
|
||||
UINT64 FilePosition;
|
||||
UINTN Signature;
|
||||
BOOLEAN IsRootDirectory;
|
||||
UDF_FILE_INFO *Root;
|
||||
UDF_FILE_INFO File;
|
||||
UDF_READ_DIRECTORY_INFO ReadDirInfo;
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *SimpleFs;
|
||||
EFI_FILE_PROTOCOL FileIo;
|
||||
CHAR16 AbsoluteFileName[UDF_PATH_LENGTH];
|
||||
CHAR16 FileName[UDF_FILENAME_LENGTH];
|
||||
UINT64 FileSize;
|
||||
UINT64 FilePosition;
|
||||
} PRIVATE_UDF_FILE_DATA;
|
||||
|
||||
#define PRIVATE_UDF_SIMPLE_FS_DATA_SIGNATURE SIGNATURE_32 ('U', 'd', 'f', 's')
|
||||
#define PRIVATE_UDF_SIMPLE_FS_DATA_SIGNATURE SIGNATURE_32 ('U', 'd', 'f', 's')
|
||||
|
||||
#define PRIVATE_UDF_SIMPLE_FS_DATA_FROM_THIS(a) \
|
||||
CR ( \
|
||||
@@ -366,14 +366,14 @@ typedef struct {
|
||||
)
|
||||
|
||||
typedef struct {
|
||||
UINTN Signature;
|
||||
EFI_BLOCK_IO_PROTOCOL *BlockIo;
|
||||
EFI_DISK_IO_PROTOCOL *DiskIo;
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL SimpleFs;
|
||||
UDF_VOLUME_INFO Volume;
|
||||
UDF_FILE_INFO Root;
|
||||
UINTN OpenFiles;
|
||||
EFI_HANDLE Handle;
|
||||
UINTN Signature;
|
||||
EFI_BLOCK_IO_PROTOCOL *BlockIo;
|
||||
EFI_DISK_IO_PROTOCOL *DiskIo;
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL SimpleFs;
|
||||
UDF_VOLUME_INFO Volume;
|
||||
UDF_FILE_INFO Root;
|
||||
UINTN OpenFiles;
|
||||
EFI_HANDLE Handle;
|
||||
} PRIVATE_UDF_SIMPLE_FS_DATA;
|
||||
|
||||
//
|
||||
@@ -472,7 +472,7 @@ UdfRead (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
UdfClose (
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -630,7 +630,7 @@ UdfSetInfo (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
UdfFlush (
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -838,7 +838,7 @@ ResolveSymlink (
|
||||
**/
|
||||
VOID
|
||||
CleanupFileInformation (
|
||||
IN UDF_FILE_INFO *File
|
||||
IN UDF_FILE_INFO *File
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -1013,7 +1013,7 @@ SupportUdfFileSystem (
|
||||
**/
|
||||
CHAR16 *
|
||||
MangleFileName (
|
||||
IN CHAR16 *FileName
|
||||
IN CHAR16 *FileName
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -1078,15 +1078,16 @@ UdfDriverBindingStart (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
UdfDriverBindingStop (
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINTN NumberOfChildren,
|
||||
IN EFI_HANDLE *ChildHandleBuffer
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINTN NumberOfChildren,
|
||||
IN EFI_HANDLE *ChildHandleBuffer
|
||||
);
|
||||
|
||||
//
|
||||
// EFI Component Name Functions
|
||||
//
|
||||
|
||||
/**
|
||||
Retrieves a Unicode string that is the user readable name of the driver.
|
||||
|
||||
|
Reference in New Issue
Block a user