Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Connect node GRAS_msg into the doxygen module tree
[simgrid.git] / include / gras / messages.h
index 1b93c21..3ed2f17 100644 (file)
 #include "gras/transport.h"
 #include "gras/datadesc.h"
 
-BEGIN_DECL()
+SG_BEGIN_DECL()
 
 /** @addtogroup GRAS_msg
  *  @brief Defining messages and callbacks, and exchanging messages (Communication facility) 
  * 
+ * <center><table><tr><td><b>Top</b>    <td> [\ref index]::[\ref GRAS_API]
+ *                <tr><td><b>Prev</b>   <td> [\ref GRAS_sock]
+ *                <tr><td><b>Next</b>   <td> [\ref GRAS_timer]
+ *                <tr><td><b>Down</b>   <td> [\ref GRAS_msg_decl]            </table></center>
+ *
  *  There is two way to receive messages in GRAS. The first one is to
  *  register a given function as callback to a given type of messages (see
  *  \ref gras_cb_register and associated section). But you can also
@@ -33,12 +38,15 @@ BEGIN_DECL()
  *  passed to the callback.
  * 
  *  For an example of use, please refer to \ref GRAS_ex_ping.
- * 
- *  @{
  */
 
-/** @name 1. Message declaration and retrival 
+/** @defgroup GRAS_msg_decl Message declaration and retrival 
+ *  @ingroup  GRAS_msg
  *  
+ * <center><table><tr><td><b>Top</b>    <td> [\ref index]::[\ref GRAS_API]::[\ref GRAS_msg]
+ *                <tr><td>   Prev       <td> 
+ *                <tr><td><b>Next</b>   <td> [\ref GRAS_msg_cb]               </table></center>
+ *
  *  GRAS messages can only accept one type of payload. If you absolutely want to declare a message
  *  able to convey several datatypes, you can always say that it conveys a generic reference (see 
  *  \ref gras_datadesc_ref_generic).
@@ -62,10 +70,16 @@ typedef struct s_gras_msgtype *gras_msgtype_t;
 
   gras_msgtype_t gras_msgtype_by_name (const char *name);
   gras_msgtype_t gras_msgtype_by_namev(const char *name, short int version);
+  gras_msgtype_t gras_msgtype_by_id(int id);
 
 /** @} */  
-/** @name 2. Callback declaration and use
+/** @defgroup GRAS_msg_cb Callback declaration and use
+ *  @ingroup  GRAS_msg
  * 
+ * <center><table><tr><td><b>Top</b>    <td> [\ref index]::[\ref GRAS_API]::[\ref GRAS_msg]
+ *                <tr><td><b>Prev</b>   <td> [\ref GRAS_msg_decl]
+ *                <tr><td><b>Next</b>   <td> [\ref GRAS_msg_exchange]       </table></center>
+ *
  * This is how to register a given function so that it gets called when a
  * given type of message arrives.
  * 
@@ -100,7 +114,13 @@ typedef struct s_gras_msgtype *gras_msgtype_t;
   void gras_cb_unregister(gras_msgtype_t msgtype, gras_msg_cb_t cb);
 
 /** @} */  
-/** @name 3. Message exchange */
+/** @defgroup GRAS_msg_exchange Message exchange 
+ *  @ingroup  GRAS_msg
+ *
+ * <center><table><tr><td><b>Top</b>    <td> [\ref index]::[\ref GRAS_API]::[\ref GRAS_msg]
+ *                <tr><td><b>Prev</b>   <td> [\ref GRAS_msg_cb]
+ *                <tr><td>   Next       <td>                        </table></center>
+ */
 /** @{ */
 
   void gras_msg_send(gras_socket_t   sock,
@@ -114,7 +134,7 @@ typedef struct s_gras_msgtype *gras_msgtype_t;
 
 /* @} */
 
-END_DECL()
+SG_END_DECL()
 
 #endif /* GRAS_MSG_H */