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

[RFC PATCH 08/11] docs/doxygen: Add doxygen tags to event_channel.h



Add doxygen tags to comments for:
1) create Event Channels group
2) Fixed issues with anonymous union

Signed-off-by: Luca Fancellu <luca.fancellu@xxxxxxx>
---
 xen/include/public/event_channel.h | 34 ++++++++++++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/event_channel.h 
b/xen/include/public/event_channel.h
index 73c9f38ce1..d415bbd7e4 100644
--- a/xen/include/public/event_channel.h
+++ b/xen/include/public/event_channel.h
@@ -24,6 +24,11 @@
  * Copyright (c) 2003-2004, K A Fraser.
  */
 
+/**
+ * @file
+ * @brief Event channels between domains.
+ */
+
 #ifndef __XEN_PUBLIC_EVENT_CHANNEL_H__
 #define __XEN_PUBLIC_EVENT_CHANNEL_H__
 
@@ -31,8 +36,10 @@
 
 /*
  * `incontents 150 evtchn Event Channels
- *
- * Event channels are the basic primitive provided by Xen for event
+ */
+
+/**
+ * @brief Event channels are the basic primitive provided by Xen for event
  * notifications. An event is the Xen equivalent of a hardware
  * interrupt. They essentially store one bit of information, the event
  * of interest is signalled by transitioning this bit from 0 to 1.
@@ -49,6 +56,9 @@
  *
  * Event channels are represented by the evtchn_* fields in
  * struct shared_info and struct vcpu_info.
+ *
+ * @addtogroup event_channels Event Channels
+ * @{
  */
 
 /*
@@ -219,11 +229,22 @@ struct evtchn_status {
 #define EVTCHNSTAT_ipi          5  /* Channel is bound to a virtual IPI line */
     uint32_t status;
     uint32_t vcpu;                 /* VCPU to which this channel is bound.   */
+#ifdef DOXYGEN
+    /* Workaround: Doxygen cannot handle anonymous union/struct */
+    union u {
+        struct unbound {
+#else
     union {
         struct {
+#endif
             domid_t dom;
         } unbound;                 /* EVTCHNSTAT_unbound */
+#ifdef DOXYGEN
+        /* Workaround: Doxygen cannot handle anonymous union/struct */
+        struct interdomain {
+#else
         struct {
+#endif
             domid_t dom;
             evtchn_port_t port;
         } interdomain;             /* EVTCHNSTAT_interdomain */
@@ -323,7 +344,12 @@ typedef struct evtchn_set_priority evtchn_set_priority_t;
  */
 struct evtchn_op {
     uint32_t cmd; /* enum event_channel_op */
+#ifdef DOXYGEN
+    /* Workaround: Doxygen cannot handle anonymous union/struct */
+    union u {
+#else
     union {
+#endif
         evtchn_alloc_unbound_t    alloc_unbound;
         evtchn_bind_interdomain_t bind_interdomain;
         evtchn_bind_virq_t        bind_virq;
@@ -375,6 +401,10 @@ struct evtchn_fifo_control_block {
 };
 typedef struct evtchn_fifo_control_block evtchn_fifo_control_block_t;
 
+/**
+ * @}
+ */
+
 #endif /* __XEN_PUBLIC_EVENT_CHANNEL_H__ */
 
 /*
-- 
2.17.1




 


Rackspace

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