]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiSpec.h
Add comments for enumeration, structure data members those are referred by UefiServic...
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiSpec.h
index df3b373278e976bdf6736fc67eeffb31ef39dc7d..f68023051267d19947bc9bb7066ec146ddc44121 100644 (file)
@@ -689,8 +689,27 @@ EFI_STATUS
 /// real time clock device as exposed through the EFI interfaces.\r
 ///\r
 typedef struct {\r
+  ///\r
+  /// Provides the reporting resolution of the real-time clock device in\r
+  /// counts per second. For a normal PC-AT CMOS RTC device, this\r
+  /// value would be 1 Hz, or 1, to indicate that the device only reports\r
+  /// the time to the resolution of 1 second.\r
+  ///\r
   UINT32    Resolution;\r
+  ///\r
+  /// Provides the timekeeping accuracy of the real-time clock in an\r
+  /// error rate of 1E-6 parts per million. For a clock with an accuracy\r
+  /// of 50 parts per million, the value in this field would be\r
+  /// 50,000,000.\r
+  ///\r
   UINT32    Accuracy;\r
+  ///\r
+  /// A TRUE indicates that a time set operation clears the device¡¯s\r
+  /// time below the Resolution reporting level. A FALSE\r
+  /// indicates that the state below the Resolution level of the\r
+  /// device is not cleared when the time is set. Normal PC-AT CMOS\r
+  /// RTC devices set this value to FALSE.\r
+  ///\r
   BOOLEAN   SetsToZero;\r
 } EFI_TIME_CAPABILITIES;\r
 \r
@@ -1527,9 +1546,22 @@ EFI_STATUS
 /// EFI Capsule Block Descriptor\r
 ///\r
 typedef struct {\r
+  ///\r
+  /// Length in bytes of the data pointed to by DataBlock/ContinuationPointer.\r
+  ///\r
   UINT64                  Length;\r
   union {\r
+    ///\r
+    /// Physical address of the data block. This member of the union is\r
+    /// used if Length is not equal to zero.\r
+    ///\r
     EFI_PHYSICAL_ADDRESS  DataBlock;\r
+    ///\r
+    /// Physical address of another block of\r
+    /// EFI_CAPSULE_BLOCK_DESCRIPTOR structures. This\r
+    /// member of the union is used if Length is equal to zero. If\r
+    /// ContinuationPointer is zero this entry represents the end of the list.\r
+    ///\r
     EFI_PHYSICAL_ADDRESS  ContinuationPointer;\r
   } Union;\r
 } EFI_CAPSULE_BLOCK_DESCRIPTOR;\r
@@ -1538,19 +1570,41 @@ typedef struct {
 /// EFI Capsule Header\r
 ///\r
 typedef struct {\r
+  ///\r
+  /// A GUID that defines the contents of a capsule.\r
+  ///\r
   EFI_GUID          CapsuleGuid;\r
+  ///\r
+  /// The size of the capsule header. This may be larger than the size of\r
+  /// the EFI_CAPSULE_HEADER since CapsuleGuid may imply\r
+  /// extended header entries\r
+  ///\r
   UINT32            HeaderSize;\r
+  ///\r
+  /// Bit-mapped list describing the capsule attributes. The Flag values\r
+  /// of 0x0000 ¨C 0xFFFF are defined by CapsuleGuid. Flag values\r
+  /// of 0x10000 ¨C 0xFFFF0000 are defined by this specification\r
+  ///\r
   UINT32            Flags;\r
+  ///\r
+  /// Size in bytes of the capsule.\r
+  ///\r
   UINT32            CapsuleImageSize;\r
 } EFI_CAPSULE_HEADER;\r
 \r
-//\r
-// The EFI System Table entry must point to an array of capsules\r
-// that contain the same CapsuleGuid value. The array must be\r
-// prefixed by a UINT32 that represents the size of the array of capsules.\r
-//\r
+///\r
+/// The EFI System Table entry must point to an array of capsules\r
+/// that contain the same CapsuleGuid value. The array must be\r
+/// prefixed by a UINT32 that represents the size of the array of capsules.\r
+///\r
 typedef struct {\r
+  ///\r
+  /// the size of the array of capsules.\r
+  ///\r
   UINT32   CapsuleArrayNumber;\r
+  ///\r
+  /// Point to an array of capsules that contain the same CapsuleGuid value.\r
+  ///\r
   VOID*    CapsulePtr[1];\r
 } EFI_CAPSULE_TABLE;\r
 \r
@@ -1929,14 +1983,40 @@ EFI_STATUS
 ///\r
 typedef union {\r
   struct {\r
+    ///\r
+    /// Indicates the revision of the EFI_KEY_OPTION structure. This revision level should be 0.\r
+    ///\r
     UINT32  Revision        : 8;\r
+    ///\r
+    /// Either the left or right Shift keys must be pressed (1) or must not be pressed (0).\r
+    ///\r
     UINT32  ShiftPressed    : 1;\r
+    ///\r
+    /// Either the left or right Control keys must be pressed (1) or must not be pressed (0).\r
+    ///\r
     UINT32  ControlPressed  : 1;\r
+    ///\r
+    /// Either the left or right Alt keys must be pressed (1) or must not be pressed (0).\r
+    ///\r
     UINT32  AltPressed      : 1;\r
+    ///\r
+    /// Either the left or right Logo keys must be pressed (1) or must not be pressed (0).\r
+    ///\r
     UINT32  LogoPressed     : 1;\r
+    ///\r
+    /// The Menu key must be pressed (1) or must not be pressed (0).\r
+    ///\r
     UINT32  MenuPressed     : 1;\r
+    ///\r
+    /// The SysReq key must be pressed (1) or must not be pressed (0).\r
+    ///\r
     UINT32  SysReqPessed    : 1;\r
     UINT32  Reserved        : 16;\r
+    ///\r
+    /// Specifies the actual number of entries in EFI_KEY_OPTION.Keys, from 0-3. If\r
+    /// zero, then only the shift state is considered. If more than one, then the boot option will\r
+    /// only be launched if all of the specified keys are pressed with the same shift state.\r
+    ///\r
     UINT32  InputKeyCount   : 2;\r
   } Options;\r
   UINT32  PackedValue;\r
@@ -1946,10 +2026,27 @@ typedef union {
 /// EFI Key Option\r
 ///\r
 typedef struct {\r
-  EFI_BOOT_KEY_DATA  KeyOptions;\r
+  ///\r
+  /// Specifies options about how the key will be processed.\r
+  ///\r
+  EFI_BOOT_KEY_DATA  KeyData;\r
+  ///\r
+  /// The CRC-32 which should match the CRC-32 of the entire EFI_LOAD_OPTION to\r
+  /// which BootOption refers. If the CRC-32s do not match this value, then this key\r
+  /// option is ignored.\r
+  ///\r
   UINT32             BootOptionCrc;\r
+  ///\r
+  /// The Boot#### option which will be invoked if this key is pressed and the boot option\r
+  /// is active (LOAD_OPTION_ACTIVE is set).\r
+  ///\r
   UINT16             BootOption;\r
-//EFI_INPUT_KEY      Keys[];\r
+  ///\r
+  /// The key codes to compare against those returned by the\r
+  /// EFI_SIMPLE_TEXT_INPUT and EFI_SIMPLE_TEXT_INPUT_EX protocols.\r
+  /// The number of key codes (0-3) is specified by the EFI_KEY_CODE_COUNT field in KeyOptions.\r
+  ///\r
+  //EFI_INPUT_KEY      Keys[];\r
 } EFI_KEY_OPTION;\r
 \r
 #define EFI_KEY_OPTION_SHIFT     0x00000001\r