\r
**/\r
\r
-\r
/**\r
Unpacks the next variable from the buffer\r
\r
STATIC\r
EFI_STATUS\r
UnpackVariableFromBuffer (\r
- IN VOID *Buffer,\r
- IN UINTN MaxSize,\r
- OUT CHAR16 **Name,\r
- OUT UINT32 *NameSize,\r
- OUT EFI_GUID **Guid,\r
- OUT UINT32 *Attributes,\r
- OUT UINT32 *DataSize,\r
- OUT VOID **Data,\r
- OUT UINTN *SizeUsed\r
+ IN VOID *Buffer,\r
+ IN UINTN MaxSize,\r
+ OUT CHAR16 **Name,\r
+ OUT UINT32 *NameSize,\r
+ OUT EFI_GUID **Guid,\r
+ OUT UINT32 *Attributes,\r
+ OUT UINT32 *DataSize,\r
+ OUT VOID **Data,\r
+ OUT UINTN *SizeUsed\r
)\r
{\r
UINT8 *BytePtr;\r
UINTN Offset;\r
\r
- BytePtr = (UINT8*)Buffer;\r
- Offset = 0;\r
+ BytePtr = (UINT8 *)Buffer;\r
+ Offset = 0;\r
\r
- *NameSize = *(UINT32*) (BytePtr + Offset);\r
- Offset = Offset + sizeof (UINT32);\r
+ *NameSize = *(UINT32 *)(BytePtr + Offset);\r
+ Offset = Offset + sizeof (UINT32);\r
\r
if (Offset > MaxSize) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- *Name = (CHAR16*) (BytePtr + Offset);\r
- Offset = Offset + *(UINT32*)BytePtr;\r
+ *Name = (CHAR16 *)(BytePtr + Offset);\r
+ Offset = Offset + *(UINT32 *)BytePtr;\r
if (Offset > MaxSize) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- *Guid = (EFI_GUID*) (BytePtr + Offset);\r
+ *Guid = (EFI_GUID *)(BytePtr + Offset);\r
Offset = Offset + sizeof (EFI_GUID);\r
if (Offset > MaxSize) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- *Attributes = *(UINT32*) (BytePtr + Offset);\r
- Offset = Offset + sizeof (UINT32);\r
+ *Attributes = *(UINT32 *)(BytePtr + Offset);\r
+ Offset = Offset + sizeof (UINT32);\r
if (Offset > MaxSize) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- *DataSize = *(UINT32*) (BytePtr + Offset);\r
- Offset = Offset + sizeof (UINT32);\r
+ *DataSize = *(UINT32 *)(BytePtr + Offset);\r
+ Offset = Offset + sizeof (UINT32);\r
if (Offset > MaxSize) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- *Data = (VOID*) (BytePtr + Offset);\r
+ *Data = (VOID *)(BytePtr + Offset);\r
Offset = Offset + *DataSize;\r
if (Offset > MaxSize) {\r
return EFI_INVALID_PARAMETER;\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Iterates through the variables in the buffer, and calls a callback\r
function for each variable found.\r
IN UINTN MaxSize\r
)\r
{\r
- RETURN_STATUS Status;\r
- UINTN TotalSizeUsed;\r
- UINTN SizeUsed;\r
-\r
- CHAR16 *Name;\r
- UINT32 NameSize;\r
- CHAR16 *AlignedName;\r
- UINT32 AlignedNameMaxSize;\r
- EFI_GUID *Guid;\r
- UINT32 Attributes;\r
- UINT32 DataSize;\r
- VOID *Data;\r
-\r
- SizeUsed = 0;\r
- AlignedName = NULL;\r
+ RETURN_STATUS Status;\r
+ UINTN TotalSizeUsed;\r
+ UINTN SizeUsed;\r
+\r
+ CHAR16 *Name;\r
+ UINT32 NameSize;\r
+ CHAR16 *AlignedName;\r
+ UINT32 AlignedNameMaxSize;\r
+ EFI_GUID *Guid;\r
+ UINT32 Attributes;\r
+ UINT32 DataSize;\r
+ VOID *Data;\r
+\r
+ SizeUsed = 0;\r
+ AlignedName = NULL;\r
AlignedNameMaxSize = 0;\r
- Name = NULL;\r
- Guid = NULL;\r
- Attributes = 0;\r
- DataSize = 0;\r
- Data = NULL;\r
+ Name = NULL;\r
+ Guid = NULL;\r
+ Attributes = 0;\r
+ DataSize = 0;\r
+ Data = NULL;\r
\r
for (\r
- Status = EFI_SUCCESS, TotalSizeUsed = 0;\r
- !EFI_ERROR (Status) && (TotalSizeUsed < MaxSize);\r
- ) {\r
+ Status = EFI_SUCCESS, TotalSizeUsed = 0;\r
+ !EFI_ERROR (Status) && (TotalSizeUsed < MaxSize);\r
+ )\r
+ {\r
Status = UnpackVariableFromBuffer (\r
- (VOID*) ((UINT8*) Buffer + TotalSizeUsed),\r
+ (VOID *)((UINT8 *)Buffer + TotalSizeUsed),\r
(MaxSize - TotalSizeUsed),\r
&Name,\r
&NameSize,\r
if (AlignedName != NULL) {\r
FreePool (AlignedName);\r
}\r
+\r
AlignedName = AllocatePool (NameSize);\r
}\r
+\r
if (AlignedName == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
CopyMem (AlignedName, Name, NameSize);\r
\r
TotalSizeUsed = TotalSizeUsed + SizeUsed;\r
//\r
// Run the callback function\r
//\r
- Status = (*CallbackFunction) (\r
- CallbackContext,\r
- AlignedName,\r
- Guid,\r
- Attributes,\r
- DataSize,\r
- Data\r
- );\r
-\r
+ Status = (*CallbackFunction)(\r
+ CallbackContext,\r
+ AlignedName,\r
+ Guid,\r
+ Attributes,\r
+ DataSize,\r
+ Data\r
+ );\r
}\r
\r
if (AlignedName != NULL) {\r
return EFI_SUCCESS;\r
}\r
\r
-\r
STATIC\r
RETURN_STATUS\r
EFIAPI\r
IterateVariablesCallbackNop (\r
- IN VOID *Context,\r
- IN CHAR16 *VariableName,\r
- IN EFI_GUID *VendorGuid,\r
- IN UINT32 Attributes,\r
- IN UINTN DataSize,\r
- IN VOID *Data\r
+ IN VOID *Context,\r
+ IN CHAR16 *VariableName,\r
+ IN EFI_GUID *VendorGuid,\r
+ IN UINT32 Attributes,\r
+ IN UINTN DataSize,\r
+ IN VOID *Data\r
)\r
{\r
return RETURN_SUCCESS;\r
}\r
\r
-\r
STATIC\r
RETURN_STATUS\r
EFIAPI\r
IterateVariablesCallbackSetInInstance (\r
- IN VOID *Context,\r
- IN CHAR16 *VariableName,\r
- IN EFI_GUID *VendorGuid,\r
- IN UINT32 Attributes,\r
- IN UINTN DataSize,\r
- IN VOID *Data\r
+ IN VOID *Context,\r
+ IN CHAR16 *VariableName,\r
+ IN EFI_GUID *VendorGuid,\r
+ IN UINT32 Attributes,\r
+ IN UINTN DataSize,\r
+ IN VOID *Data\r
)\r
{\r
EFI_HANDLE Instance;\r
\r
- Instance = (EFI_HANDLE) Context;\r
+ Instance = (EFI_HANDLE)Context;\r
\r
return SerializeVariablesAddVariable (\r
Instance,\r
);\r
}\r
\r
-\r
STATIC\r
RETURN_STATUS\r
EFIAPI\r
IterateVariablesCallbackSetSystemVariable (\r
- IN VOID *Context,\r
- IN CHAR16 *VariableName,\r
- IN EFI_GUID *VendorGuid,\r
- IN UINT32 Attributes,\r
- IN UINTN DataSize,\r
- IN VOID *Data\r
+ IN VOID *Context,\r
+ IN CHAR16 *VariableName,\r
+ IN EFI_GUID *VendorGuid,\r
+ IN UINT32 Attributes,\r
+ IN UINTN DataSize,\r
+ IN VOID *Data\r
)\r
{\r
- EFI_STATUS Status;\r
- STATIC CONST UINT32 AuthMask =\r
- EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS |\r
- EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS;\r
+ EFI_STATUS Status;\r
+ STATIC CONST UINT32 AuthMask =\r
+ EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS |\r
+ EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS;\r
\r
Status = gRT->SetVariable (\r
- VariableName,\r
- VendorGuid,\r
- Attributes,\r
- DataSize,\r
- Data\r
- );\r
-\r
- if (Status == EFI_SECURITY_VIOLATION && (Attributes & AuthMask) != 0) {\r
- DEBUG ((DEBUG_WARN, "%a: setting authenticated variable \"%s\" "\r
- "failed with EFI_SECURITY_VIOLATION, ignoring\n", __FUNCTION__,\r
- VariableName));\r
+ VariableName,\r
+ VendorGuid,\r
+ Attributes,\r
+ DataSize,\r
+ Data\r
+ );\r
+\r
+ if ((Status == EFI_SECURITY_VIOLATION) && ((Attributes & AuthMask) != 0)) {\r
+ DEBUG ((\r
+ DEBUG_WARN,\r
+ "%a: setting authenticated variable \"%s\" "\r
+ "failed with EFI_SECURITY_VIOLATION, ignoring\n",\r
+ __FUNCTION__,\r
+ VariableName\r
+ ));\r
Status = EFI_SUCCESS;\r
} else if (Status == EFI_WRITE_PROTECTED) {\r
- DEBUG ((DEBUG_WARN, "%a: setting ReadOnly variable \"%s\" "\r
- "failed with EFI_WRITE_PROTECTED, ignoring\n", __FUNCTION__,\r
- VariableName));\r
+ DEBUG ((\r
+ DEBUG_WARN,\r
+ "%a: setting ReadOnly variable \"%s\" "\r
+ "failed with EFI_WRITE_PROTECTED, ignoring\n",\r
+ __FUNCTION__,\r
+ VariableName\r
+ ));\r
Status = EFI_SUCCESS;\r
}\r
+\r
return Status;\r
}\r
\r
-\r
STATIC\r
RETURN_STATUS\r
EnsureExtraBufferSpace (\r
IN UINTN Size\r
)\r
{\r
- VOID *NewBuffer;\r
- UINTN NewSize;\r
+ VOID *NewBuffer;\r
+ UINTN NewSize;\r
\r
NewSize = Instance->DataSize + Size;\r
if (NewSize <= Instance->BufferSize) {\r
FreePool (Instance->BufferPtr);\r
}\r
\r
- Instance->BufferPtr = NewBuffer;\r
+ Instance->BufferPtr = NewBuffer;\r
Instance->BufferSize = NewSize;\r
\r
return RETURN_SUCCESS;\r
}\r
\r
-\r
STATIC\r
VOID\r
AppendToBuffer (\r
IN UINTN Size\r
)\r
{\r
- UINTN NewSize;\r
+ UINTN NewSize;\r
\r
ASSERT (Instance != NULL);\r
ASSERT (Data != NULL);\r
ASSERT ((Instance->DataSize + Size) <= Instance->BufferSize);\r
\r
CopyMem (\r
- (VOID*) (((UINT8*) (Instance->BufferPtr)) + Instance->DataSize),\r
+ (VOID *)(((UINT8 *)(Instance->BufferPtr)) + Instance->DataSize),\r
Data,\r
Size\r
);\r
Instance->DataSize = NewSize;\r
}\r
\r
-\r
/**\r
Creates a new variable serialization instance\r
\r
RETURN_STATUS\r
EFIAPI\r
SerializeVariablesNewInstance (\r
- OUT EFI_HANDLE *Handle\r
+ OUT EFI_HANDLE *Handle\r
)\r
{\r
SV_INSTANCE *New;\r
\r
New->Signature = SV_SIGNATURE;\r
\r
- *Handle = (EFI_HANDLE) New;\r
+ *Handle = (EFI_HANDLE)New;\r
return RETURN_SUCCESS;\r
}\r
\r
-\r
/**\r
Free memory associated with a variable serialization instance\r
\r
RETURN_STATUS\r
EFIAPI\r
SerializeVariablesFreeInstance (\r
- IN EFI_HANDLE Handle\r
+ IN EFI_HANDLE Handle\r
)\r
{\r
- SV_INSTANCE *Instance;\r
+ SV_INSTANCE *Instance;\r
\r
Instance = SV_FROM_HANDLE (Handle);\r
\r
return RETURN_SUCCESS;\r
}\r
\r
-\r
/**\r
Creates a new variable serialization instance using the given\r
binary representation of the variables to fill the new instance\r
RETURN_STATUS\r
EFIAPI\r
SerializeVariablesNewInstanceFromBuffer (\r
- OUT EFI_HANDLE *Handle,\r
- IN VOID *Buffer,\r
- IN UINTN Size\r
+ OUT EFI_HANDLE *Handle,\r
+ IN VOID *Buffer,\r
+ IN UINTN Size\r
)\r
{\r
- RETURN_STATUS Status;\r
+ RETURN_STATUS Status;\r
\r
Status = SerializeVariablesNewInstance (Handle);\r
if (RETURN_ERROR (Status)) {\r
\r
Status = IterateVariablesInBuffer (\r
IterateVariablesCallbackSetInInstance,\r
- (VOID*) *Handle,\r
+ (VOID *)*Handle,\r
Buffer,\r
Size\r
);\r
return Status;\r
}\r
\r
-\r
/**\r
Iterates all variables found with RuntimeServices GetNextVariableName\r
\r
RETURN_STATUS\r
EFIAPI\r
SerializeVariablesIterateSystemVariables (\r
- IN VARIABLE_SERIALIZATION_ITERATION_CALLBACK CallbackFunction,\r
- IN VOID *Context\r
+ IN VARIABLE_SERIALIZATION_ITERATION_CALLBACK CallbackFunction,\r
+ IN VOID *Context\r
)\r
{\r
- RETURN_STATUS Status;\r
- UINTN VariableNameBufferSize;\r
- UINTN VariableNameSize;\r
- CHAR16 *VariableName;\r
- EFI_GUID VendorGuid;\r
- UINTN VariableDataBufferSize;\r
- UINTN VariableDataSize;\r
- VOID *VariableData;\r
- UINT32 VariableAttributes;\r
- VOID *NewBuffer;\r
+ RETURN_STATUS Status;\r
+ UINTN VariableNameBufferSize;\r
+ UINTN VariableNameSize;\r
+ CHAR16 *VariableName;\r
+ EFI_GUID VendorGuid;\r
+ UINTN VariableDataBufferSize;\r
+ UINTN VariableDataSize;\r
+ VOID *VariableData;\r
+ UINT32 VariableAttributes;\r
+ VOID *NewBuffer;\r
\r
//\r
// Initialize the variable name and data buffer variables.\r
//\r
VariableNameBufferSize = sizeof (CHAR16);\r
- VariableName = AllocateZeroPool (VariableNameBufferSize);\r
+ VariableName = AllocateZeroPool (VariableNameBufferSize);\r
\r
VariableDataBufferSize = 0;\r
- VariableData = NULL;\r
+ VariableData = NULL;\r
\r
- for (;;) {\r
+ for ( ; ;) {\r
//\r
// Get the next variable name and guid\r
//\r
VariableNameSize = VariableNameBufferSize;\r
- Status = gRT->GetNextVariableName (\r
- &VariableNameSize,\r
- VariableName,\r
- &VendorGuid\r
- );\r
+ Status = gRT->GetNextVariableName (\r
+ &VariableNameSize,\r
+ VariableName,\r
+ &VendorGuid\r
+ );\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
//\r
// The currently allocated VariableName buffer is too small,\r
Status = EFI_OUT_OF_RESOURCES;\r
break;\r
}\r
+\r
CopyMem (NewBuffer, VariableName, VariableNameBufferSize);\r
if (VariableName != NULL) {\r
FreePool (VariableName);\r
}\r
- VariableName = NewBuffer;\r
+\r
+ VariableName = NewBuffer;\r
VariableNameBufferSize = VariableNameSize;\r
\r
//\r
if (Status == EFI_NOT_FOUND) {\r
Status = EFI_SUCCESS;\r
}\r
+\r
break;\r
}\r
\r
// Get the variable data and attributes\r
//\r
VariableDataSize = VariableDataBufferSize;\r
- Status = gRT->GetVariable (\r
- VariableName,\r
- &VendorGuid,\r
- &VariableAttributes,\r
- &VariableDataSize,\r
- VariableData\r
- );\r
+ Status = gRT->GetVariable (\r
+ VariableName,\r
+ &VendorGuid,\r
+ &VariableAttributes,\r
+ &VariableDataSize,\r
+ VariableData\r
+ );\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
//\r
// The currently allocated VariableData buffer is too small,\r
//\r
if (VariableDataBufferSize != 0) {\r
FreePool (VariableData);\r
- VariableData = NULL;\r
+ VariableData = NULL;\r
VariableDataBufferSize = 0;\r
}\r
+\r
VariableData = AllocatePool (VariableDataSize);\r
if (VariableData == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
break;\r
}\r
+\r
VariableDataBufferSize = VariableDataSize;\r
\r
//\r
VariableData\r
);\r
}\r
+\r
if (EFI_ERROR (Status)) {\r
break;\r
}\r
//\r
// Run the callback function\r
//\r
- Status = (*CallbackFunction) (\r
- Context,\r
- VariableName,\r
- &VendorGuid,\r
- VariableAttributes,\r
- VariableDataSize,\r
- VariableData\r
- );\r
+ Status = (*CallbackFunction)(\r
+ Context,\r
+ VariableName,\r
+ &VendorGuid,\r
+ VariableAttributes,\r
+ VariableDataSize,\r
+ VariableData\r
+ );\r
if (EFI_ERROR (Status)) {\r
break;\r
}\r
-\r
}\r
\r
if (VariableName != NULL) {\r
return Status;\r
}\r
\r
-\r
/**\r
Iterates all variables found in the variable serialization instance\r
\r
RETURN_STATUS\r
EFIAPI\r
SerializeVariablesIterateInstanceVariables (\r
- IN EFI_HANDLE Handle,\r
- IN VARIABLE_SERIALIZATION_ITERATION_CALLBACK CallbackFunction,\r
- IN VOID *Context\r
+ IN EFI_HANDLE Handle,\r
+ IN VARIABLE_SERIALIZATION_ITERATION_CALLBACK CallbackFunction,\r
+ IN VOID *Context\r
)\r
{\r
- SV_INSTANCE *Instance;\r
+ SV_INSTANCE *Instance;\r
\r
Instance = SV_FROM_HANDLE (Handle);\r
\r
}\r
}\r
\r
-\r
/**\r
Sets all variables found in the variable serialization instance\r
\r
RETURN_STATUS\r
EFIAPI\r
SerializeVariablesSetSerializedVariables (\r
- IN EFI_HANDLE Handle\r
+ IN EFI_HANDLE Handle\r
)\r
{\r
return SerializeVariablesIterateInstanceVariables (\r
);\r
}\r
\r
-\r
/**\r
Adds a variable to the variable serialization instance\r
\r
RETURN_STATUS\r
EFIAPI\r
SerializeVariablesAddVariable (\r
- IN EFI_HANDLE Handle,\r
- IN CHAR16 *VariableName,\r
- IN EFI_GUID *VendorGuid,\r
- IN UINT32 Attributes,\r
- IN UINTN DataSize,\r
- IN VOID *Data\r
+ IN EFI_HANDLE Handle,\r
+ IN CHAR16 *VariableName,\r
+ IN EFI_GUID *VendorGuid,\r
+ IN UINT32 Attributes,\r
+ IN UINTN DataSize,\r
+ IN VOID *Data\r
)\r
{\r
RETURN_STATUS Status;\r
Instance = SV_FROM_HANDLE (Handle);\r
\r
if ((Instance->Signature != SV_SIGNATURE) ||\r
- (VariableName == NULL) || (VendorGuid == NULL) || (Data == NULL)) {\r
+ (VariableName == NULL) || (VendorGuid == NULL) || (Data == NULL))\r
+ {\r
}\r
\r
- SerializedNameSize = (UINT32) StrSize (VariableName);\r
+ SerializedNameSize = (UINT32)StrSize (VariableName);\r
\r
SerializedSize =\r
sizeof (SerializedNameSize) +\r
//\r
// Add name size (UINT32)\r
//\r
- AppendToBuffer (Instance, (VOID*) &SerializedNameSize, sizeof (SerializedNameSize));\r
+ AppendToBuffer (Instance, (VOID *)&SerializedNameSize, sizeof (SerializedNameSize));\r
\r
//\r
// Add variable unicode name string\r
//\r
- AppendToBuffer (Instance, (VOID*) VariableName, SerializedNameSize);\r
+ AppendToBuffer (Instance, (VOID *)VariableName, SerializedNameSize);\r
\r
//\r
// Add variable GUID\r
//\r
- AppendToBuffer (Instance, (VOID*) VendorGuid, sizeof (*VendorGuid));\r
+ AppendToBuffer (Instance, (VOID *)VendorGuid, sizeof (*VendorGuid));\r
\r
//\r
// Add variable attributes\r
//\r
- AppendToBuffer (Instance, (VOID*) &Attributes, sizeof (Attributes));\r
+ AppendToBuffer (Instance, (VOID *)&Attributes, sizeof (Attributes));\r
\r
//\r
// Add variable data size (UINT32)\r
//\r
- SerializedDataSize = (UINT32) DataSize;\r
- AppendToBuffer (Instance, (VOID*) &SerializedDataSize, sizeof (SerializedDataSize));\r
+ SerializedDataSize = (UINT32)DataSize;\r
+ AppendToBuffer (Instance, (VOID *)&SerializedDataSize, sizeof (SerializedDataSize));\r
\r
//\r
// Add variable data\r
return RETURN_SUCCESS;\r
}\r
\r
-\r
/**\r
Serializes the variables known to this instance into the\r
provided buffer.\r
RETURN_STATUS\r
EFIAPI\r
SerializeVariablesToBuffer (\r
- IN EFI_HANDLE Handle,\r
- OUT VOID *Buffer,\r
- IN OUT UINTN *Size\r
+ IN EFI_HANDLE Handle,\r
+ OUT VOID *Buffer,\r
+ IN OUT UINTN *Size\r
)\r
{\r
- SV_INSTANCE *Instance;\r
+ SV_INSTANCE *Instance;\r
\r
Instance = SV_FROM_HANDLE (Handle);\r
\r
\r
return RETURN_SUCCESS;\r
}\r
-\r