Add doxygen style comments for functions in Partition & Disk IO modules.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5182 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qhuang8
2008-05-08 04:17:44 +00:00
parent 1f4dfdd962
commit a8d0c20e7a
5 changed files with 312 additions and 45 deletions

View File

@@ -17,6 +17,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "Partition.h"
/**
Install child handles if the Handle supports GPT partition structure.
@param[in] BlockIo Parent BlockIo interface
@param[in] DiskIo Disk Io protocol.
@param[in] Lba The starting Lba of the Partition Table
@param[out] PartHeader Stores the partition table that is read
@retval TRUE The partition table is valid
@retval FALSE The partition table is not valid
**/
BOOLEAN
PartitionValidGptTable (
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,
@@ -26,6 +38,18 @@ PartitionValidGptTable (
);
/**
Check if the CRC field in the Partition table header is valid
for Partition entry array.
@param[in] BlockIo Parent BlockIo interface
@param[in] DiskIo Disk Io Protocol.
@param[in] PartHeader Partition table header structure
@retval TRUE the CRC is valid
@retval FALSE the CRC is invalid
**/
BOOLEAN
PartitionCheckGptEntryArrayCRC (
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,
@@ -34,6 +58,18 @@ PartitionCheckGptEntryArrayCRC (
);
/**
Restore Partition Table to its alternate place
(Primary -> Backup or Backup -> Primary)
@param[in] BlockIo Parent BlockIo interface
@param[in] DiskIo Disk Io Protocol.
@param[in] PartHeader Partition table header structure
@retval TRUE Restoring succeeds
@retval FALSE Restoring failed
**/
BOOLEAN
PartitionRestoreGptTable (
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,
@@ -42,6 +78,16 @@ PartitionRestoreGptTable (
);
/**
Restore Partition Table to its alternate place
(Primary -> Backup or Backup -> Primary)
@param[in] PartHeader Partition table header structure
@param[in] PartEntry The partition entry array
@param[out] PEntryStatus the partition entry status array
recording the status of each partition
**/
VOID
PartitionCheckGptEntry (
IN EFI_PARTITION_TABLE_HEADER *PartHeader,
@@ -50,6 +96,17 @@ PartitionCheckGptEntry (
);
/**
Checks the CRC32 value in the table header
@param MaxSize Max Size limit
@param Size The size of the table
@param Hdr Table to check
@return TRUE CRC Valid
@return FALSE CRC Invalid
**/
BOOLEAN
PartitionCheckCrcAltSize (
IN UINTN MaxSize,
@@ -58,6 +115,16 @@ PartitionCheckCrcAltSize (
);
/**
Checks the CRC32 value in the table header
@param MaxSize Max Size limit
@param Hdr Table to check
@return TRUE CRC Valid
@return FALSE CRC Invalid
**/
BOOLEAN
PartitionCheckCrc (
IN UINTN MaxSize,
@@ -65,6 +132,13 @@ PartitionCheckCrc (
);
/**
Updates the CRC32 value in the table header
@param Size The size of the table
@param Hdr Table to update
**/
VOID
PartitionSetCrcAltSize (
IN UINTN Size,
@@ -72,6 +146,12 @@ PartitionSetCrcAltSize (
);
/**
Updates the CRC32 value in the table header
@param Hdr Table to update
**/
VOID
PartitionSetCrc (
IN OUT EFI_TABLE_HEADER *Hdr
@@ -325,7 +405,7 @@ Done:
@param[in] BlockIo Parent BlockIo interface
@param[in] DiskIo Disk Io protocol.
@param[in] Lba The starting Lba of the Partition Table
@param[in] PartHeader Stores the partition table that is read
@param[out] PartHeader Stores the partition table that is read
@retval TRUE The partition table is valid
@retval FALSE The partition table is not valid
@@ -546,6 +626,7 @@ Done:
@param[in] PartEntry The partition entry array
@param[out] PEntryStatus the partition entry status array
recording the status of each partition
**/
VOID
PartitionCheckGptEntry (
@@ -602,7 +683,7 @@ PartitionCheckGptEntry (
/**
Updates the CRC32 value in the table header
@param[in,out] Hdr Table to update
@param Hdr Table to update
**/
VOID
@@ -617,8 +698,8 @@ PartitionSetCrc (
/**
Updates the CRC32 value in the table header
@param[in] Size The size of the table
@param[in,out] Hdr Table to update
@param Size The size of the table
@param Hdr Table to update
**/
VOID
@@ -639,11 +720,11 @@ PartitionSetCrcAltSize (
/**
Checks the CRC32 value in the table header
@param[in] MaxSize Max Size limit
@param[in,out] Hdr Table to check
@param MaxSize Max Size limit
@param Hdr Table to check
@return TRUE CRC Valid
@return FALSE CRC Invalid
@return TRUE CRC Valid
@return FALSE CRC Invalid
**/
BOOLEAN
@@ -659,9 +740,9 @@ PartitionCheckCrc (
/**
Checks the CRC32 value in the table header
@param[in] MaxSize Max Size limit
@param[in] Size The size of the table
@param[in,out] Hdr Table to check
@param MaxSize Max Size limit
@param Size The size of the table
@param Hdr Table to check
@return TRUE CRC Valid
@return FALSE CRC Invalid

View File

@@ -24,26 +24,22 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "Partition.h"
/**
Test to see if the Mbr buffer is a valid MBR.
@param Mbr Parent Handle.
@param LastLba Last Lba address on the device.
@retval TRUE Mbr is a Valid MBR.
@retval FALSE Mbr is not a Valid MBR.
**/
STATIC
BOOLEAN
PartitionValidMbr (
IN MASTER_BOOT_RECORD *Mbr,
IN EFI_LBA LastLba
)
/*++
Routine Description:
Test to see if the Mbr buffer is a valid MBR
Arguments:
Mbr - Parent Handle
LastLba - Last Lba address on the device.
Returns:
TRUE - Mbr is a Valid MBR
FALSE - Mbr is not a Valid MBR
--*/
{
UINT32 StartingLBA;
UINT32 EndingLBA;
@@ -102,6 +98,21 @@ Returns:
return MbrValid;
}
/**
Install child handles if the Handle supports MBR format.
@param This Calling context.
@param Handle Parent Handle.
@param DiskIo Parent DiskIo interface.
@param BlockIo Parent BlockIo interface.
@param DevicePath Parent Device Path.
@retval EFI_SUCCESS A child handle was added.
@retval EFI_MEDIA_CHANGED Media change was detected.
@retval Others MBR partition was not found.
**/
EFI_STATUS
PartitionInstallMbrChildHandles (
IN EFI_DRIVER_BINDING_PROTOCOL *This,
@@ -110,24 +121,6 @@ PartitionInstallMbrChildHandles (
IN EFI_BLOCK_IO_PROTOCOL *BlockIo,
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
)
/*++
Routine Description:
Install child handles if the Handle supports MBR format.
Arguments:
This - Calling context.
Handle - Parent Handle
DiskIo - Parent DiskIo interface
BlockIo - Parent BlockIo interface
DevicePath - Parent Device Path
Returns:
EFI_SUCCESS - If a child handle was added
EFI_MEDIA_CHANGED - Media changed Detected
!EFI_SUCCESS - Not found MBR partition.
--*/
{
EFI_STATUS Status;
MASTER_BOOT_RECORD *Mbr;

View File

@@ -555,8 +555,7 @@ PartitionFlushBlocks (
Create a child handle for a logical block device that represents the
bytes Start to End of the Parent Block IO device.
@param[in] This Protocol instance pointer.
@param[in] This Calling context.
@param[in] This Protocol instance pointer
@param[in] ParentHandle Parent Handle for new child
@param[in] ParentDiskIo Parent DiskIo interface
@param[in] ParentBlockIo Parent BlockIo interface

View File

@@ -88,6 +88,20 @@ extern EFI_COMPONENT_NAME2_PROTOCOL gPartitionComponentName2;
//
// Function Prototypes
//
/**
Test to see if this driver supports ControllerHandle. Any ControllerHandle
than contains a BlockIo and DiskIo protocol can be supported.
@param This Protocol instance pointer.
@param ControllerHandle Handle of device to test
@param RemainingDevicePath Optional parameter use to pick a specific child
device to start.
@retval EFI_SUCCESS This driver supports this device
@retval EFI_ALREADY_STARTED This driver is already running on this device
@retval other This driver does not support this device
**/
EFI_STATUS
EFIAPI
PartitionDriverBindingSupported (
@@ -96,6 +110,21 @@ PartitionDriverBindingSupported (
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
);
/**
Start this driver on ControllerHandle by opening a Block IO and Disk IO
protocol, reading Device Path, and creating a child handle with a
Disk IO and device path protocol.
@param This Protocol instance pointer.
@param ControllerHandle Handle of device to bind driver to
@param RemainingDevicePath Optional parameter use to pick a specific child
device to start.
@retval EFI_SUCCESS This driver is added to ControllerHandle
@retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle
@retval other This driver does not support this device
**/
EFI_STATUS
EFIAPI
PartitionDriverBindingStart (
@@ -104,6 +133,20 @@ PartitionDriverBindingStart (
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
);
/**
Stop this driver on ControllerHandle. Support stoping any child handles
created by this driver.
@param This Protocol instance pointer.
@param ControllerHandle Handle of device to stop driver on
@param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
children is zero stop the entire bus driver.
@param ChildHandleBuffer List of Child Handles to Stop.
@retval EFI_SUCCESS This driver is removed ControllerHandle
@retval other This driver was not removed from this device
**/
EFI_STATUS
EFIAPI
PartitionDriverBindingStop (
@@ -243,6 +286,25 @@ PartitionComponentNameGetControllerName (
);
/**
Create a child handle for a logical block device that represents the
bytes Start to End of the Parent Block IO device.
@param[in] This Protocol instance pointer
@param[in] ParentHandle Parent Handle for new child
@param[in] ParentDiskIo Parent DiskIo interface
@param[in] ParentBlockIo Parent BlockIo interface
@param[in] ParentDevicePath Parent Device Path
@param[in] DevicePathNode Child Device Path node
@param[in] Start Start Block
@param[in] End End Block
@param[in] BlockSize Child block size
@param[in] InstallEspGuid Flag to install EFI System Partition GUID on handle
@retval EFI_SUCCESS A child handle was added
@retval other A child handle was not added
**/
EFI_STATUS
PartitionInstallChildHandle (
IN EFI_DRIVER_BINDING_PROTOCOL *This,
@@ -258,6 +320,20 @@ PartitionInstallChildHandle (
)
;
/**
Install child handles if the Handle supports GPT partition structure.
@param[in] This - Calling context.
@param[in] Handle - Parent Handle
@param[in] DiskIo - Parent DiskIo interface
@param[in] BlockIo - Parent BlockIo interface
@param[in] DevicePath - Parent Device Path
@retval EFI_SUCCESS Valid GPT disk
@retval EFI_MEDIA_CHANGED Media changed Detected
@retval other Not a valid GPT disk
**/
EFI_STATUS
PartitionInstallGptChildHandles (
IN EFI_DRIVER_BINDING_PROTOCOL *This,
@@ -268,6 +344,21 @@ PartitionInstallGptChildHandles (
)
;
/**
Install child handles if the Handle supports El Torito format.
@param[in] This Calling context.
@param[in] Handle Parent Handle
@param[in] DiskIo Parent DiskIo interface
@param[in] BlockIo Parent BlockIo interface
@param[in] DevicePath Parent Device Path
@retval EFI_SUCCESS Child handle(s) was added
@retval EFI_MEDIA_CHANGED Media changed Detected
@retval other no child handle was added
**/
EFI_STATUS
PartitionInstallElToritoChildHandles (
IN EFI_DRIVER_BINDING_PROTOCOL *This,
@@ -278,6 +369,20 @@ PartitionInstallElToritoChildHandles (
)
;
/**
Install child handles if the Handle supports MBR format.
@param This Calling context.
@param Handle Parent Handle.
@param DiskIo Parent DiskIo interface.
@param BlockIo Parent BlockIo interface.
@param DevicePath Parent Device Path.
@retval EFI_SUCCESS A child handle was added.
@retval EFI_MEDIA_CHANGED Media change was detected.
@retval Others MBR partition was not found.
**/
EFI_STATUS
PartitionInstallMbrChildHandles (
IN EFI_DRIVER_BINDING_PROTOCOL *This,