Code cleanup for library instances in MdePkg.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5856 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
klu2 2008-09-09 04:41:59 +00:00
parent e31c47b99a
commit f008fc323b
5 changed files with 14 additions and 55 deletions

View File

@ -22,7 +22,7 @@
FILE_GUID = B53DC524-6B98-4584-940B-8F1363DEF09E FILE_GUID = B53DC524-6B98-4584-940B-8F1363DEF09E
MODULE_TYPE = PEIM MODULE_TYPE = PEIM
VERSION_STRING = 1.0 VERSION_STRING = 1.0
LIBRARY_CLASS = PalCallLib LIBRARY_CLASS = PalCallLib|PEI_CORE PEIM SEC
EDK_RELEASE_VERSION = 0x00020000 EDK_RELEASE_VERSION = 0x00020000
EFI_SPECIFICATION_VERSION = 0x00020000 EFI_SPECIFICATION_VERSION = 0x00020000

View File

@ -77,7 +77,7 @@ GetDevicePathSize (
// //
// Compute the size and add back in the size of the end device path structure // Compute the size and add back in the size of the end device path structure
// //
return ((UINTN) DevicePath - (UINTN) Start) + sizeof (EFI_DEVICE_PATH_PROTOCOL); return ((UINTN) DevicePath - (UINTN) Start) + EfiDevicePathNodeLength (DevicePath);
} }
/** /**
@ -99,7 +99,6 @@ DuplicateDevicePath (
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
) )
{ {
EFI_DEVICE_PATH_PROTOCOL *NewDevicePath;
UINTN Size; UINTN Size;
// //
@ -113,9 +112,8 @@ DuplicateDevicePath (
// //
// Allocate space for duplicate device path // Allocate space for duplicate device path
// //
NewDevicePath = AllocateCopyPool (Size, DevicePath);
return NewDevicePath; return AllocateCopyPool (Size, DevicePath);
} }
/** /**
@ -168,7 +166,7 @@ AppendDevicePath (
// //
Size1 = GetDevicePathSize (FirstDevicePath); Size1 = GetDevicePathSize (FirstDevicePath);
Size2 = GetDevicePathSize (SecondDevicePath); Size2 = GetDevicePathSize (SecondDevicePath);
Size = Size1 + Size2 - sizeof (EFI_DEVICE_PATH_PROTOCOL); Size = Size1 + Size2 - EFI_END_DEVICE_PATH_LENGTH;
NewDevicePath = AllocatePool (Size); NewDevicePath = AllocatePool (Size);
@ -178,7 +176,7 @@ AppendDevicePath (
// Over write FirstDevicePath EndNode and do the copy // Over write FirstDevicePath EndNode and do the copy
// //
DevicePath2 = (EFI_DEVICE_PATH_PROTOCOL *) ((CHAR8 *) NewDevicePath + DevicePath2 = (EFI_DEVICE_PATH_PROTOCOL *) ((CHAR8 *) NewDevicePath +
(Size1 - sizeof (EFI_DEVICE_PATH_PROTOCOL))); (Size1 - EFI_END_DEVICE_PATH_LENGTH));
CopyMem (DevicePath2, SecondDevicePath, Size2); CopyMem (DevicePath2, SecondDevicePath, Size2);
} }
@ -226,7 +224,7 @@ AppendDevicePathNode (
// //
NodeLength = DevicePathNodeLength (DevicePathNode); NodeLength = DevicePathNodeLength (DevicePathNode);
TempDevicePath = AllocatePool (NodeLength + sizeof (EFI_DEVICE_PATH_PROTOCOL)); TempDevicePath = AllocatePool (NodeLength + EFI_END_DEVICE_PATH_LENGTH);
if (TempDevicePath == NULL) { if (TempDevicePath == NULL) {
return NULL; return NULL;
} }
@ -398,7 +396,7 @@ GetNextDevicePathInstance (
@param NodeSubType The device node sub-type for the new device node. @param NodeSubType The device node sub-type for the new device node.
@param NodeLength The length of the new device node. @param NodeLength The length of the new device node.
@return The new device path. @return A pointer to the new create device path.
**/ **/
EFI_DEVICE_PATH_PROTOCOL * EFI_DEVICE_PATH_PROTOCOL *
@ -510,7 +508,7 @@ DevicePathFromHandle (
may be NULL. may be NULL.
@param FileName A pointer to a Null-terminated Unicode string. @param FileName A pointer to a Null-terminated Unicode string.
@return The allocated device path. @return A pointer to the new created file device path.
**/ **/
EFI_DEVICE_PATH_PROTOCOL * EFI_DEVICE_PATH_PROTOCOL *

View File

@ -1,7 +1,7 @@
#/** @file #/** @file
# Component description file for the entry point to a EFIDXE Drivers # Library instance implement the library class UefiDevicePathLib defined in Mde
# library specification.
# #
# Library to abstract Framework extensions that conflict with UEFI 2.0 Specification
# Copyright (c) 2007, Intel Corporation # Copyright (c) 2007, Intel Corporation
# #
# All rights reserved. This program and the accompanying materials # All rights reserved. This program and the accompanying materials

View File

@ -1,5 +1,6 @@
/** @file /** @file
UEFI Device Path Library. Library instance that implement UEFI Device Path Library class based on protocol
gEfiDevicePathUtilitiesProtocolGuid.
Copyright (c) 2006, Intel Corporation<BR> Copyright (c) 2006, Intel Corporation<BR>
All rights reserved. This program and the accompanying materials All rights reserved. This program and the accompanying materials
@ -25,8 +26,6 @@
#include <Library/BaseMemoryLib.h> #include <Library/BaseMemoryLib.h>
#include <Library/UefiBootServicesTableLib.h> #include <Library/UefiBootServicesTableLib.h>
#include "UefiDevicePathLibInternal.h"
STATIC EFI_DEVICE_PATH_UTILITIES_PROTOCOL *mDevicePathUtilities = NULL; STATIC EFI_DEVICE_PATH_UTILITIES_PROTOCOL *mDevicePathUtilities = NULL;
/** /**
@ -245,7 +244,7 @@ GetNextDevicePathInstance (
@param NodeSubType The device node sub-type for the new device node. @param NodeSubType The device node sub-type for the new device node.
@param NodeLength The length of the new device node. @param NodeLength The length of the new device node.
@return The new device path. @return A pointer to the new created file device path
**/ **/
EFI_DEVICE_PATH_PROTOCOL * EFI_DEVICE_PATH_PROTOCOL *
@ -325,7 +324,7 @@ DevicePathFromHandle (
may be NULL. may be NULL.
@param FileName A pointer to a Null-terminated Unicode string. @param FileName A pointer to a Null-terminated Unicode string.
@return The allocated device path. @return A pointer to the new created file device path
**/ **/
EFI_DEVICE_PATH_PROTOCOL * EFI_DEVICE_PATH_PROTOCOL *

View File

@ -1,38 +0,0 @@
/** @file
Internal Header file for UEFI Device Path Library.
Copyright (c) 2006, Intel Corporation<BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _UEFI_DEVICEPATH_LIB_INTERNAL_H_
#define _UEFI_DEVICEPATH_LIB_INTERNAL_H_
/**
The constructor function caches the pointer to DevicePathUtilites protocol.
The constructor function locates DevicePathUtilities protocol from protocol database.
It will ASSERT() if that operation fails and it will always return EFI_SUCCESS.
@param ImageHandle The firmware allocated handle for the EFI image.
@param SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.
**/
EFI_STATUS
EFIAPI
DevicePathLibConstructor (
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
);
#endif