TianoCore EDK2 master
Loading...
Searching...
No Matches
FvSimpleFileSystemInternal.h File Reference

Go to the source code of this file.

Data Structures

struct  _FV_FILESYSTEM_INSTANCE
 
struct  _FV_FILESYSTEM_FILE
 
struct  _FV_FILESYSTEM_FILE_INFO
 

Macros

#define FVFS_FILE_SIGNATURE   SIGNATURE_32 ('f', 'v', 'f', 'i')
 
#define FVFS_FILE_INFO_SIGNATURE   SIGNATURE_32 ('f', 'v', 'i', 'n')
 
#define FVFS_INSTANCE_SIGNATURE   SIGNATURE_32 ('f', 'v', 'f', 's')
 
#define FVFS_INSTANCE_FROM_SIMPLE_FS_THIS(This)
 
#define FVFS_FILE_FROM_FILE_THIS(This)
 
#define FVFS_FILE_INFO_FROM_LINK(This)
 
#define FVFS_FILE_FROM_LINK(FileLink)   CR (FileLink, FV_FILESYSTEM_FILE, Link, FVFS_FILE_SIGNATURE)
 
#define FVFS_GET_FIRST_FILE(Instance)   FVFS_FILE_FROM_LINK (GetFirstNode (&Instance->FileHead))
 
#define FVFS_GET_FIRST_FILE_INFO(Instance)   FVFS_FILE_INFO_FROM_LINK (GetFirstNode (&Instance->FileInfoHead))
 
#define FV_FILETYPE_IS_EXECUTABLE(Type)
 

Typedefs

typedef struct _FV_FILESYSTEM_FILE FV_FILESYSTEM_FILE
 
typedef struct _FV_FILESYSTEM_FILE_INFO FV_FILESYSTEM_FILE_INFO
 
typedef struct _FV_FILESYSTEM_INSTANCE FV_FILESYSTEM_INSTANCE
 

Functions

EFI_STATUS EFIAPI FvSimpleFileSystemOpenVolume (IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This, OUT EFI_FILE_PROTOCOL **RootFile)
 
EFI_STATUS EFIAPI FvSimpleFileSystemDriverSupported (IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
 
EFI_STATUS EFIAPI FvSimpleFileSystemDriverStart (IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
 
EFI_STATUS EFIAPI FvSimpleFileSystemDriverStop (IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer OPTIONAL)
 
EFI_STATUS EFIAPI FvSimpleFileSystemOpen (IN EFI_FILE_PROTOCOL *This, OUT EFI_FILE_PROTOCOL **NewHandle, IN CHAR16 *FileName, IN UINT64 OpenMode, IN UINT64 Attributes)
 
EFI_STATUS EFIAPI FvSimpleFileSystemClose (IN EFI_FILE_PROTOCOL *This)
 
EFI_STATUS EFIAPI FvSimpleFileSystemRead (IN EFI_FILE_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer)
 
EFI_STATUS EFIAPI FvSimpleFileSystemWrite (IN EFI_FILE_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer)
 
EFI_STATUS EFIAPI FvSimpleFileSystemGetPosition (IN EFI_FILE_PROTOCOL *This, OUT UINT64 *Position)
 
EFI_STATUS EFIAPI FvSimpleFileSystemSetPosition (IN EFI_FILE_PROTOCOL *This, IN UINT64 Position)
 
EFI_STATUS EFIAPI FvSimpleFileSystemFlush (IN EFI_FILE_PROTOCOL *This)
 
EFI_STATUS EFIAPI FvSimpleFileSystemDelete (IN EFI_FILE_PROTOCOL *This)
 
EFI_STATUS EFIAPI FvSimpleFileSystemGetInfo (IN EFI_FILE_PROTOCOL *This, IN EFI_GUID *InformationType, IN OUT UINTN *BufferSize, OUT VOID *Buffer)
 
EFI_STATUS EFIAPI FvSimpleFileSystemSetInfo (IN EFI_FILE_PROTOCOL *This, IN EFI_GUID *InformationType, IN UINTN BufferSize, IN VOID *Buffer)
 
EFI_STATUS FvFsGetFileSize (IN EFI_FIRMWARE_VOLUME2_PROTOCOL *FvProtocol, IN OUT FV_FILESYSTEM_FILE_INFO *FvFileInfo)
 
EFI_STATUS EFIAPI FvSimpleFileSystemComponentNameGetDriverName (IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
 
EFI_STATUS EFIAPI FvSimpleFileSystemComponentNameGetControllerName (IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
 

Variables

EFI_UNICODE_COLLATION_PROTOCOLmUnicodeCollation
 
EFI_FILE_PROTOCOL mFileSystemTemplate
 
EFI_COMPONENT_NAME_PROTOCOL gFvSimpleFileSystemComponentName
 
EFI_COMPONENT_NAME2_PROTOCOL gFvSimpleFileSystemComponentName2
 

Detailed Description

The internal header file of FvSimpleFileSystem driver.

Copyright (c) 2014, ARM Limited. All rights reserved. Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file FvSimpleFileSystemInternal.h.

Macro Definition Documentation

◆ FV_FILETYPE_IS_EXECUTABLE

#define FV_FILETYPE_IS_EXECUTABLE (   Type)
Value:
((Type) == EFI_FV_FILETYPE_PEIM ||\
(Type) == EFI_FV_FILETYPE_DRIVER || \
(Type) == EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER || \
(Type) == EFI_FV_FILETYPE_APPLICATION)

Definition at line 111 of file FvSimpleFileSystemInternal.h.

◆ FVFS_FILE_FROM_FILE_THIS

#define FVFS_FILE_FROM_FILE_THIS (   This)
Value:
CR ( \
This, \
FileProtocol, \
FVFS_FILE_SIGNATURE \
)
#define CR(Record, TYPE, Field, TestSignature)
Definition: DebugLib.h:659

Definition at line 91 of file FvSimpleFileSystemInternal.h.

◆ FVFS_FILE_FROM_LINK

#define FVFS_FILE_FROM_LINK (   FileLink)    CR (FileLink, FV_FILESYSTEM_FILE, Link, FVFS_FILE_SIGNATURE)

Definition at line 105 of file FvSimpleFileSystemInternal.h.

◆ FVFS_FILE_INFO_FROM_LINK

#define FVFS_FILE_INFO_FROM_LINK (   This)
Value:
CR ( \
This, \
Link, \
FVFS_FILE_INFO_SIGNATURE \
)

Definition at line 98 of file FvSimpleFileSystemInternal.h.

◆ FVFS_FILE_INFO_SIGNATURE

#define FVFS_FILE_INFO_SIGNATURE   SIGNATURE_32 ('f', 'v', 'i', 'n')

Definition at line 81 of file FvSimpleFileSystemInternal.h.

◆ FVFS_FILE_SIGNATURE

#define FVFS_FILE_SIGNATURE   SIGNATURE_32 ('f', 'v', 'f', 'i')

Definition at line 80 of file FvSimpleFileSystemInternal.h.

◆ FVFS_GET_FIRST_FILE

#define FVFS_GET_FIRST_FILE (   Instance)    FVFS_FILE_FROM_LINK (GetFirstNode (&Instance->FileHead))

Definition at line 107 of file FvSimpleFileSystemInternal.h.

◆ FVFS_GET_FIRST_FILE_INFO

#define FVFS_GET_FIRST_FILE_INFO (   Instance)    FVFS_FILE_INFO_FROM_LINK (GetFirstNode (&Instance->FileInfoHead))

Definition at line 109 of file FvSimpleFileSystemInternal.h.

◆ FVFS_INSTANCE_FROM_SIMPLE_FS_THIS

#define FVFS_INSTANCE_FROM_SIMPLE_FS_THIS (   This)
Value:
CR ( \
This, \
SimpleFs, \
FVFS_INSTANCE_SIGNATURE \
)

Definition at line 84 of file FvSimpleFileSystemInternal.h.

◆ FVFS_INSTANCE_SIGNATURE

#define FVFS_INSTANCE_SIGNATURE   SIGNATURE_32 ('f', 'v', 'f', 's')

Definition at line 82 of file FvSimpleFileSystemInternal.h.

Typedef Documentation

◆ FV_FILESYSTEM_FILE

Definition at line 35 of file FvSimpleFileSystemInternal.h.

◆ FV_FILESYSTEM_FILE_INFO

◆ FV_FILESYSTEM_INSTANCE

Function Documentation

◆ FvFsGetFileSize()

EFI_STATUS FvFsGetFileSize ( IN EFI_FIRMWARE_VOLUME2_PROTOCOL FvProtocol,
IN OUT FV_FILESYSTEM_FILE_INFO FvFileInfo 
)

Get the size of the buffer that will be returned by FvFsReadFile.

Parameters
FvProtocolA pointer to the EFI_FIRMWARE_VOLUME2_PROTOCOL instance.
FvFileInfoA pointer to the FV_FILESYSTEM_FILE_INFO instance that is a struct representing a file's info.
Return values
EFI_SUCCESSThe file size was gotten correctly.
OthersThe file size wasn't gotten correctly.

Definition at line 111 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemClose()

EFI_STATUS EFIAPI FvSimpleFileSystemClose ( IN EFI_FILE_PROTOCOL This)

Closes a specified file handle.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the file handle to close.
Return values
EFI_SUCCESSThe file was closed.

Definition at line 612 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemComponentNameGetControllerName()

EFI_STATUS EFIAPI FvSimpleFileSystemComponentNameGetControllerName ( IN EFI_COMPONENT_NAME_PROTOCOL This,
IN EFI_HANDLE  ControllerHandle,
IN EFI_HANDLE ChildHandle  OPTIONAL,
IN CHAR8 *  Language,
OUT CHAR16 **  ControllerName 
)

Retrieves a Unicode string that is the user readable name of the controller that is being managed by a driver.

This function retrieves the user readable name of the controller specified by ControllerHandle and ChildHandle in the form of a Unicode string. If the driver specified by This has a user readable name in the language specified by Language, then a pointer to the controller name is returned in ControllerName, and EFI_SUCCESS is returned. If the driver specified by This is not currently managing the controller specified by ControllerHandle and ChildHandle, then EFI_UNSUPPORTED is returned. If the driver specified by This does not support the language specified by Language, then EFI_UNSUPPORTED is returned.

Parameters
This[in]A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or EFI_COMPONENT_NAME_PROTOCOL instance.
ControllerHandle[in]The handle of a controller that the driver specified by This is managing. This handle specifies the controller whose name is to be returned.
ChildHandle[in]The handle of the child controller to retrieve the name of. This is an optional parameter that may be NULL. It will be NULL for device drivers. It will also be NULL for a bus drivers that wish to retrieve the name of the bus controller. It will not be NULL for a bus driver that wishes to retrieve the name of a child controller.
Language[in]A pointer to a Null-terminated ASCII string array indicating the language. This is the language of the driver name that the caller is requesting, and it must match one of the languages specified in SupportedLanguages. The number of languages supported by a driver is up to the driver writer. Language is specified in RFC 4646 or ISO 639-2 language code format.
ControllerName[out]A pointer to the Unicode string to return. This Unicode string is the name of the controller specified by ControllerHandle and ChildHandle in the language specified by Language from the point of view of the driver specified by This.
Return values
EFI_SUCCESSThe Unicode string for the user readable name in the language specified by Language for the driver specified by This was returned in DriverName.
EFI_INVALID_PARAMETERControllerHandle is NULL.
EFI_INVALID_PARAMETERChildHandle is not NULL and it is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETERLanguage is NULL.
EFI_INVALID_PARAMETERControllerName is NULL.
EFI_UNSUPPORTEDThe driver specified by This is not currently managing the controller specified by ControllerHandle and ChildHandle.
EFI_UNSUPPORTEDThe driver specified by This does not support the language specified by Language.

Definition at line 172 of file ComponentName.c.

◆ FvSimpleFileSystemComponentNameGetDriverName()

EFI_STATUS EFIAPI FvSimpleFileSystemComponentNameGetDriverName ( IN EFI_COMPONENT_NAME_PROTOCOL This,
IN CHAR8 *  Language,
OUT CHAR16 **  DriverName 
)

Retrieves a Unicode string that is the user readable name of the driver.

This function retrieves the user readable name of a driver in the form of a Unicode string. If the driver specified by This has a user readable name in the language specified by Language, then a pointer to the driver name is returned in DriverName, and EFI_SUCCESS is returned. If the driver specified by This does not support the language specified by Language, then EFI_UNSUPPORTED is returned.

Parameters
This[in]A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or EFI_COMPONENT_NAME_PROTOCOL instance.
Language[in]A pointer to a Null-terminated ASCII string array indicating the language. This is the language of the driver name that the caller is requesting, and it must match one of the languages specified in SupportedLanguages. The number of languages supported by a driver is up to the driver writer. Language is specified in RFC 4646 or ISO 639-2 language code format.
DriverName[out]A pointer to the Unicode string to return. This Unicode string is the name of the driver specified by This in the language specified by Language.
Return values
EFI_SUCCESSThe Unicode string for the Driver specified by This and the language specified by Language was returned in DriverName.
EFI_INVALID_PARAMETERLanguage is NULL.
EFI_INVALID_PARAMETERDriverName is NULL.
EFI_UNSUPPORTEDThe driver specified by This does not support the language specified by Language.

Definition at line 87 of file ComponentName.c.

◆ FvSimpleFileSystemDelete()

EFI_STATUS EFIAPI FvSimpleFileSystemDelete ( IN EFI_FILE_PROTOCOL This)

Close and delete the file handle.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the handle to the file to delete.
Return values
EFI_SUCCESSThe file was closed and deleted, and the handle was closed.
EFI_WARN_DELETE_FAILUREThe handle was closed, but the file was not deleted.

Definition at line 882 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemDriverStart()

EFI_STATUS EFIAPI FvSimpleFileSystemDriverStart ( IN EFI_DRIVER_BINDING_PROTOCOL DriverBinding,
IN EFI_HANDLE  ControllerHandle,
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath  OPTIONAL 
)

Start this driver on ControllerHandle by opening a FV protocol and installing a SimpleFileSystem protocol on ControllerHandle.

Parameters
DriverBindingProtocol instance pointer.
ControllerHandleHandle of device to bind driver to
RemainingDevicePathOptional parameter use to pick a specific child device to start.
Return values
EFI_SUCCESSThis driver is added to ControllerHandle
EFI_ALREADY_STARTEDThis driver is already running on ControllerHandle
otherThis driver does not support this device

Definition at line 416 of file FvSimpleFileSystemEntryPoint.c.

◆ FvSimpleFileSystemDriverStop()

EFI_STATUS EFIAPI FvSimpleFileSystemDriverStop ( IN EFI_DRIVER_BINDING_PROTOCOL DriverBinding,
IN EFI_HANDLE  ControllerHandle,
IN UINTN  NumberOfChildren,
IN EFI_HANDLE *ChildHandleBuffer  OPTIONAL 
)

Stop this driver on ControllerHandle by removing SimpleFileSystem protocol and closing the FV protocol on ControllerHandle.

Parameters
DriverBindingProtocol instance pointer.
ControllerHandleHandle of device to stop driver on
NumberOfChildrenNumber of Handles in ChildHandleBuffer. If number of children is zero stop the entire bus driver.
ChildHandleBufferList of Child Handles to Stop.
Return values
EFI_SUCCESSThis driver is removed ControllerHandle
otherThis driver was not removed from this device

Definition at line 551 of file FvSimpleFileSystemEntryPoint.c.

◆ FvSimpleFileSystemDriverSupported()

EFI_STATUS EFIAPI FvSimpleFileSystemDriverSupported ( IN EFI_DRIVER_BINDING_PROTOCOL DriverBinding,
IN EFI_HANDLE  ControllerHandle,
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath  OPTIONAL 
)

Test to see if this driver supports ControllerHandle.

Parameters
DriverBindingProtocol instance pointer.
ControllerHandleHandle of device to test
RemainingDevicePathOptional parameter use to pick a specific child device to start.
Return values
EFI_SUCCESSThis driver supports this device
EFI_ALREADY_STARTEDThis driver is already running on this device
otherThis driver does not support this device

Definition at line 384 of file FvSimpleFileSystemEntryPoint.c.

◆ FvSimpleFileSystemFlush()

EFI_STATUS EFIAPI FvSimpleFileSystemFlush ( IN EFI_FILE_PROTOCOL This)

Flushes all modified data associated with a file to a device.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the file handle to flush.
Return values
EFI_SUCCESSThe data was flushed.
EFI_NO_MEDIAThe device has no medium.
EFI_DEVICE_ERRORThe device reported an error.
EFI_VOLUME_CORRUPTEDThe file system structures are corrupted.
EFI_WRITE_PROTECTEDThe file or medium is write-protected.
EFI_ACCESS_DENIEDThe file was opened read-only.
EFI_VOLUME_FULLThe volume is full.

Definition at line 863 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemGetInfo()

EFI_STATUS EFIAPI FvSimpleFileSystemGetInfo ( IN EFI_FILE_PROTOCOL This,
IN EFI_GUID InformationType,
IN OUT UINTN BufferSize,
OUT VOID *  Buffer 
)

Returns information about a file.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the file handle the requested information is for.
InformationTypeThe type identifier for the information being requested.
BufferSizeOn input, the size of Buffer. On output, the amount of data returned in Buffer. In both cases, the size is measured in bytes.
BufferA pointer to the data buffer to return. The buffer's type is indicated by InformationType.
Return values
EFI_SUCCESSThe information was returned.
EFI_UNSUPPORTEDThe InformationType is not known.
EFI_NO_MEDIAThe device has no medium.
EFI_DEVICE_ERRORThe device reported an error.
EFI_VOLUME_CORRUPTEDThe file system structures are corrupted.
EFI_BUFFER_TOO_SMALLThe BufferSize is too small to read the current directory entry. BufferSize has been updated with the size needed to complete the request.

Definition at line 916 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemGetPosition()

EFI_STATUS EFIAPI FvSimpleFileSystemGetPosition ( IN EFI_FILE_PROTOCOL This,
OUT UINT64 *  Position 
)

Returns a file's current position.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the file handle to get the current position on.
PositionThe address to return the file's current position value.
Return values
EFI_SUCCESSThe position was returned.
EFI_UNSUPPORTEDThe request is not valid on open directories.
EFI_DEVICE_ERRORAn attempt was made to get the position from a deleted file.

Definition at line 781 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemOpen()

EFI_STATUS EFIAPI FvSimpleFileSystemOpen ( IN EFI_FILE_PROTOCOL This,
OUT EFI_FILE_PROTOCOL **  NewHandle,
IN CHAR16 *  FileName,
IN UINT64  OpenMode,
IN UINT64  Attributes 
)

Opens a new file relative to the source file's location.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the file handle to the source location. This would typically be an open handle to a directory.
NewHandleA pointer to the location to return the opened handle for the new file.
FileNameThe Null-terminated string of the name of the file to be opened. The file name may contain the following path modifiers: "\", ".", and "..".
OpenModeThe mode to open the file. The only valid combinations that the file may be opened with are: Read, Read/Write, or Create/Read/Write.
AttributesOnly valid for EFI_FILE_MODE_CREATE, in which case these are the attribute bits for the newly created file.
Return values
EFI_SUCCESSThe file was opened.
EFI_NOT_FOUNDThe specified file could not be found on the device.
EFI_NO_MEDIAThe device has no medium.
EFI_MEDIA_CHANGEDThe device has a different medium in it or the medium is no longer supported.
EFI_DEVICE_ERRORThe device reported an error.
EFI_VOLUME_CORRUPTEDThe file system structures are corrupted.
EFI_WRITE_PROTECTEDAn attempt was made to create a file, or open a file for write when the media is write-protected.
EFI_ACCESS_DENIEDThe service denied access to the file.
EFI_OUT_OF_RESOURCESNot enough resources were available to open the file.
EFI_VOLUME_FULLThe volume is full.

Definition at line 470 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemOpenVolume()

EFI_STATUS EFIAPI FvSimpleFileSystemOpenVolume ( IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL This,
OUT EFI_FILE_PROTOCOL **  RootFile 
)

Open the root directory on a volume.

Parameters
ThisA pointer to the volume to open the root directory.
RootFileA pointer to the location to return the opened file handle for the root directory.
Return values
EFI_SUCCESSThe device was opened.
EFI_UNSUPPORTEDThis volume does not support the requested file system type.
EFI_NO_MEDIAThe device has no medium.
EFI_DEVICE_ERRORThe device reported an error.
EFI_VOLUME_CORRUPTEDThe file system structures are corrupted.
EFI_ACCESS_DENIEDThe service denied access to the file.
EFI_OUT_OF_RESOURCESThe volume was not opened due to lack of resources.
EFI_MEDIA_CHANGEDThe device has a different medium in it or the medium is no longer supported. Any existing file handles for this volume are no longer valid. To access the files on the new medium, the volume must be reopened with OpenVolume().

Definition at line 76 of file FvSimpleFileSystemEntryPoint.c.

◆ FvSimpleFileSystemRead()

EFI_STATUS EFIAPI FvSimpleFileSystemRead ( IN EFI_FILE_PROTOCOL This,
IN OUT UINTN BufferSize,
OUT VOID *  Buffer 
)

Reads data from a file.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the file handle to read data from.
BufferSizeOn input, the size of the Buffer. On output, the amount of data returned in Buffer. In both cases, the size is measured in bytes.
BufferThe buffer into which the data is read.
Return values
EFI_SUCCESSData was read.
EFI_NO_MEDIAThe device has no medium.
EFI_DEVICE_ERRORThe device reported an error.
EFI_DEVICE_ERRORAn attempt was made to read from a deleted file.
EFI_DEVICE_ERROROn entry, the current file position is beyond the end of the file.
EFI_VOLUME_CORRUPTEDThe file system structures are corrupted.
EFI_BUFFER_TOO_SMALLThe BufferSize is too small to read the current directory entry. BufferSize has been updated with the size needed to complete the request.

Definition at line 652 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemSetInfo()

EFI_STATUS EFIAPI FvSimpleFileSystemSetInfo ( IN EFI_FILE_PROTOCOL This,
IN EFI_GUID InformationType,
IN UINTN  BufferSize,
IN VOID *  Buffer 
)

Sets information about a file.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the file handle the information is for.
InformationTypeThe type identifier for the information being set.
BufferSizeThe size, in bytes, of Buffer.
BufferA pointer to the data buffer to write. The buffer's type is indicated by InformationType.
Return values
EFI_SUCCESSThe information was set.
EFI_UNSUPPORTEDThe InformationType is not known.
EFI_NO_MEDIAThe device has no medium.
EFI_DEVICE_ERRORThe device reported an error.
EFI_VOLUME_CORRUPTEDThe file system structures are corrupted.
EFI_WRITE_PROTECTEDInformationType is EFI_FILE_INFO_ID and the media is read-only.
EFI_WRITE_PROTECTEDInformationType is EFI_FILE_PROTOCOL_SYSTEM_INFO_ID and the media is read only.
EFI_WRITE_PROTECTEDInformationType is EFI_FILE_SYSTEM_VOLUME_LABEL_ID and the media is read-only.
EFI_ACCESS_DENIEDAn attempt is made to change the name of a file to a file that is already present.
EFI_ACCESS_DENIEDAn attempt is being made to change the EFI_FILE_DIRECTORY Attribute.
EFI_ACCESS_DENIEDAn attempt is being made to change the size of a directory.
EFI_ACCESS_DENIEDInformationType is EFI_FILE_INFO_ID and the file was opened read-only and an attempt is being made to modify a field other than Attribute.
EFI_VOLUME_FULLThe volume is full.
EFI_BAD_BUFFER_SIZEBufferSize is smaller than the size of the type indicated by InformationType.

Definition at line 1026 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemSetPosition()

EFI_STATUS EFIAPI FvSimpleFileSystemSetPosition ( IN EFI_FILE_PROTOCOL This,
IN UINT64  Position 
)

Sets a file's current position.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the file handle to set the requested position on.
PositionThe byte position from the start of the file to set.
Return values
EFI_SUCCESSThe position was set.
EFI_UNSUPPORTEDThe seek request for nonzero is not valid on open directories.
EFI_DEVICE_ERRORAn attempt was made to set the position of a deleted file.

Definition at line 815 of file FvSimpleFileSystem.c.

◆ FvSimpleFileSystemWrite()

EFI_STATUS EFIAPI FvSimpleFileSystemWrite ( IN EFI_FILE_PROTOCOL This,
IN OUT UINTN BufferSize,
IN VOID *  Buffer 
)

Writes data to a file.

Parameters
ThisA pointer to the EFI_FILE_PROTOCOL instance that is the file handle to write data to.
BufferSizeOn input, the size of the Buffer. On output, the amount of data actually written. In both cases, the size is measured in bytes.
BufferThe buffer of data to write.
Return values
EFI_SUCCESSData was written.
EFI_UNSUPPORTEDWrites to open directory files are not supported.
EFI_NO_MEDIAThe device has no medium.
EFI_DEVICE_ERRORThe device reported an error.
EFI_DEVICE_ERRORAn attempt was made to write to a deleted file.
EFI_VOLUME_CORRUPTEDThe file system structures are corrupted.
EFI_WRITE_PROTECTEDThe file or medium is write-protected.
EFI_ACCESS_DENIEDThe file was opened read only.
EFI_VOLUME_FULLThe volume is full.

Definition at line 748 of file FvSimpleFileSystem.c.

Variable Documentation

◆ gFvSimpleFileSystemComponentName

EFI_COMPONENT_NAME_PROTOCOL gFvSimpleFileSystemComponentName
extern

Definition at line 16 of file ComponentName.c.

◆ gFvSimpleFileSystemComponentName2

EFI_COMPONENT_NAME2_PROTOCOL gFvSimpleFileSystemComponentName2
extern

Definition at line 25 of file ComponentName.c.

◆ mFileSystemTemplate

EFI_FILE_PROTOCOL mFileSystemTemplate
extern

Definition at line 38 of file FvSimpleFileSystem.c.

◆ mUnicodeCollation

EFI_UNICODE_COLLATION_PROTOCOL* mUnicodeCollation
extern

Definition at line 22 of file UefiSortLib.c.