// Size of the longest valid BOOL string (see the "mTrueString" and\r
// "mFalseString" arrays below), including the terminating NUL.\r
//\r
-#define BOOL_STRING_MAX_SIZE (sizeof "disabled")\r
+#define BOOL_STRING_MAX_SIZE (sizeof "disabled")\r
\r
//\r
// Length of "\r\n", not including the terminating NUL.\r
//\r
-#define CRLF_LENGTH (sizeof "\r\n" - 1)\r
+#define CRLF_LENGTH (sizeof "\r\n" - 1)\r
\r
//\r
// Words recognized as representing TRUE or FALSE.\r
//\r
-STATIC CONST CHAR8 * CONST mTrueString[] = {\r
+STATIC CONST CHAR8 *CONST mTrueString[] = {\r
"true", "yes", "y", "enable", "enabled", "1"\r
};\r
-STATIC CONST CHAR8 * CONST mFalseString[] = {\r
+STATIC CONST CHAR8 *CONST mFalseString[] = {\r
"false", "no", "n", "disable", "disabled", "0"\r
};\r
\r
STATIC\r
RETURN_STATUS\r
QemuFwCfgGetAsString (\r
- IN CONST CHAR8 *FileName,\r
- IN OUT UINTN *BufferSize,\r
- OUT CHAR8 *Buffer\r
+ IN CONST CHAR8 *FileName,\r
+ IN OUT UINTN *BufferSize,\r
+ OUT CHAR8 *Buffer\r
)\r
{\r
- RETURN_STATUS Status;\r
- FIRMWARE_CONFIG_ITEM FwCfgItem;\r
- UINTN FwCfgSize;\r
+ RETURN_STATUS Status;\r
+ FIRMWARE_CONFIG_ITEM FwCfgItem;\r
+ UINTN FwCfgSize;\r
\r
if (!QemuFwCfgIsAvailable ()) {\r
return RETURN_UNSUPPORTED;\r
if (RETURN_ERROR (Status)) {\r
return Status;\r
}\r
+\r
if (FwCfgSize > *BufferSize) {\r
return RETURN_PROTOCOL_ERROR;\r
}\r
//\r
// If Buffer is already NUL-terminated due to fw_cfg contents, we're done.\r
//\r
- if (FwCfgSize > 0 && Buffer[FwCfgSize - 1] == '\0') {\r
+ if ((FwCfgSize > 0) && (Buffer[FwCfgSize - 1] == '\0')) {\r
*BufferSize = FwCfgSize;\r
return RETURN_SUCCESS;\r
}\r
+\r
//\r
// Otherwise, append a NUL byte to Buffer (if we have room for it).\r
//\r
if (FwCfgSize == *BufferSize) {\r
return RETURN_PROTOCOL_ERROR;\r
}\r
+\r
Buffer[FwCfgSize] = '\0';\r
- *BufferSize = FwCfgSize + 1;\r
+ *BufferSize = FwCfgSize + 1;\r
return RETURN_SUCCESS;\r
}\r
\r
STATIC\r
VOID\r
StripNewline (\r
- IN OUT UINTN *BufferSize,\r
- IN OUT CHAR8 *Buffer\r
+ IN OUT UINTN *BufferSize,\r
+ IN OUT CHAR8 *Buffer\r
)\r
{\r
- UINTN InSize, OutSize;\r
+ UINTN InSize, OutSize;\r
\r
- InSize = *BufferSize;\r
+ InSize = *BufferSize;\r
OutSize = InSize;\r
\r
- if (InSize >= 3 &&\r
- Buffer[InSize - 3] == '\r' && Buffer[InSize - 2] == '\n') {\r
+ if ((InSize >= 3) &&\r
+ (Buffer[InSize - 3] == '\r') && (Buffer[InSize - 2] == '\n'))\r
+ {\r
OutSize = InSize - 2;\r
- } else if (InSize >= 2 && Buffer[InSize - 2] == '\n') {\r
+ } else if ((InSize >= 2) && (Buffer[InSize - 2] == '\n')) {\r
OutSize = InSize - 1;\r
}\r
\r
if (OutSize < InSize) {\r
Buffer[OutSize - 1] = '\0';\r
- *BufferSize = OutSize;\r
+ *BufferSize = OutSize;\r
}\r
}\r
\r
STATIC\r
RETURN_STATUS\r
QemuFwCfgParseUint64WithLimit (\r
- IN CONST CHAR8 *FileName,\r
- IN BOOLEAN ParseAsHex,\r
- IN UINT64 Limit,\r
- OUT UINT64 *Value\r
+ IN CONST CHAR8 *FileName,\r
+ IN BOOLEAN ParseAsHex,\r
+ IN UINT64 Limit,\r
+ OUT UINT64 *Value\r
)\r
{\r
- UINTN Uint64StringSize;\r
- CHAR8 Uint64String[UINT64_STRING_MAX_SIZE + CRLF_LENGTH];\r
- RETURN_STATUS Status;\r
- CHAR8 *EndPointer;\r
- UINT64 Uint64;\r
+ UINTN Uint64StringSize;\r
+ CHAR8 Uint64String[UINT64_STRING_MAX_SIZE + CRLF_LENGTH];\r
+ RETURN_STATUS Status;\r
+ CHAR8 *EndPointer;\r
+ UINT64 Uint64;\r
\r
Uint64StringSize = sizeof Uint64String;\r
- Status = QemuFwCfgGetAsString (FileName, &Uint64StringSize, Uint64String);\r
+ Status = QemuFwCfgGetAsString (FileName, &Uint64StringSize, Uint64String);\r
if (RETURN_ERROR (Status)) {\r
return Status;\r
}\r
} else {\r
Status = AsciiStrDecimalToUint64S (Uint64String, &EndPointer, &Uint64);\r
}\r
+\r
if (RETURN_ERROR (Status)) {\r
return Status;\r
}\r
// Report a wire protocol error if the subject sequence is empty, or trailing\r
// garbage is present, or Limit is not honored.\r
//\r
- if (EndPointer == Uint64String || *EndPointer != '\0' || Uint64 > Limit) {\r
+ if ((EndPointer == Uint64String) || (*EndPointer != '\0') || (Uint64 > Limit)) {\r
return RETURN_PROTOCOL_ERROR;\r
}\r
\r
RETURN_STATUS\r
EFIAPI\r
QemuFwCfgParseBool (\r
- IN CONST CHAR8 *FileName,\r
- OUT BOOLEAN *Value\r
+ IN CONST CHAR8 *FileName,\r
+ OUT BOOLEAN *Value\r
)\r
{\r
- UINTN BoolStringSize;\r
- CHAR8 BoolString[BOOL_STRING_MAX_SIZE + CRLF_LENGTH];\r
- RETURN_STATUS Status;\r
- UINTN Idx;\r
+ UINTN BoolStringSize;\r
+ CHAR8 BoolString[BOOL_STRING_MAX_SIZE + CRLF_LENGTH];\r
+ RETURN_STATUS Status;\r
+ UINTN Idx;\r
\r
BoolStringSize = sizeof BoolString;\r
- Status = QemuFwCfgGetAsString (FileName, &BoolStringSize, BoolString);\r
+ Status = QemuFwCfgGetAsString (FileName, &BoolStringSize, BoolString);\r
if (RETURN_ERROR (Status)) {\r
return Status;\r
}\r
RETURN_STATUS\r
EFIAPI\r
QemuFwCfgParseUint8 (\r
- IN CONST CHAR8 *FileName,\r
- IN BOOLEAN ParseAsHex,\r
- OUT UINT8 *Value\r
+ IN CONST CHAR8 *FileName,\r
+ IN BOOLEAN ParseAsHex,\r
+ OUT UINT8 *Value\r
)\r
{\r
- RETURN_STATUS Status;\r
- UINT64 Uint64;\r
-\r
- Status = QemuFwCfgParseUint64WithLimit (FileName, ParseAsHex, MAX_UINT8,\r
- &Uint64);\r
+ RETURN_STATUS Status;\r
+ UINT64 Uint64;\r
+\r
+ Status = QemuFwCfgParseUint64WithLimit (\r
+ FileName,\r
+ ParseAsHex,\r
+ MAX_UINT8,\r
+ &Uint64\r
+ );\r
if (RETURN_ERROR (Status)) {\r
return Status;\r
}\r
+\r
*Value = (UINT8)Uint64;\r
return RETURN_SUCCESS;\r
}\r
RETURN_STATUS\r
EFIAPI\r
QemuFwCfgParseUint16 (\r
- IN CONST CHAR8 *FileName,\r
- IN BOOLEAN ParseAsHex,\r
- OUT UINT16 *Value\r
+ IN CONST CHAR8 *FileName,\r
+ IN BOOLEAN ParseAsHex,\r
+ OUT UINT16 *Value\r
)\r
{\r
- RETURN_STATUS Status;\r
- UINT64 Uint64;\r
-\r
- Status = QemuFwCfgParseUint64WithLimit (FileName, ParseAsHex, MAX_UINT16,\r
- &Uint64);\r
+ RETURN_STATUS Status;\r
+ UINT64 Uint64;\r
+\r
+ Status = QemuFwCfgParseUint64WithLimit (\r
+ FileName,\r
+ ParseAsHex,\r
+ MAX_UINT16,\r
+ &Uint64\r
+ );\r
if (RETURN_ERROR (Status)) {\r
return Status;\r
}\r
+\r
*Value = (UINT16)Uint64;\r
return RETURN_SUCCESS;\r
}\r
RETURN_STATUS\r
EFIAPI\r
QemuFwCfgParseUint32 (\r
- IN CONST CHAR8 *FileName,\r
- IN BOOLEAN ParseAsHex,\r
- OUT UINT32 *Value\r
+ IN CONST CHAR8 *FileName,\r
+ IN BOOLEAN ParseAsHex,\r
+ OUT UINT32 *Value\r
)\r
{\r
- RETURN_STATUS Status;\r
- UINT64 Uint64;\r
-\r
- Status = QemuFwCfgParseUint64WithLimit (FileName, ParseAsHex, MAX_UINT32,\r
- &Uint64);\r
+ RETURN_STATUS Status;\r
+ UINT64 Uint64;\r
+\r
+ Status = QemuFwCfgParseUint64WithLimit (\r
+ FileName,\r
+ ParseAsHex,\r
+ MAX_UINT32,\r
+ &Uint64\r
+ );\r
if (RETURN_ERROR (Status)) {\r
return Status;\r
}\r
+\r
*Value = (UINT32)Uint64;\r
return RETURN_SUCCESS;\r
}\r
RETURN_STATUS\r
EFIAPI\r
QemuFwCfgParseUint64 (\r
- IN CONST CHAR8 *FileName,\r
- IN BOOLEAN ParseAsHex,\r
- OUT UINT64 *Value\r
+ IN CONST CHAR8 *FileName,\r
+ IN BOOLEAN ParseAsHex,\r
+ OUT UINT64 *Value\r
)\r
{\r
- RETURN_STATUS Status;\r
- UINT64 Uint64;\r
-\r
- Status = QemuFwCfgParseUint64WithLimit (FileName, ParseAsHex, MAX_UINT64,\r
- &Uint64);\r
+ RETURN_STATUS Status;\r
+ UINT64 Uint64;\r
+\r
+ Status = QemuFwCfgParseUint64WithLimit (\r
+ FileName,\r
+ ParseAsHex,\r
+ MAX_UINT64,\r
+ &Uint64\r
+ );\r
if (RETURN_ERROR (Status)) {\r
return Status;\r
}\r
+\r
*Value = Uint64;\r
return RETURN_SUCCESS;\r
}\r
RETURN_STATUS\r
EFIAPI\r
QemuFwCfgParseUintn (\r
- IN CONST CHAR8 *FileName,\r
- IN BOOLEAN ParseAsHex,\r
- OUT UINTN *Value\r
+ IN CONST CHAR8 *FileName,\r
+ IN BOOLEAN ParseAsHex,\r
+ OUT UINTN *Value\r
)\r
{\r
- RETURN_STATUS Status;\r
- UINT64 Uint64;\r
-\r
- Status = QemuFwCfgParseUint64WithLimit (FileName, ParseAsHex, MAX_UINTN,\r
- &Uint64);\r
+ RETURN_STATUS Status;\r
+ UINT64 Uint64;\r
+\r
+ Status = QemuFwCfgParseUint64WithLimit (\r
+ FileName,\r
+ ParseAsHex,\r
+ MAX_UINTN,\r
+ &Uint64\r
+ );\r
if (RETURN_ERROR (Status)) {\r
return Status;\r
}\r
+\r
*Value = (UINTN)Uint64;\r
return RETURN_SUCCESS;\r
}\r