diff options
author | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-06-23 14:41:16 +0000 |
---|---|---|
committer | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-06-23 14:41:16 +0000 |
commit | 4276d5dacfd4812abc1d7a1bd1da995d7002ee9e (patch) | |
tree | e761b29520a4c86b05082fe2c13ca356f0bedd7a /MdePkg/Include | |
parent | e88ea4239b6530720cf2d99ba1798ba9950b5f51 (diff) | |
download | edk2-platforms-4276d5dacfd4812abc1d7a1bd1da995d7002ee9e.tar.xz |
1) Add in support to traverse taken space
2) Remove unused import in DynamicTokenValue.java.
3) Support Byte Stream input for Pointer type Dynamic PCD entry in FPD file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@616 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include')
-rw-r--r-- | MdePkg/Include/Library/PcdLib.h | 70 | ||||
-rw-r--r-- | MdePkg/Include/Ppi/Pcd.h | 7 | ||||
-rw-r--r-- | MdePkg/Include/Protocol/Pcd.h | 9 |
3 files changed, 71 insertions, 15 deletions
diff --git a/MdePkg/Include/Library/PcdLib.h b/MdePkg/Include/Library/PcdLib.h index 2f797640a0..5858cfc475 100644 --- a/MdePkg/Include/Library/PcdLib.h +++ b/MdePkg/Include/Library/PcdLib.h @@ -436,10 +436,20 @@ LibPcdSet64 ( /**
Sets a buffer for the token specified by TokenNumber to
- the value specified by Value. Value is returned.
- If Value is NULL, then ASSERT().
+ the value specified by Buffer and SizeOfValue. Buffer to
+ be set is returned. The content of the buffer could be
+ overwritten if a Callback on SET is registered with this
+ TokenNumber.
+
+ If SizeOfValue is greater than the maximum
+ size support by TokenNumber, then set SizeOfValue to the
+ maximum size supported by TokenNumber and return NULL to
+ indicate that the set operation was not actually performed.
+
+ If SizeOfValue > 0 and Buffer is NULL, then ASSERT().
@param[in] TokenNumber The PCD token number to set a current value for.
+ @param[in,out] SizeOfBuffer The size, in bytes, of Buffer.
@param[in] Value A pointer to the buffer to set.
@retval VOID* Return the pointer for the buffer been set.
@@ -448,9 +458,9 @@ LibPcdSet64 ( VOID*
EFIAPI
LibPcdSetPtr (
- IN UINTN TokenNumber,
- IN UINTN SizeOfBuffer,
- IN VOID *Value
+ IN UINTN TokenNumber,
+ IN OUT UINTN *SizeOfBuffer,
+ IN VOID *Value
);
@@ -561,26 +571,30 @@ LibPcdSetEx64 ( /**
- Sets a buffer for the token specified by TokenNumber and
- Guid to the value specified by Value. Value is returned.
- If Guid is NULL, then ASSERT().
- If Value is NULL, then ASSERT().
+ Sets a buffer for the token specified by TokenNumber to the value specified by
+ Buffer and SizeOfValue. Buffer is returned. If SizeOfValue is greater than
+ the maximum size support by TokenNumber, then set SizeOfValue to the maximum size
+ supported by TokenNumber and return NULL to indicate that the set operation
+ was not actually performed.
+
+ If SizeOfValue > 0 and Buffer is NULL, then ASSERT().
@param[in] Guid Pointer to a 128-bit unique value that
designates which namespace to set a value from.
@param[in] TokenNumber The PCD token number to set a current value for.
- @param[in] Value The 8-bit value to set.
+ @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.
+ @param[in] Buffer A pointer to the buffer to set.
- @retval VOID * Return the value been set.
+ @retval VOID * Return the pinter to the buffer been set.
**/
VOID *
EFIAPI
LibPcdSetExPtr (
- IN CONST GUID *Guid,
- IN UINTN TokenNumber,
- IN UINTN SizeOfBuffer,
- IN VOID *Value
+ IN CONST GUID *Guid,
+ IN UINTN TokenNumber,
+ IN OUT UINTN *SizeOfBuffer,
+ IN VOID *Buffer
);
@@ -697,4 +711,30 @@ LibPcdGetNextToken ( IN UINTN TokenNumber
);
+
+
+/**
+ Retrieves the next PCD token space from a token space specified by Guid.
+ Guid of NULL is reserved to mark the default local token namespace on the current
+ platform. If Guid is NULL, then the GUID of the first non-local token space of the
+ current platform is returned. If Guid is the last non-local token space,
+ then NULL is returned.
+
+ If Guid is not NULL and is not a valid token space in the current platform, then ASSERT().
+
+
+
+ @param[in] Pointer to a 128-bit unique value that designates from which namespace
+ to start the search.
+
+ @retval CONST GUID * The next valid token namespace.
+
+**/
+
+CONST GUID*
+EFIAPI
+LibPcdGetNextTokenSpace (
+ IN CONST GUID *Guid
+ );
+
#endif
diff --git a/MdePkg/Include/Ppi/Pcd.h b/MdePkg/Include/Ppi/Pcd.h index 360eea3beb..a67e79c01c 100644 --- a/MdePkg/Include/Ppi/Pcd.h +++ b/MdePkg/Include/Ppi/Pcd.h @@ -256,6 +256,12 @@ EFI_STATUS IN OUT UINTN *TokenNumber
);
+typedef
+EFI_STATUS
+(EFIAPI *PCD_PPI_GET_NEXT_TOKENSPACE) (
+ IN OUT CONST EFI_GUID **Guid
+ );
+
typedef struct {
PCD_PPI_SET_SKU SetSku;
@@ -292,6 +298,7 @@ typedef struct { PCD_PPI_CALLBACK_ONSET CallbackOnSet;
PCD_PPI_CANCEL_CALLBACK CancelCallback;
PCD_PPI_GET_NEXT_TOKEN GetNextToken;
+ PCD_PPI_GET_NEXT_TOKENSPACE GetNextTokenSpace;
} PCD_PPI;
diff --git a/MdePkg/Include/Protocol/Pcd.h b/MdePkg/Include/Protocol/Pcd.h index 07517ffbb1..8869ad2be1 100644 --- a/MdePkg/Include/Protocol/Pcd.h +++ b/MdePkg/Include/Protocol/Pcd.h @@ -256,6 +256,14 @@ EFI_STATUS IN OUT UINTN *TokenNumber
);
+
+typedef
+EFI_STATUS
+(EFIAPI *PCD_PROTOCOL_GET_NEXT_TOKENSPACE) (
+ IN CONST EFI_GUID **Guid
+ );
+
+
typedef struct {
PCD_PROTOCOL_SET_SKU SetSku;
@@ -292,6 +300,7 @@ typedef struct { PCD_PROTOCOL_CALLBACK_ONSET CallbackOnSet;
PCD_PROTOCOL_CANCEL_CALLBACK CancelCallback;
PCD_PROTOCOL_GET_NEXT_TOKEN GetNextToken;
+ PCD_PROTOCOL_GET_NEXT_TOKENSPACE GetNextTokenSpace;
} PCD_PROTOCOL;
#endif
|