[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] xen: Minor modifications to platform.h to make it C++-friendly


  • To: xen-devel@xxxxxxxxxxxxx
  • From: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx>
  • Date: Mon, 23 Feb 2015 11:34:25 +0200
  • Cc: keir@xxxxxxx, ian.campbell@xxxxxxxxxx, Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx>, tim@xxxxxxx, ian.jackson@xxxxxxxxxxxxx, jbeulich@xxxxxxxx
  • Comment: DomainKeys? See http://domainkeys.sourceforge.net/
  • Delivery-date: Mon, 23 Feb 2015 09:34:51 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=bitdefender.com; b=qd9Y7vq6PfziqPghuR5766HTXlgwDMP63BMsVwXwrNpUskxaEqyOSaYtD+CrxoIP/hC1ZgzMJiCXVN+W1FgelUXzB7hQYlkcYk5xRlZoeCSK9I+3pSbp5i/SAalxC+qAVPiubPp2PxByY/WqSY7vkz2kxqi/tje2Va2uBDGhhLY6LoseYG6Kt2BsasrCX6IsQ509Pr8uZ1bZxizoXjj43vaGGrFICYo6gQh2elRG19VZZKggeK6zUW29k/ELky6TWKOHQLqeGI+fD3YTcmQFwgtrekzoUV1dTnGqI1EXKqKrpox418MriKjZegkZOVgD2QHNzm9akhV/IosXzYe/Rw==; h=Received:Received:Received:Received:Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer:X-BitDefender-Scanner:X-BitDefender-Spam:X-BitDefender-SpamStamp:X-BitDefender-CF-Stamp;
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

Moved the definition of struct xenpf_efi_guid up, and rearranged
struct xenpf_efi_time in the containing union to avoid compilation
errors with C++ (structs defined inside unnamed structs become
unavailable outside their scope with C++). The change allows C++
applications to use platform.h with no consequences for current
C clients.

Signed-off-by: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx>
---
 xen/include/public/platform.h |   40 +++++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 19 deletions(-)

diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index e4cf65f..2eca375 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -141,6 +141,13 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_platform_quirk_t);
 #define XEN_EFI_query_variable_info           9
 #define XEN_EFI_query_capsule_capabilities   10
 #define XEN_EFI_update_capsule               11
+struct xenpf_efi_guid {
+    uint32_t data1;
+    uint16_t data2;
+    uint16_t data3;
+    uint8_t data4[8];
+};
+
 struct xenpf_efi_runtime_call {
     uint32_t function;
     /*
@@ -152,24 +159,24 @@ struct xenpf_efi_runtime_call {
     xen_ulong_t status;
     union {
 #define XEN_EFI_GET_TIME_SET_CLEARS_NS 0x00000001
+        struct xenpf_efi_time {
+            uint16_t year;
+            uint8_t month;
+            uint8_t day;
+            uint8_t hour;
+            uint8_t min;
+            uint8_t sec;
+            uint32_t ns;
+            int16_t tz;
+            uint8_t daylight;
+        } set_time;
+
         struct {
-            struct xenpf_efi_time {
-                uint16_t year;
-                uint8_t month;
-                uint8_t day;
-                uint8_t hour;
-                uint8_t min;
-                uint8_t sec;
-                uint32_t ns;
-                int16_t tz;
-                uint8_t daylight;
-            } time;
+            struct xenpf_efi_time time;
             uint32_t resolution;
             uint32_t accuracy;
         } get_time;
 
-        struct xenpf_efi_time set_time;
-
 #define XEN_EFI_GET_WAKEUP_TIME_ENABLED 0x00000001
 #define XEN_EFI_GET_WAKEUP_TIME_PENDING 0x00000002
         struct xenpf_efi_time get_wakeup_time;
@@ -185,12 +192,7 @@ struct xenpf_efi_runtime_call {
             XEN_GUEST_HANDLE(void) name;  /* UCS-2/UTF-16 string */
             xen_ulong_t size;
             XEN_GUEST_HANDLE(void) data;
-            struct xenpf_efi_guid {
-                uint32_t data1;
-                uint16_t data2;
-                uint16_t data3;
-                uint8_t data4[8];
-            } vendor_guid;
+            struct xenpf_efi_guid vendor_guid;
         } get_variable, set_variable;
 
         struct {
-- 
1.7.9.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.