+\r
+ EFI_VFR_RETURN_CODE SetFlagsForBitField (IN UINT8 HFlags, IN UINT8 LFlags) {\r
+ EFI_VFR_RETURN_CODE Ret;\r
+\r
+ Ret = CIfrQuestionHeader::SetFlags (HFlags);\r
+ if (Ret != VFR_RETURN_SUCCESS) {\r
+ return Ret;\r
+ }\r
+\r
+ if (LFlags & EFI_IFR_DISPLAY) {\r
+ mOneOf->Flags = LFlags;\r
+ } else {\r
+ mOneOf->Flags = LFlags | EDKII_IFR_DISPLAY_UINT_DEC_BIT;\r
+ }\r
+ return VFR_RETURN_SUCCESS;\r
+ }\r
+\r
+ VOID ShrinkBinSize (IN UINT16 Size) {\r
+ //\r
+ // Update the buffer size which is truly be used later.\r
+ //\r
+ ShrinkObjBin(Size);\r
+ DecLength(Size);\r
+\r
+ //\r
+ // Allocate buffer in gCFormPkg.\r
+ //\r
+ _EMIT_PENDING_OBJ();\r
+\r
+ //\r
+ // Update the buffer pointer used by other class.\r
+ //\r
+ mOneOf = GetObjBinAddr<EFI_IFR_ONE_OF>();\r
+ UpdateHeader (&mOneOf->Header);\r
+ UpdateCIfrQuestionHeader(&mOneOf->Question);\r
+ UpdateCIfrMinMaxStepData(&mOneOf->data);\r
+ }\r