+//\r
+// RPMB Device Configuration Block Data Structure as of Nvm Express 1.4 Spec\r
+//\r
+typedef struct {\r
+ UINT8 Bppe; /* Boot Partition Protection Enable */\r
+ UINT8 Bpl; /* Boot Partition Lock */\r
+ UINT8 Nwpac; /* Namespace Write Protection Authentication Control */\r
+ UINT8 Rsvd1[509]; /* Reserved as of Nvm Express 1.4 Spec */\r
+} NVME_RPMB_CONFIGURATION_DATA;\r
+\r
+#define RPMB_FRAME_STUFF_BYTES 223\r
+\r
+//\r
+// RPMB Data Frame as of Nvm Express 1.4 Spec\r
+//\r
+typedef struct {\r
+ UINT8 Sbakamc[RPMB_FRAME_STUFF_BYTES]; /* [222-N:00] Stuff Bytes */\r
+ /* [222:222-(N-1)] Authentication Key or Message Authentication Code (MAC) */\r
+ UINT8 Rpmbt; /* RPMB Target */\r
+ UINT64 Nonce[2];\r
+ UINT32 Wcounter; /* Write Counter */\r
+ UINT32 Address; /* Starting address of data to be programmed to or read from the RPMB. */\r
+ UINT32 Scount; /* Sector Count */\r
+ UINT16 Result;\r
+ UINT16 Rpmessage; /* Request/Response Message */\r
+ // UINT8 *Data; /* Data to be written or read by signed access where M = 512 * Sector Count. */\r
+} NVME_RPMB_DATA_FRAME;\r
+\r