The virtio_net_ctrl_hdr struct uses a C++ keyword as structural members.  Fix
this by inserting an anonymous union that provides an alternative name and
then hide the reserved name in C++.

Signed-off-by: David Howells <dhowe...@redhat.com>
cc: "Michael S. Tsirkin" <m...@redhat.com>
cc: Jason Wang <jasow...@redhat.com>
cc: virtualizat...@lists.linux-foundation.org
---

 include/uapi/linux/virtio_net.h |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/include/uapi/linux/virtio_net.h b/include/uapi/linux/virtio_net.h
index a3715a3224c1..967142bc0e05 100644
--- a/include/uapi/linux/virtio_net.h
+++ b/include/uapi/linux/virtio_net.h
@@ -150,7 +150,12 @@ struct virtio_net_hdr_mrg_rxbuf {
  * command goes in between.
  */
 struct virtio_net_ctrl_hdr {
-       __u8 class;
+       union {
+#ifndef __cplusplus
+               __u8 class;
+#endif
+               __u8 _class;
+       };
        __u8 cmd;
 } __attribute__((packed));
 

Reply via email to