<p>Alexander Traud has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.asterisk.org/c/asterisk/+/17478">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">stasis: Fix for Doxygen.<br><br>ASTERISK-29750<br><br>Change-Id: Iea50173e785b2e9d49bc24c0af7111cfd96d44a9<br>---<br>M include/asterisk/stasis.h<br>M include/asterisk/stasis_app.h<br>M include/asterisk/stasis_app_device_state.h<br>M include/asterisk/stasis_app_playback.h<br>M include/asterisk/stasis_app_recording.h<br>M include/asterisk/stasis_app_snoop.h<br>M include/asterisk/stasis_bridges.h<br>M include/asterisk/stasis_channels.h<br>M include/asterisk/stasis_internal.h<br>M include/asterisk/stasis_message_router.h<br>M include/asterisk/stasis_system.h<br>M include/asterisk/stasis_test.h<br>M main/stasis.c<br>M main/stasis_bridges.c<br>M main/stasis_cache.c<br>M res/res_stasis_snoop.c<br>M res/stasis/app.c<br>M res/stasis/app.h<br>M res/stasis/control.h<br>M res/stasis/messaging.h<br>M res/stasis/stasis_bridge.c<br>M res/stasis/stasis_bridge.h<br>M res/stasis_recording/stored.c<br>23 files changed, 226 insertions(+), 258 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/78/17478/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/asterisk/stasis.h b/include/asterisk/stasis.h</span><br><span>index 8dea7ec..01e7ca4 100644</span><br><span>--- a/include/asterisk/stasis.h</span><br><span>+++ b/include/asterisk/stasis.h</span><br><span>@@ -65,7 +65,7 @@</span><br><span>  *</span><br><span>  * \par stasis_topic</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * A \ref stasis_topic is an object to which \ref stasis_subscriber's may be</span><br><span style="color: hsl(120, 100%, 40%);">+ * A \ref stasis_topic is an object to which stasis_topic_subscriber's may be</span><br><span>  * subscribed, and \ref stasis_message's may be published. Any message published</span><br><span>  * to the topic is dispatched to all of its subscribers. The topic itself may be</span><br><span>  * named, which is useful in debugging.</span><br><span>@@ -106,7 +106,7 @@</span><br><span>  * cache may be shared amongst different message types, such a usage is probably</span><br><span>  * not a good idea.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * The \ref stasis_cache can only be written to by \ref stasis_caching_topics.</span><br><span style="color: hsl(120, 100%, 40%);">+ * The \ref stasis_cache can only be written to by \ref stasis_caching_topic.</span><br><span>  * It's a thread safe container, so freely use the stasis_cache_get() and</span><br><span>  * stasis_cache_dump() to query the cache.</span><br><span>  *</span><br><span>@@ -125,7 +125,7 @@</span><br><span>  * The \ref stasis_cache object is a normal AO2 managed object, which can be</span><br><span>  * release with ao2_cleanup().</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \par stasis_subscriber</span><br><span style="color: hsl(120, 100%, 40%);">+ * \par stasis_topic_subscriber</span><br><span>  *</span><br><span>  * Any topic may be subscribed to by simply providing stasis_subscribe() the</span><br><span>  * \ref stasis_topic to subscribe to, a handler function and \c void pointer to</span><br><span>@@ -247,8 +247,7 @@</span><br><span>   * \param sanitize Snapshot sanitization callback.</span><br><span>    *</span><br><span>    * \return Newly allocated JSON message.</span><br><span style="color: hsl(0, 100%, 40%);">-         * \return \c NULL on error.</span><br><span style="color: hsl(0, 100%, 40%);">-     * \return \c NULL if JSON format is not supported.</span><br><span style="color: hsl(120, 100%, 40%);">+    * \retval NULL if JSON format is not supported.</span><br><span>      */</span><br><span>  struct ast_json *(*to_json)(struct stasis_message *message, const struct stasis_message_sanitizer *sanitize);</span><br><span> </span><br><span>@@ -260,8 +259,7 @@</span><br><span>       *</span><br><span>    * \param message Message to convert to AMI string.</span><br><span>   * \return Newly allocated \ref ast_manager_event_blob.</span><br><span style="color: hsl(0, 100%, 40%);">-  * \return \c NULL on error.</span><br><span style="color: hsl(0, 100%, 40%);">-     * \return \c NULL if AMI format is not supported.</span><br><span style="color: hsl(120, 100%, 40%);">+     * \retval NULL if AMI format is not supported.</span><br><span>       */</span><br><span>  struct ast_manager_event_blob *(*to_ami)(</span><br><span>            struct stasis_message *message);</span><br><span>@@ -275,8 +273,7 @@</span><br><span>        *</span><br><span>    * \param message Message to convert to an \ref ast_event.</span><br><span>    * \return Newly allocated \ref ast_event.</span><br><span style="color: hsl(0, 100%, 40%);">-       * \return \c NULL on error.</span><br><span style="color: hsl(0, 100%, 40%);">-     * \return \c NULL if AMI format is not supported.</span><br><span style="color: hsl(120, 100%, 40%);">+     * \retval NULL if AMI format is not supported.</span><br><span>       */</span><br><span>  struct ast_event *(*to_event)(</span><br><span>               struct stasis_message *message);</span><br><span>@@ -337,7 +334,7 @@</span><br><span>  * \brief Gets the name of a given message type</span><br><span>  * \param type The type to get.</span><br><span>  * \return Name of the type.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if \a type is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if \a type is \c NULL.</span><br><span>  * \since 12</span><br><span>  */</span><br><span> const char *stasis_message_type_name(const struct stasis_message_type *type);</span><br><span>@@ -379,7 +376,7 @@</span><br><span>  * \param data Immutable data that is the actual contents of the message</span><br><span>  *</span><br><span>  * \return New message</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  *</span><br><span>  * \since 12</span><br><span>  */</span><br><span>@@ -404,7 +401,7 @@</span><br><span>  * any remote entities publishing to a mailbox.</span><br><span>  *</span><br><span>  * \retval New message</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  *</span><br><span>  * \since 12.2.0</span><br><span>  */</span><br><span>@@ -417,7 +414,7 @@</span><br><span>  * \param msg Message to get eid.</span><br><span>  *</span><br><span>  * \retval Entity id of \a msg</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL if \a msg is an aggregate or \a msg is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if \a msg is an aggregate or \a msg is \c NULL.</span><br><span>  */</span><br><span> const struct ast_eid *stasis_message_eid(const struct stasis_message *msg);</span><br><span> </span><br><span>@@ -425,7 +422,7 @@</span><br><span>  * \brief Get the message type for a \ref stasis_message.</span><br><span>  * \param msg Message to type</span><br><span>  * \return Type of \a msg</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if \a msg is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if \a msg is \c NULL.</span><br><span>  * \since 12</span><br><span>  */</span><br><span> struct stasis_message_type *stasis_message_type(const struct stasis_message *msg);</span><br><span>@@ -434,7 +431,7 @@</span><br><span>  * \brief Get the data contained in a message.</span><br><span>  * \param msg Message.</span><br><span>  * \return Immutable data pointer</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if msg is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if msg is \c NULL.</span><br><span>  * \since 12</span><br><span>  */</span><br><span> void *stasis_message_data(const struct stasis_message *msg);</span><br><span>@@ -443,7 +440,7 @@</span><br><span>  * \brief Get the time when a message was created.</span><br><span>  * \param msg Message.</span><br><span>  * \return Pointer to the \a timeval when the message was created.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if msg is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if msg is \c NULL.</span><br><span>  * \since 12</span><br><span>  */</span><br><span> const struct timeval *stasis_message_timestamp(const struct stasis_message *msg);</span><br><span>@@ -458,8 +455,7 @@</span><br><span>  * \param sanitize Snapshot sanitization callback.</span><br><span>  *</span><br><span>  * \return Newly allocated string with JSON message.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if JSON format is not supported.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if JSON format is not supported.</span><br><span>  */</span><br><span> struct ast_json *stasis_message_to_json(struct stasis_message *msg, struct stasis_message_sanitizer *sanitize);</span><br><span> </span><br><span>@@ -470,8 +466,7 @@</span><br><span>  * be ao2_cleanup()'ed.</span><br><span>  *</span><br><span>  * \param msg Message to convert to AMI.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if AMI format is not supported.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if AMI format is not supported.</span><br><span>  */</span><br><span> struct ast_manager_event_blob *stasis_message_to_ami(struct stasis_message *msg);</span><br><span> </span><br><span>@@ -492,8 +487,7 @@</span><br><span>  * be disposed of via \ref ast_event_destroy.</span><br><span>  *</span><br><span>  * \param msg Message to convert to AMI.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if AMI format is not supported.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if AMI format is not supported.</span><br><span>  */</span><br><span> struct ast_event *stasis_message_to_event(struct stasis_message *msg);</span><br><span> </span><br><span>@@ -507,7 +501,7 @@</span><br><span>  * \brief Create a new topic.</span><br><span>  * \param name Name of the new topic.</span><br><span>  * \return New topic instance.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  * \since 12</span><br><span>  *</span><br><span>  * \note There is no explicit ability to unsubscribe all subscribers</span><br><span>@@ -515,7 +509,8 @@</span><br><span>  * the last subscriber unsubscribes itself even if there is no</span><br><span>  * publisher.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \note Topic names should be in the form of <subsystem>:<functionality>[/<object>]</span><br><span style="color: hsl(120, 100%, 40%);">+ * \note Topic names should be in the form of</span><br><span style="color: hsl(120, 100%, 40%);">+ * \verbatim <subsystem>:<functionality>[/<object>] \endverbatim</span><br><span>  */</span><br><span> struct stasis_topic *stasis_topic_create(const char *name);</span><br><span> </span><br><span>@@ -524,7 +519,7 @@</span><br><span>  * \param name Name of the new topic.</span><br><span>  * \param detail Detail description of the new topic. i.e. "Queue main topic for subscribing every queue event"</span><br><span>  * \return New topic instance.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  *</span><br><span>  * \note There is no explicit ability to unsubscribe all subscribers</span><br><span>  * from a topic and destroy it. As a result the topic can persist until</span><br><span>@@ -538,7 +533,7 @@</span><br><span>  * \brief Get a topic of the given name.</span><br><span>  * \param name Topic's name.</span><br><span>  * \return Name of the topic.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error or not exist.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error or not exist.</span><br><span>  *</span><br><span>  * \note This SHOULD NOT be used in normal operation for publishing messages.</span><br><span>  */</span><br><span>@@ -548,7 +543,7 @@</span><br><span>  * \brief Return the uniqueid of a topic.</span><br><span>  * \param topic Topic.</span><br><span>  * \return Uniqueid of the topic.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if topic is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if topic is \c NULL.</span><br><span>  */</span><br><span> const char *stasis_topic_uniqueid(const struct stasis_topic *topic);</span><br><span> </span><br><span>@@ -556,7 +551,7 @@</span><br><span>  * \brief Return the name of a topic.</span><br><span>  * \param topic Topic.</span><br><span>  * \return Name of the topic.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if topic is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if topic is \c NULL.</span><br><span>  */</span><br><span> const char *stasis_topic_name(const struct stasis_topic *topic);</span><br><span> </span><br><span>@@ -564,7 +559,7 @@</span><br><span>  * \brief Return the detail of a topic.</span><br><span>  * \param topic Topic.</span><br><span>  * \return Detail of the topic.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if topic is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if topic is \c NULL.</span><br><span>  * \since 12</span><br><span>  */</span><br><span> const char *stasis_topic_detail(const struct stasis_topic *topic);</span><br><span>@@ -598,7 +593,7 @@</span><br><span>  * The caller of stasis_publish_sync will block until the specified</span><br><span>  * subscriber completes handling of the message.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * All other subscribers to the topic the \ref stasis_subpscription</span><br><span style="color: hsl(120, 100%, 40%);">+ * All other subscribers to the topic the \ref stasis_subscription</span><br><span>  * is subscribed to are also delivered the message; this delivery however</span><br><span>  * happens asynchronously.</span><br><span>  *</span><br><span>@@ -609,6 +604,7 @@</span><br><span> /*!</span><br><span>  * \brief Callback function type for Stasis subscriptions.</span><br><span>  * \param data Data field provided with subscription.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param sub Subscription published on.</span><br><span>  * \param message Published message.</span><br><span>  * \since 12</span><br><span>  */</span><br><span>@@ -639,8 +635,9 @@</span><br><span>  * \param topic Topic to subscribe to.</span><br><span>  * \param callback Callback function for subscription messages.</span><br><span>  * \param data Data to be passed to the callback, in addition to the message.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param file, lineno, func</span><br><span>  * \return New \ref stasis_subscription object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  * \since 12</span><br><span>  *</span><br><span>  * \note This callback will receive a callback with a message indicating it</span><br><span>@@ -674,8 +671,9 @@</span><br><span>  * \param topic Topic to subscribe to.</span><br><span>  * \param callback Callback function for subscription messages.</span><br><span>  * \param data Data to be passed to the callback, in addition to the message.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param file, lineno, func</span><br><span>  * \return New \ref stasis_subscription object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  * \since 12.8.0</span><br><span>  *</span><br><span>  * \note This callback will receive a callback with a message indicating it</span><br><span>@@ -778,7 +776,7 @@</span><br><span>  * delivery of the final message.</span><br><span>  *</span><br><span>  * \param subscription Subscription to cancel.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL for convenience</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL for convenience</span><br><span>  * \since 12</span><br><span>  */</span><br><span> struct stasis_subscription *stasis_unsubscribe(</span><br><span>@@ -833,7 +831,7 @@</span><br><span>  * a function in a shared module that no longer exists).</span><br><span>  *</span><br><span>  * \param subscription Subscription to cancel.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL for convenience</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL for convenience</span><br><span>  * \since 12</span><br><span>  */</span><br><span> struct stasis_subscription *stasis_unsubscribe_and_join(</span><br><span>@@ -851,7 +849,7 @@</span><br><span>  * \param from_topic Topic to forward.</span><br><span>  * \param to_topic Destination topic of forwarded messages.</span><br><span>  * \return New forwarding subscription.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  * \since 12</span><br><span>  */</span><br><span> struct stasis_forward *stasis_forward_all(struct stasis_topic *from_topic,</span><br><span>@@ -923,7 +921,7 @@</span><br><span>  * \brief Create a topic pool that routes messages from dynamically generated topics to the given topic</span><br><span>  * \param pooled_topic Topic to which messages will be routed</span><br><span>  * \return the new stasis_topic_pool</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on failure</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on failure</span><br><span>  */</span><br><span> struct stasis_topic_pool *stasis_topic_pool_create(struct stasis_topic *pooled_topic);</span><br><span> </span><br><span>@@ -932,7 +930,7 @@</span><br><span>  * \param pool Pool for which to get the topic</span><br><span>  * \param topic_name Name of the topic to get</span><br><span>  * \return The already stored or newly allocated topic</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if the topic was not found and could not be allocated</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if the topic was not found and could not be allocated</span><br><span>  */</span><br><span> struct stasis_topic *stasis_topic_pool_get_topic(struct stasis_topic_pool *pool, const char *topic_name);</span><br><span> </span><br><span>@@ -941,7 +939,7 @@</span><br><span>  *</span><br><span>  * \param pool Pool from which to delete the topic</span><br><span>  * \param topic_name Name of the topic to delete in the form of</span><br><span style="color: hsl(0, 100%, 40%);">- *                   <pool_topic_name>/<topic_name> or just <topic_name></span><br><span style="color: hsl(120, 100%, 40%);">+ * \verbatim [<pool_topic_name>/]<topic_name> \endverbatim</span><br><span>  *</span><br><span>  * \since 13.24</span><br><span>  * \since 15.6</span><br><span>@@ -1015,7 +1013,7 @@</span><br><span>  *</span><br><span>  * \param message Message to extract id from.</span><br><span>  * \return String representing the snapshot's id.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if the message_type of the message isn't a handled snapshot.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if the message_type of the message isn't a handled snapshot.</span><br><span>  * \since 12</span><br><span>  */</span><br><span> typedef const char *(*snapshot_get_id)(struct stasis_message *message);</span><br><span>@@ -1125,8 +1123,8 @@</span><br><span>  *</span><br><span>  * \param id_fn Callback to extract the id from a snapshot message.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval New cache indexed by \a id_fn.</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return New cache indexed by \a id_fn.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  *</span><br><span>  * \since 12</span><br><span>  */</span><br><span>@@ -1151,8 +1149,8 @@</span><br><span>  * MWI message is the old/new MWI counts accumulated from the local and</span><br><span>  * any remote entities publishing to a mailbox.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval New cache indexed by \a id_fn.</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return New cache indexed by \a id_fn.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  *</span><br><span>  * \since 12.2.0</span><br><span>  */</span><br><span>@@ -1172,7 +1170,7 @@</span><br><span>  * \param cache Backend cache in which to keep snapshots.</span><br><span>  * \return New topic which changes snapshot messages to stasis_cache_update()</span><br><span>  *         messages, and forwards all other messages from the original topic.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  * \since 12</span><br><span>  */</span><br><span> struct stasis_caching_topic *stasis_caching_topic_create(</span><br><span>@@ -1185,7 +1183,7 @@</span><br><span>  * stasis_subscription_final_message() is received.</span><br><span>  *</span><br><span>  * \param caching_topic Caching topic to unsubscribe</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL for convenience</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL for convenience</span><br><span>  * \since 12</span><br><span>  */</span><br><span> struct stasis_caching_topic *stasis_caching_unsubscribe(</span><br><span>@@ -1199,7 +1197,7 @@</span><br><span>  * opposed to stasis_caching_unsubscribe().</span><br><span>  *</span><br><span>  * \param caching_topic Caching topic to unsubscribe</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL for convenience</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL for convenience</span><br><span>  * \since 12</span><br><span>  */</span><br><span> struct stasis_caching_topic *stasis_caching_unsubscribe_and_join(</span><br><span>@@ -1210,7 +1208,7 @@</span><br><span>  * \param caching_topic The caching topic.</span><br><span>  * \return The topic that publishes cache update events, along with passthrough</span><br><span>  *         events from the underlying topic.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if \a caching_topic is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if \a caching_topic is \c NULL.</span><br><span>  * \since 12</span><br><span>  */</span><br><span> struct stasis_topic *stasis_caching_get_topic(</span><br><span>@@ -1261,7 +1259,7 @@</span><br><span>  *</span><br><span>  * \return Message which, when sent to a \ref stasis_caching_topic, will clear</span><br><span>  *         the item from the cache.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  * \since 12</span><br><span>  */</span><br><span> struct stasis_message *stasis_cache_clear_create(struct stasis_message *message);</span><br><span>@@ -1275,8 +1273,8 @@</span><br><span>  * \param type Type of message to retrieve.</span><br><span>  * \param id Identity of the snapshot to retrieve.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Message from the cache.</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL if message is not found.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Message from the cache.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if message is not found.</span><br><span>  *</span><br><span>  * \since 12</span><br><span>  */</span><br><span>@@ -1299,8 +1297,8 @@</span><br><span>  * MWI message is the old/new MWI counts accumulated from the local and</span><br><span>  * any remote entities publishing to a mailbox.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Message from the cache.</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL if message is not found.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Message from the cache.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if message is not found.</span><br><span>  *</span><br><span>  * \since 12.2.0</span><br><span>  */</span><br><span>@@ -1314,8 +1312,8 @@</span><br><span>  * \param type Type of message to retrieve.</span><br><span>  * \param id Identity of the snapshot to retrieve.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Container of matching items found.</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL if error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Container of matching items found.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if error.</span><br><span>  */</span><br><span> struct ao2_container *stasis_cache_get_all(struct stasis_cache *cache, struct stasis_message_type *type, const char *id);</span><br><span> </span><br><span>@@ -1325,8 +1323,8 @@</span><br><span>  * \param cache The cache to query.</span><br><span>  * \param type Type of message to dump (any type if \c NULL).</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval ao2_container containing all matches (must be unreffed by caller)</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL on allocation error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return ao2_container containing all matches (must be unreffed by caller)</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on allocation error</span><br><span>  *</span><br><span>  * \since 12</span><br><span>  */</span><br><span>@@ -1340,8 +1338,8 @@</span><br><span>  * \param type Type of message to dump (any type if \c NULL).</span><br><span>  * \param eid Specific entity id to retrieve.  NULL for aggregate.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval ao2_container containing all matches (must be unreffed by caller)</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL on allocation error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return ao2_container containing all matches (must be unreffed by caller)</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on allocation error</span><br><span>  */</span><br><span> struct ao2_container *stasis_cache_dump_by_eid(struct stasis_cache *cache, struct stasis_message_type *type, const struct ast_eid *eid);</span><br><span> </span><br><span>@@ -1352,8 +1350,8 @@</span><br><span>  * \param cache The cache to query.</span><br><span>  * \param type Type of message to dump (any type if \c NULL).</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval ao2_container containing all matches (must be unreffed by caller)</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL on allocation error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return ao2_container containing all matches (must be unreffed by caller)</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on allocation error</span><br><span>  */</span><br><span> struct ao2_container *stasis_cache_dump_all(struct stasis_cache *cache, struct stasis_message_type *type);</span><br><span> </span><br><span>@@ -1409,8 +1407,6 @@</span><br><span>  * \param multi The multi object blob previously created</span><br><span>  * \param type Type code for the object such as channel, bridge, etc.</span><br><span>  * \param object Snapshot object of the type supplied to typename</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Nothing</span><br><span>  */</span><br><span> void ast_multi_object_blob_add(struct ast_multi_object_blob *multi, enum stasis_user_multi_object_snapshot_type type, void *object);</span><br><span> </span><br><span>@@ -1426,8 +1422,6 @@</span><br><span>  * \param chan The channel to snapshot and publish event to</span><br><span>  * \param type The message type</span><br><span>  * \param blob A json blob to publish with the snapshot</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Nothing</span><br><span>  */</span><br><span> void ast_multi_object_blob_single_channel_publish(struct ast_channel *chan, struct stasis_message_type *type, struct ast_json *blob);</span><br><span> </span><br><span>diff --git a/include/asterisk/stasis_app.h b/include/asterisk/stasis_app.h</span><br><span>index 01c7ff4..99534b8 100644</span><br><span>--- a/include/asterisk/stasis_app.h</span><br><span>+++ b/include/asterisk/stasis_app.h</span><br><span>@@ -71,7 +71,7 @@</span><br><span>  * \brief Gets the names of all registered Stasis applications.</span><br><span>  *</span><br><span>  * \return \c ast_str_container of container names.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct ao2_container *stasis_app_get_all(void);</span><br><span> </span><br><span>@@ -81,7 +81,7 @@</span><br><span>  * \param name The name of the registered Stasis application</span><br><span>  *</span><br><span>  * \return \c stasis_app on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct stasis_app *stasis_app_get_by_name(const char *name);</span><br><span> </span><br><span>@@ -154,7 +154,7 @@</span><br><span>  * \param app The application.</span><br><span>  *</span><br><span>  * \return JSON representation of app with given name.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct ast_json *stasis_app_object_to_json(struct stasis_app *app);</span><br><span> </span><br><span>@@ -164,7 +164,7 @@</span><br><span>  * \param app_name Name of the application.</span><br><span>  *</span><br><span>  * \return JSON representation of app with given name.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct ast_json *stasis_app_to_json(const char *app_name);</span><br><span> </span><br><span>@@ -452,8 +452,6 @@</span><br><span>  * \since 13.9.0</span><br><span>  *</span><br><span>  * \param control Control object to flush command queue.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Nothing</span><br><span>  */</span><br><span> void stasis_app_control_flush_queue(struct stasis_app_control *control);</span><br><span> </span><br><span>@@ -463,7 +461,7 @@</span><br><span>  * \param control Control object.</span><br><span>  *</span><br><span>  * \return Uniqueid of the associate channel.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if \a control is \c NULL.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if \a control is \c NULL.</span><br><span>  */</span><br><span> const char *stasis_app_control_get_channel_id(</span><br><span>      const struct stasis_app_control *control);</span><br><span>@@ -649,7 +647,7 @@</span><br><span>  * \param control Control for \c res_stasis.</span><br><span>  *</span><br><span>  * \return Most recent snapshot. ao2_cleanup() when done.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if channel isn't in cache.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if channel isn't in cache.</span><br><span>  */</span><br><span> struct ast_channel_snapshot *stasis_app_control_get_snapshot(</span><br><span>         const struct stasis_app_control *control);</span><br><span>@@ -690,7 +688,7 @@</span><br><span>  * \param id Optional Unique ID to give to the bridge</span><br><span>  *</span><br><span>  * \return New bridge.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct ast_bridge *stasis_app_bridge_create(const char *type, const char *name, const char *id);</span><br><span> </span><br><span>@@ -702,7 +700,7 @@</span><br><span>  * \param id Optional Unique ID to give to the bridge</span><br><span>  *</span><br><span>  * \return New bridge.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct ast_bridge *stasis_app_bridge_create_invisible(const char *type, const char *name, const char *id);</span><br><span> </span><br><span>@@ -754,6 +752,7 @@</span><br><span>  *</span><br><span>  * \param bridge Bridge we are adding the playback channel for</span><br><span>  * \param chan Channel being added as a playback channel (must be ;1)</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param control The app control structure for the playback channel</span><br><span>  *</span><br><span>  * \retval -1 failed to add channel for any reason</span><br><span>  * \retval 0 on success</span><br><span>@@ -848,7 +847,7 @@</span><br><span>  * \param control Control object for the channel to query.</span><br><span>  *</span><br><span>  * \return Associated \ref ast_bridge.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if not associated with a bridge.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if not associated with a bridge.</span><br><span>  */</span><br><span> struct ast_bridge *stasis_app_get_bridge(struct stasis_app_control *control);</span><br><span> </span><br><span>@@ -856,9 +855,6 @@</span><br><span>  * \brief Destroy the bridge.</span><br><span>  *</span><br><span>  * \param bridge_id Uniqueid of bridge to be destroyed</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval non-zero on failure</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval zero on success</span><br><span>  */</span><br><span> void stasis_app_bridge_destroy(const char *bridge_id);</span><br><span> </span><br><span>@@ -872,7 +868,7 @@</span><br><span> /*!</span><br><span>  * \brief Indicate that this channel has had a StasisEnd published for it</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param The channel that is exiting Stasis.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param chan The channel that is exiting Stasis.</span><br><span>  */</span><br><span> void stasis_app_channel_set_stasis_end_published(struct ast_channel *chan);</span><br><span> </span><br><span>diff --git a/include/asterisk/stasis_app_device_state.h b/include/asterisk/stasis_app_device_state.h</span><br><span>index 2bc521a..e01ac4a 100644</span><br><span>--- a/include/asterisk/stasis_app_device_state.h</span><br><span>+++ b/include/asterisk/stasis_app_device_state.h</span><br><span>@@ -85,7 +85,7 @@</span><br><span>  *</span><br><span>  * \param name the name of the ARI controlled device</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \returna stasis device state application result.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return stasis device state application result.</span><br><span>  */</span><br><span> enum stasis_device_state_result stasis_app_device_state_delete(</span><br><span>       const char *name);</span><br><span>diff --git a/include/asterisk/stasis_app_playback.h b/include/asterisk/stasis_app_playback.h</span><br><span>index ab49b09..716e950 100644</span><br><span>--- a/include/asterisk/stasis_app_playback.h</span><br><span>+++ b/include/asterisk/stasis_app_playback.h</span><br><span>@@ -97,7 +97,7 @@</span><br><span>  * \param offsetms Number of milliseconds to skip before playing.</span><br><span>  * \param id ID to assign the new playback or NULL for default.</span><br><span>  * \return Playback control object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct stasis_app_playback *stasis_app_control_play_uri(</span><br><span>         struct stasis_app_control *control, const char **media,</span><br><span>@@ -119,7 +119,7 @@</span><br><span>  *</span><br><span>  * \param playback Playback control object.</span><br><span>  * \return \a playback's id.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if \a playback ic \c NULL</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if \a playback ic \c NULL</span><br><span>  */</span><br><span> const char *stasis_app_playback_get_id(</span><br><span>      struct stasis_app_playback *playback);</span><br><span>@@ -129,7 +129,7 @@</span><br><span>  *</span><br><span>  * \param id Id of the playback object to find.</span><br><span>  * \return Associated \ref stasis_app_playback object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if \a id not found.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if \a id not found.</span><br><span>  */</span><br><span> struct stasis_app_playback *stasis_app_playback_find_by_id(const char *id);</span><br><span> </span><br><span>@@ -138,8 +138,8 @@</span><br><span>  *</span><br><span>  * \param playback The playback object to convert to JSON</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL on error</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A JSON object on success</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A JSON object on success</span><br><span>  */</span><br><span> struct ast_json *stasis_app_playback_to_json(</span><br><span>     const struct stasis_app_playback *playback);</span><br><span>@@ -153,8 +153,8 @@</span><br><span>  * \brief Controls the media for a given playback operation.</span><br><span>  *</span><br><span>  * \param playback Playback control object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param control Media control operation.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c STASIS_PLAYBACK_OPER_OK on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param operation Media control operation.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval STASIS_PLAYBACK_OPER_OK on success.</span><br><span>  * \return \ref stasis_playback_oper_results indicating failure.</span><br><span>  */</span><br><span> enum stasis_playback_oper_results stasis_app_playback_operation(</span><br><span>diff --git a/include/asterisk/stasis_app_recording.h b/include/asterisk/stasis_app_recording.h</span><br><span>index bded306..1796095 100644</span><br><span>--- a/include/asterisk/stasis_app_recording.h</span><br><span>+++ b/include/asterisk/stasis_app_recording.h</span><br><span>@@ -43,7 +43,7 @@</span><br><span>  *</span><br><span>  * \param recording Recording to query.</span><br><span>  * \return Absolute path to the recording file, without the extension.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> const char *stasis_app_stored_recording_get_file(</span><br><span>   struct stasis_app_stored_recording *recording);</span><br><span>@@ -55,7 +55,7 @@</span><br><span>  * \param recording Recording to query.</span><br><span>  *</span><br><span>  * \return Absolute path to the recording file, with the extension.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  */</span><br><span> const char *stasis_app_stored_recording_get_filename(</span><br><span>     struct stasis_app_stored_recording *recording);</span><br><span>@@ -67,7 +67,7 @@</span><br><span>  * \param recording Recording to query.</span><br><span>  *</span><br><span>  * \return The extension associated with this recording.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  */</span><br><span> const char *stasis_app_stored_recording_get_extension(</span><br><span>       struct stasis_app_stored_recording *recording);</span><br><span>@@ -77,7 +77,7 @@</span><br><span>  *</span><br><span>  * \param recording Recording to convert.</span><br><span>  * \return JSON representation.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct ast_json *stasis_app_stored_recording_to_json(</span><br><span>     struct stasis_app_stored_recording *recording);</span><br><span>@@ -86,7 +86,7 @@</span><br><span>  * \brief Find all stored recordings on disk.</span><br><span>  *</span><br><span>  * \return Container of \ref stasis_app_stored_recording objects.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct ao2_container *stasis_app_stored_recording_find_all(void);</span><br><span> </span><br><span>@@ -95,7 +95,7 @@</span><br><span>  *</span><br><span>  * \param name Name of the recording.</span><br><span>  * \return New recording object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if recording is not found. \c errno is set to indicate why</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if recording is not found. \c errno is set to indicate why</span><br><span>  *    - \c ENOMEM - out of memeory</span><br><span>  *      - \c EACCES - file permissions (or recording is outside the config dir)</span><br><span>  *   - Any of the error codes for stat(), opendir(), readdir()</span><br><span>@@ -202,7 +202,7 @@</span><br><span>  * \param name Name of the recording.</span><br><span>  * \param format Format to record in.</span><br><span>  * \return Newly allocated options object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct stasis_app_recording_options *stasis_app_recording_options_create(</span><br><span>   const char *name, const char *format);</span><br><span>@@ -212,9 +212,9 @@</span><br><span>  *</span><br><span>  * \param str String to parse.</span><br><span>  * \return DTMF value to terminate on.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c STASIS_APP_RECORDING_TERMINATE_NONE to not terminate on DTMF.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c STASIS_APP_RECORDING_TERMINATE_ANY to terminate on any DTMF.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c STASIS_APP_RECORDING_TERMINATE_INVALID if input was invalid.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval STASIS_APP_RECORDING_TERMINATE_NONE to not terminate on DTMF.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval STASIS_APP_RECORDING_TERMINATE_ANY to terminate on any DTMF.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval STASIS_APP_RECORDING_TERMINATE_INVALID if input was invalid.</span><br><span>  */</span><br><span> char stasis_app_recording_termination_parse(const char *str);</span><br><span> </span><br><span>@@ -242,7 +242,7 @@</span><br><span>  * \param control Control for \c res_stasis.</span><br><span>  * \param options Recording options.</span><br><span>  * \return Recording control object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct stasis_app_recording *stasis_app_control_record(</span><br><span>         struct stasis_app_control *control,</span><br><span>@@ -262,7 +262,7 @@</span><br><span>  *</span><br><span>  * \param recording Recording control object.</span><br><span>  * \return \a recording's name.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if \a recording ic \c NULL</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if \a recording ic \c NULL</span><br><span>  */</span><br><span> const char *stasis_app_recording_get_name(</span><br><span>        struct stasis_app_recording *recording);</span><br><span>@@ -272,7 +272,7 @@</span><br><span>  *</span><br><span>  * \param name Name of the recording object to find.</span><br><span>  * \return Associated \ref stasis_app_recording object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if \a name not found.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if \a name not found.</span><br><span>  */</span><br><span> struct stasis_app_recording *stasis_app_recording_find_by_name(const char *name);</span><br><span> </span><br><span>@@ -281,7 +281,7 @@</span><br><span>  *</span><br><span>  * \param recording Recording to conver.</span><br><span>  * \return JSON model.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct ast_json *stasis_app_recording_to_json(</span><br><span>     const struct stasis_app_recording *recording);</span><br><span>@@ -302,8 +302,8 @@</span><br><span>  * \brief Controls the media for a given recording operation.</span><br><span>  *</span><br><span>  * \param recording Recording control object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param control Media control operation.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c STASIS_APP_RECORDING_OPER_OK on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param operation Media control operation.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval STASIS_APP_RECORDING_OPER_OK on success.</span><br><span>  * \return \ref stasis_app_recording_oper_results indicating failure.</span><br><span>  */</span><br><span> enum stasis_app_recording_oper_results stasis_app_recording_operation(</span><br><span>diff --git a/include/asterisk/stasis_app_snoop.h b/include/asterisk/stasis_app_snoop.h</span><br><span>index c261a88..c9dc933 100644</span><br><span>--- a/include/asterisk/stasis_app_snoop.h</span><br><span>+++ b/include/asterisk/stasis_app_snoop.h</span><br><span>@@ -50,8 +50,9 @@</span><br><span>  * \param whisper Direction of media that should be whispered into.</span><br><span>  * \param app Stasis application to execute on the snoop channel.</span><br><span>  * \param app_args Stasis application arguments.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Snoop channel. ast_channel_unref() when done.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL if snoop channel couldn't be created.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param snoop_id</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return ast_channel ast_channel_unref() when done.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if snoop channel couldn't be created.</span><br><span>  */</span><br><span> struct ast_channel *stasis_app_control_snoop(struct ast_channel *chan,</span><br><span>    enum stasis_app_snoop_direction spy, enum stasis_app_snoop_direction whisper,</span><br><span>diff --git a/include/asterisk/stasis_bridges.h b/include/asterisk/stasis_bridges.h</span><br><span>index 2c90ddf..5ab1112 100644</span><br><span>--- a/include/asterisk/stasis_bridges.h</span><br><span>+++ b/include/asterisk/stasis_bridges.h</span><br><span>@@ -75,7 +75,7 @@</span><br><span>  *</span><br><span>  * \param bridge The bridge from which to generate a snapshot</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval AO2 refcounted snapshot on success</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return AO2 refcounted snapshot on success</span><br><span>  * \retval NULL on error</span><br><span>  */</span><br><span> struct ast_bridge_snapshot *ast_bridge_snapshot_create(struct ast_bridge *bridge);</span><br><span>@@ -84,7 +84,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for \ref ast_bridge_snapshot.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Message type for \ref ast_bridge_snapshot.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Message type for \ref ast_bridge_snapshot.</span><br><span>  */</span><br><span> struct stasis_message_type *ast_bridge_snapshot_type(void);</span><br><span> </span><br><span>@@ -96,7 +96,7 @@</span><br><span>  *</span><br><span>  * \param bridge Bridge for which to get a topic or \c NULL.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Topic for bridge's events.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Topic for bridge's events.</span><br><span>  * \retval ast_bridge_topic_all() if \a bridge is \c NULL.</span><br><span>  */</span><br><span> struct stasis_topic *ast_bridge_topic(struct ast_bridge *bridge);</span><br><span>@@ -120,7 +120,7 @@</span><br><span> /*!</span><br><span>  * \since 12</span><br><span>  * \brief A topic which publishes the events for all bridges.</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Topic for all bridge events.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Topic for all bridge events.</span><br><span>  */</span><br><span> struct stasis_topic *ast_bridge_topic_all(void);</span><br><span> </span><br><span>@@ -160,7 +160,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for \ref ast_bridge_merge_message.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Message type for \ref ast_bridge_merge_message.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Message type for \ref ast_bridge_merge_message.</span><br><span>  */</span><br><span> struct stasis_message_type *ast_bridge_merge_message_type(void);</span><br><span> </span><br><span>@@ -193,17 +193,17 @@</span><br><span> </span><br><span> /*!</span><br><span>  * \since 12</span><br><span style="color: hsl(0, 100%, 40%);">- * \brief Message type for \ref channel enter bridge blob messages.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \brief Message type for \ref ast_channel enter bridge blob messages.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Message type for \ref channel enter bridge blob messages.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Message type for \ref ast_channel enter bridge blob messages.</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_entered_bridge_type(void);</span><br><span> </span><br><span> /*!</span><br><span>  * \since 12</span><br><span style="color: hsl(0, 100%, 40%);">- * \brief Message type for \ref channel leave bridge blob messages.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \brief Message type for \ref ast_channel leave bridge blob messages.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Message type for \ref channel leave bridge blob messages.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Message type for \ref ast_channel leave bridge blob messages.</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_left_bridge_type(void);</span><br><span> </span><br><span>@@ -218,10 +218,12 @@</span><br><span>  * \pre bridge is locked.</span><br><span>  * \pre No channels are locked.</span><br><span>  *</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param type</span><br><span>  * \param bridge Channel blob is associated with, or NULL for global/all bridges.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param chan The channel that started the bridge</span><br><span>  * \param blob JSON object representing the data.</span><br><span>  * \return \ref ast_bridge_blob message.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  */</span><br><span> struct stasis_message *ast_bridge_blob_create(struct stasis_message_type *type,</span><br><span>        struct ast_bridge *bridge,</span><br><span>@@ -240,11 +242,12 @@</span><br><span>  * \pre bridge is locked.</span><br><span>  * \pre No channels are locked.</span><br><span>  *</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param type</span><br><span>  * \param bridge_snapshot Bridge snapshot</span><br><span style="color: hsl(0, 100%, 40%);">- * \param channel_snapshot Channel snapshot</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param chan_snapshot Channel snapshot</span><br><span>  * \param blob JSON object representing the data.</span><br><span>  * \return \ref ast_bridge_blob message.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  */</span><br><span> struct stasis_message *ast_bridge_blob_create_from_snapshots(struct stasis_message_type *type,</span><br><span>    struct ast_bridge_snapshot *bridge_snapshot,</span><br><span>@@ -284,7 +287,7 @@</span><br><span>  * \param sanitize The message sanitizer to use on the snapshot</span><br><span>  *</span><br><span>  * \return JSON object representing bridge snapshot.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  */</span><br><span> struct ast_json *ast_bridge_snapshot_to_json(const struct ast_bridge_snapshot *snapshot,</span><br><span>  const struct stasis_message_sanitizer *sanitize);</span><br><span>@@ -301,7 +304,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for \ref ast_blind_transfer_message.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Message type for \ref ast_blind_transfer_message.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Message type for \ref ast_blind_transfer_message.</span><br><span>  */</span><br><span> struct stasis_message_type *ast_blind_transfer_type(void);</span><br><span> </span><br><span>@@ -332,9 +335,8 @@</span><br><span>  *</span><br><span>  * \param is_external Whether the blind transfer was initiated externally (e.g. via AMI or native protocol)</span><br><span>  * \param transferer The transferer's channel that is bridged to the transferee</span><br><span style="color: hsl(0, 100%, 40%);">- * \param bridge The bridge the transferer and transferee are in</span><br><span style="color: hsl(0, 100%, 40%);">- * \param context The destination context for the blind transfer</span><br><span>  * \param exten The destination extension for the blind transfer</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param context The destination context for the blind transfer</span><br><span>  *</span><br><span>  * \retval NULL Failure to allocate or create snapshots</span><br><span>  * \retval non-NULL The created blind transfer message</span><br><span>@@ -347,16 +349,7 @@</span><br><span>  *</span><br><span>  * \pre Bridges involved are locked. Channels involved are not locked.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param is_external Whether the blind transfer was initiated externally (e.g. via AMI or native protocol)</span><br><span style="color: hsl(0, 100%, 40%);">- * \param result The success or failure of the transfer</span><br><span style="color: hsl(0, 100%, 40%);">- * \param to_transferee The bridge between the transferer and transferee plus the transferer channel</span><br><span style="color: hsl(0, 100%, 40%);">- * \param context The destination context for the blind transfer</span><br><span style="color: hsl(0, 100%, 40%);">- * \param exten The destination extension for the blind transfer</span><br><span style="color: hsl(0, 100%, 40%);">- * \param transferee_channel If a single channel is being transferred, this is it. If</span><br><span style="color: hsl(0, 100%, 40%);">- *                           multiple parties are being transferred, this is NULL.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param replace_channel If multiple parties are being transferred or the transfer</span><br><span style="color: hsl(0, 100%, 40%);">- *                        cannot reach across the bridge due to bridge flags, this is</span><br><span style="color: hsl(0, 100%, 40%);">- *                        the channel connecting their bridge to the destination.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param transfer_message</span><br><span>  */</span><br><span> void ast_bridge_publish_blind_transfer(struct ast_blind_transfer_message *transfer_message);</span><br><span> </span><br><span>@@ -529,8 +522,8 @@</span><br><span> /*!</span><br><span>  * \internal</span><br><span>  * \brief Initialize the topics for a single bridge.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error.</span><br><span>  */</span><br><span> int bridge_topics_init(struct ast_bridge *bridge);</span><br><span> </span><br><span>diff --git a/include/asterisk/stasis_channels.h b/include/asterisk/stasis_channels.h</span><br><span>index f0e5e47..0905dc5 100644</span><br><span>--- a/include/asterisk/stasis_channels.h</span><br><span>+++ b/include/asterisk/stasis_channels.h</span><br><span>@@ -99,7 +99,7 @@</span><br><span> /*!</span><br><span>  * \since 12</span><br><span>  * \brief A topic which publishes the events for all channels.</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Topic for all channel events.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Topic for all channel events.</span><br><span>  */</span><br><span> struct stasis_topic *ast_channel_topic_all(void);</span><br><span> </span><br><span>@@ -116,7 +116,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Primary channel cache, indexed by Uniqueid.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Cache of \ref ast_channel_snapshot.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Cache of \ref ast_channel_snapshot.</span><br><span>  */</span><br><span> struct stasis_cache *ast_channel_cache(void);</span><br><span> </span><br><span>@@ -145,7 +145,7 @@</span><br><span>  *</span><br><span>  * \param chan The channel from which to generate a snapshot</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval pointer on success (must be unreffed)</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return pointer on success (must be unreffed)</span><br><span>  * \retval NULL on error</span><br><span>  */</span><br><span> struct ast_channel_snapshot *ast_channel_snapshot_create(</span><br><span>@@ -156,9 +156,9 @@</span><br><span>  * \brief Obtain the latest \ref ast_channel_snapshot from the \ref stasis cache. This is</span><br><span>  * an ao2 object, so use \ref ao2_cleanup() to deallocate.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param unique_id The channel's unique ID</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param uniqueid The channel's unique ID</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A \ref ast_channel_snapshot on success</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A \ref ast_channel_snapshot on success</span><br><span>  * \retval NULL on error</span><br><span>  */</span><br><span> struct ast_channel_snapshot *ast_channel_snapshot_get_latest(const char *uniqueid);</span><br><span>@@ -170,7 +170,7 @@</span><br><span>  *</span><br><span>  * \param name The channel's name</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A \ref ast_channel_snapshot on success</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A \ref ast_channel_snapshot on success</span><br><span>  * \retval NULL on error</span><br><span>  */</span><br><span> struct ast_channel_snapshot *ast_channel_snapshot_get_latest_by_name(const char *name);</span><br><span>@@ -190,7 +190,7 @@</span><br><span>  *             \c NULL, ast_json_null() is put into the object.</span><br><span>  *</span><br><span>  * \return \ref ast_channel_blob message.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  */</span><br><span> struct stasis_message *ast_channel_blob_create(struct ast_channel *chan,</span><br><span>   struct stasis_message_type *type, struct ast_json *blob);</span><br><span>@@ -206,7 +206,7 @@</span><br><span>  *             \c NULL, ast_json_null() is put into the object.</span><br><span>  *</span><br><span>  * \return \ref ast_channel_blob message.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  */</span><br><span> struct stasis_message *ast_channel_blob_create_from_cache(</span><br><span>      const char *uniqueid, struct stasis_message_type *type,</span><br><span>@@ -222,7 +222,7 @@</span><br><span>  * \param blob The JSON blob that defines the data of this \ref ast_multi_channel_blob</span><br><span>  *</span><br><span>  * \return \ref ast_multi_channel_blob object</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span> */</span><br><span> struct ast_multi_channel_blob *ast_multi_channel_blob_create(struct ast_json *blob);</span><br><span> </span><br><span>@@ -239,7 +239,7 @@</span><br><span>  * to retrieve</span><br><span>  * \param role The role associated with the channel snapshot</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \ref ast_channel_snapshot matching the role on success</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return \ref ast_channel_snapshot matching the role on success</span><br><span>  * \retval NULL on error or not found for the role specified</span><br><span>  */</span><br><span> struct ast_channel_snapshot *ast_multi_channel_blob_get_channel(</span><br><span>@@ -260,7 +260,7 @@</span><br><span>  * retrieve</span><br><span>  * \param role The role associated with the channel snapshots</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A container containing all \ref ast_channel_snapshot objects matching</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A container containing all \ref ast_channel_snapshot objects matching</span><br><span>  * the role on success.</span><br><span>  * \retval NULL on error or not found for the role specified</span><br><span>  */</span><br><span>@@ -274,7 +274,7 @@</span><br><span>  *</span><br><span>  * \param obj Channel blob object.</span><br><span>  * \return Type field value from the blob.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct ast_json *ast_multi_channel_blob_get_json(struct ast_multi_channel_blob *obj);</span><br><span> </span><br><span>@@ -302,8 +302,6 @@</span><br><span>  * \param chan Channel publishing the blob.</span><br><span>  * \param type Type of stasis message.</span><br><span>  * \param blob The blob being published. (NULL if no blob)</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Nothing</span><br><span>  */</span><br><span> void ast_channel_publish_blob(struct ast_channel *chan, struct stasis_message_type *type,</span><br><span>   struct ast_json *blob);</span><br><span>@@ -319,8 +317,6 @@</span><br><span>  * \note As this only accesses the uniqueid and topic of the channel - neither of</span><br><span>  * which should ever be changed on a channel anyhow - a channel does not have to</span><br><span>  * be locked when calling this function.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Nothing</span><br><span>  */</span><br><span> void ast_channel_publish_cached_blob(struct ast_channel *chan, struct stasis_message_type *type,</span><br><span>    struct ast_json *blob);</span><br><span>@@ -357,7 +353,7 @@</span><br><span> </span><br><span> /*!</span><br><span>  * \since 12</span><br><span style="color: hsl(0, 100%, 40%);">- * \brief Publish a \ref ast_channel_varset for a channel.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \brief Publish a \ref ast_channel_publish_varset for a channel.</span><br><span>  *</span><br><span>  * \pre chan is locked</span><br><span>  *</span><br><span>@@ -372,7 +368,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for when a channel dials another channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_dial_type(void);</span><br><span> </span><br><span>@@ -380,7 +376,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for when a variable is set on a channel.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_varset_type(void);</span><br><span> </span><br><span>@@ -388,7 +384,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for when a hangup is requested on a channel.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_hangup_request_type(void);</span><br><span> </span><br><span>@@ -396,7 +392,7 @@</span><br><span>  * \since 16</span><br><span>  * \brief Message type for when a channel is being masqueraded</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_masquerade_type(void);</span><br><span> </span><br><span>@@ -404,7 +400,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for when DTMF begins on a channel.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_dtmf_begin_type(void);</span><br><span> </span><br><span>@@ -412,14 +408,14 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for when DTMF ends on a channel.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_dtmf_end_type(void);</span><br><span> </span><br><span> /*!</span><br><span>  * \brief Message type for when a hook flash occurs on a channel.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_flash_type(void);</span><br><span> </span><br><span>@@ -427,7 +423,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for when a channel is placed on hold.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_hold_type(void);</span><br><span> </span><br><span>@@ -435,7 +431,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for when a channel is removed from hold.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_unhold_type(void);</span><br><span> </span><br><span>@@ -443,7 +439,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for when a channel starts spying on another channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_chanspy_start_type(void);</span><br><span> </span><br><span>@@ -451,7 +447,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for when a channel stops spying on another channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_chanspy_stop_type(void);</span><br><span> </span><br><span>@@ -459,7 +455,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for a fax operation</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_fax_type(void);</span><br><span> </span><br><span>@@ -467,7 +463,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for hangup handler related actions</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_hangup_handler_type(void);</span><br><span> </span><br><span>@@ -475,7 +471,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for starting monitor on a channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_monitor_start_type(void);</span><br><span> </span><br><span>@@ -483,7 +479,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for stopping monitor on a channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_monitor_stop_type(void);</span><br><span> </span><br><span>@@ -491,7 +487,7 @@</span><br><span>  * \since 18</span><br><span>  * \brief Message type for starting mixmonitor on a channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_mixmonitor_start_type(void);</span><br><span> </span><br><span>@@ -499,7 +495,7 @@</span><br><span>  * \since 18</span><br><span>  * \brief Message type for stopping mixmonitor on a channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_mixmonitor_stop_type(void);</span><br><span> </span><br><span>@@ -507,7 +503,7 @@</span><br><span>  * \since 18</span><br><span>  * \brief Message type for muting or unmuting mixmonitor on a channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_mixmonitor_mute_type(void);</span><br><span> </span><br><span>@@ -515,7 +511,7 @@</span><br><span>  * \since 18.0.0</span><br><span>  * \brief Message type for agent login on a channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_agent_login_type(void);</span><br><span> </span><br><span>@@ -523,7 +519,7 @@</span><br><span>  * \since 12.0.0</span><br><span>  * \brief Message type for agent logoff on a channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_agent_logoff_type(void);</span><br><span> </span><br><span>@@ -531,7 +527,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for starting music on hold on a channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_moh_start_type(void);</span><br><span> </span><br><span>@@ -539,7 +535,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief Message type for stopping music on hold on a channel</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_moh_stop_type(void);</span><br><span> </span><br><span>@@ -547,7 +543,7 @@</span><br><span>  * \since 12.4.0</span><br><span>  * \brief Message type for a channel starting talking</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_talking_start(void);</span><br><span> </span><br><span>@@ -555,7 +551,7 @@</span><br><span>  * \since 12.4.0</span><br><span>  * \brief Message type for a channel stopping talking</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval A stasis message type</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A stasis message type</span><br><span>  */</span><br><span> struct stasis_message_type *ast_channel_talking_stop(void);</span><br><span> </span><br><span>@@ -616,7 +612,7 @@</span><br><span>  * \param sanitize The message sanitizer to use on the snapshot</span><br><span>  *</span><br><span>  * \return JSON object representing channel snapshot.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  */</span><br><span> struct ast_json *ast_channel_snapshot_to_json(const struct ast_channel_snapshot *snapshot,</span><br><span>        const struct stasis_message_sanitizer *sanitize);</span><br><span>@@ -628,8 +624,8 @@</span><br><span>  * \param old_snapshot Old snapshot</span><br><span>  * \param new_snapshot New snapshot</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return True (non-zero) if context, exten or priority are identical.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return False (zero) if context, exten and priority changed.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if context, exten or priority are identical.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) if context, exten and priority changed.</span><br><span>  */</span><br><span> int ast_channel_snapshot_cep_equal(</span><br><span>    const struct ast_channel_snapshot *old_snapshot,</span><br><span>@@ -642,8 +638,8 @@</span><br><span>  * \param old_snapshot Old snapshot</span><br><span>  * \param new_snapshot New snapshot</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return True (non-zero) if callerid are identical.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return False (zero) if callerid changed.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if callerid are identical.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) if callerid changed.</span><br><span>  */</span><br><span> int ast_channel_snapshot_caller_id_equal(</span><br><span>         const struct ast_channel_snapshot *old_snapshot,</span><br><span>@@ -656,8 +652,8 @@</span><br><span>  * \param old_snapshot Old snapshot</span><br><span>  * \param new_snapshot New snapshot</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return True (non-zero) if callerid are identical.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return False (zero) if callerid changed.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if callerid are identical.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) if callerid changed.</span><br><span>  */</span><br><span> int ast_channel_snapshot_connected_line_equal(</span><br><span>    const struct ast_channel_snapshot *old_snapshot,</span><br><span>@@ -665,8 +661,8 @@</span><br><span> </span><br><span> /*!</span><br><span>  * \brief Initialize the stasis channel topic and message types</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error</span><br><span>  */</span><br><span> int ast_stasis_channels_init(void);</span><br><span> </span><br><span>diff --git a/include/asterisk/stasis_internal.h b/include/asterisk/stasis_internal.h</span><br><span>index b3e56f1..2495fc0 100644</span><br><span>--- a/include/asterisk/stasis_internal.h</span><br><span>+++ b/include/asterisk/stasis_internal.h</span><br><span>@@ -56,6 +56,7 @@</span><br><span>  *  subscriptions without mailboxes will be delivered on the publisher thread.</span><br><span>  * \param use_thread_pool Use the thread pool for the subscription. This is only</span><br><span>  *  relevant if \c needs_mailbox is non-zero.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param file, lineno, func</span><br><span>  * \return New \ref stasis_subscription object.</span><br><span>  * \return \c NULL on error.</span><br><span>  * \since 12</span><br><span>diff --git a/include/asterisk/stasis_message_router.h b/include/asterisk/stasis_message_router.h</span><br><span>index f30d63c..515cac9 100644</span><br><span>--- a/include/asterisk/stasis_message_router.h</span><br><span>+++ b/include/asterisk/stasis_message_router.h</span><br><span>@@ -51,18 +51,18 @@</span><br><span>  * \param topic Topic to subscribe route to.</span><br><span>  *</span><br><span>  * \return New \ref stasis_message_router.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  *</span><br><span>  * \since 12</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-struct stasis_message_router *__stasis_message_router_create(</span><br><span style="color: hsl(0, 100%, 40%);">-       struct stasis_topic *topic, const char *file, int lineno, const char *func);</span><br><span> #ifdef AST_DEVMODE</span><br><span> #define stasis_message_router_create(topic) __stasis_message_router_create(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)</span><br><span> #else</span><br><span> struct stasis_message_router *stasis_message_router_create(</span><br><span>     struct stasis_topic *topic);</span><br><span> #endif</span><br><span style="color: hsl(120, 100%, 40%);">+struct stasis_message_router *__stasis_message_router_create(</span><br><span style="color: hsl(120, 100%, 40%);">+ struct stasis_topic *topic, const char *file, int lineno, const char *func);</span><br><span> </span><br><span> /*!</span><br><span>  * \brief Create a new message router object.</span><br><span>@@ -73,18 +73,18 @@</span><br><span>  * \param topic Topic to subscribe route to.</span><br><span>  *</span><br><span>  * \return New \ref stasis_message_router.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  *</span><br><span>  * \since 12.8.0</span><br><span>  */</span><br><span style="color: hsl(0, 100%, 40%);">-struct stasis_message_router *__stasis_message_router_create_pool(</span><br><span style="color: hsl(0, 100%, 40%);">-    struct stasis_topic *topic, const char *file, int lineno, const char *func);</span><br><span> #ifdef AST_DEVMODE</span><br><span> #define stasis_message_router_create_pool(topic) __stasis_message_router_create_pool(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)</span><br><span> #else</span><br><span> struct stasis_message_router *stasis_message_router_create_pool(</span><br><span>      struct stasis_topic *topic);</span><br><span> #endif</span><br><span style="color: hsl(120, 100%, 40%);">+struct stasis_message_router *__stasis_message_router_create_pool(</span><br><span style="color: hsl(120, 100%, 40%);">+    struct stasis_topic *topic, const char *file, int lineno, const char *func);</span><br><span> </span><br><span> /*!</span><br><span>  * \brief Unsubscribe the router from the upstream topic.</span><br><span>@@ -114,9 +114,9 @@</span><br><span>  *</span><br><span>  * \param router Router.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return True (non-zero) if stasis_subscription_final_message() has been</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if stasis_subscription_final_message() has been</span><br><span>  *         received.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return False (zero) if waiting for the end.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) if waiting for the end.</span><br><span>  */</span><br><span> int stasis_message_router_is_done(struct stasis_message_router *router);</span><br><span> </span><br><span>diff --git a/include/asterisk/stasis_system.h b/include/asterisk/stasis_system.h</span><br><span>index 5595906..81e1403 100644</span><br><span>--- a/include/asterisk/stasis_system.h</span><br><span>+++ b/include/asterisk/stasis_system.h</span><br><span>@@ -37,7 +37,7 @@</span><br><span>  * \since 12</span><br><span>  * \brief A \ref stasis topic which publishes messages regarding system changes</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \ref stasis_topic for system level changes</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return \ref stasis_topic for system level changes</span><br><span>  * \retval NULL on error</span><br><span>  */</span><br><span> struct stasis_topic *ast_system_topic(void);</span><br><span>@@ -47,7 +47,7 @@</span><br><span>  * \brief A \ref stasis_message_type for network changes</span><br><span>  *</span><br><span>  * \retval NULL on error</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \ref stasis_message_type for network changes</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return \ref stasis_message_type for network changes</span><br><span>  *</span><br><span>  * \note Messages of this type should always be issued on and expected from</span><br><span>  *       the \ref ast_system_topic \ref stasis topic</span><br><span>diff --git a/include/asterisk/stasis_test.h b/include/asterisk/stasis_test.h</span><br><span>index d9df1c9..42c169b 100644</span><br><span>--- a/include/asterisk/stasis_test.h</span><br><span>+++ b/include/asterisk/stasis_test.h</span><br><span>@@ -101,6 +101,7 @@</span><br><span>  * \param start Index of message to start with.</span><br><span>  * \param cmp_cb comparison function. This returns true (non-zero) on match</span><br><span>  *               and false (zero) on match.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param data</span><br><span>  * \param timeout_millis Number of milliseconds to wait.</span><br><span>  * \return Index of the matching message.</span><br><span>  * \return Negative for no match.</span><br><span>diff --git a/main/stasis.c b/main/stasis.c</span><br><span>index 498c3f6..6dba7b6 100644</span><br><span>--- a/main/stasis.c</span><br><span>+++ b/main/stasis.c</span><br><span>@@ -250,8 +250,8 @@</span><br><span>  * The destructors of both have assertions regarding this to catch ref-counting</span><br><span>  * problems where a subscription or topic has had an extra ao2_cleanup().</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * The \ref dispatch object is a transient object, which is posted to a</span><br><span style="color: hsl(0, 100%, 40%);">- * subscription's taskprocessor to send a message to the subscriber. They have</span><br><span style="color: hsl(120, 100%, 40%);">+ * The \ref dispatch_exec_sync object is a transient object, which is posted to</span><br><span style="color: hsl(120, 100%, 40%);">+ * a subscription's taskprocessor to send a message to the subscriber. They have</span><br><span>  * short life cycles, allocated on one thread, destroyed on another.</span><br><span>  *</span><br><span>  * During shutdown, or the deletion of a domain object, there are a flurry of</span><br><span>@@ -750,7 +750,6 @@</span><br><span> /*!</span><br><span>  * \brief Invoke the subscription's callback.</span><br><span>  * \param sub Subscription to invoke.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param topic Topic message was published to.</span><br><span>  * \param message Message to send.</span><br><span>  */</span><br><span> static void subscription_invoke(struct stasis_subscription *sub,</span><br><span>diff --git a/main/stasis_bridges.c b/main/stasis_bridges.c</span><br><span>index 65c0b6d..afb8c49 100644</span><br><span>--- a/main/stasis_bridges.c</span><br><span>+++ b/main/stasis_bridges.c</span><br><span>@@ -694,7 +694,7 @@</span><br><span>  * \internal</span><br><span>  * \brief Allocate the fields of an \ref ast_bridge_channel_snapshot_pair.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param pair A bridge and channel to get snapshots of</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param channel, bridge A bridge and channel to get snapshots of</span><br><span>  * \param[out] snapshot_pair An allocated snapshot pair.</span><br><span>  * \retval 0 Success</span><br><span>  * \retval non-zero Failure</span><br><span>diff --git a/main/stasis_cache.c b/main/stasis_cache.c</span><br><span>index 9c8f8e7..55a3647 100644</span><br><span>--- a/main/stasis_cache.c</span><br><span>+++ b/main/stasis_cache.c</span><br><span>@@ -390,7 +390,7 @@</span><br><span>  *</span><br><span>  * \note The entries container is already locked.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Cache-entry on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Cache-entry on success.</span><br><span>  * \retval NULL Not in cache.</span><br><span>  */</span><br><span> static struct stasis_cache_entry *cache_find(struct ao2_container *entries, struct stasis_message_type *type, const char *id)</span><br><span>@@ -625,8 +625,8 @@</span><br><span>  *</span><br><span>  * \note The returned snapshot has not had its reference bumped.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval Snapshot from the cache.</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval \c NULL if snapshot is not found.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return Snapshot from the cache.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL if snapshot is not found.</span><br><span>  */</span><br><span> static struct stasis_message *cache_entry_by_eid(const struct stasis_cache_entry *entry, const struct ast_eid *eid)</span><br><span> {</span><br><span>diff --git a/res/res_stasis_snoop.c b/res/res_stasis_snoop.c</span><br><span>index 7e87611..190ee06 100644</span><br><span>--- a/res/res_stasis_snoop.c</span><br><span>+++ b/res/res_stasis_snoop.c</span><br><span>@@ -107,7 +107,7 @@</span><br><span> /*! \internal</span><br><span>  * \brief Publish the chanspy message over Stasis-Core</span><br><span>  * \param snoop The snoop structure</span><br><span style="color: hsl(0, 100%, 40%);">- * \start start If non-zero, the spying is starting. Otherwise, the spyer is</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param start If non-zero, the spying is starting. Otherwise, the spyer is</span><br><span>  * finishing</span><br><span>  */</span><br><span> static void publish_chanspy_message(struct stasis_app_snoop *snoop, int start)</span><br><span>diff --git a/res/stasis/app.c b/res/stasis/app.c</span><br><span>index dff04b6..1791131 100644</span><br><span>--- a/res/stasis/app.c</span><br><span>+++ b/res/stasis/app.c</span><br><span>@@ -1070,11 +1070,6 @@</span><br><span>       return app->topic;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/*!</span><br><span style="color: hsl(0, 100%, 40%);">- * \brief Send a message to the given application.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param app App to send the message to.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param message Message to send.</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span> void app_send(struct stasis_app *app, struct ast_json *message)</span><br><span> {</span><br><span>    stasis_app_cb handler;</span><br><span>diff --git a/res/stasis/app.h b/res/stasis/app.h</span><br><span>index ac4ac59..a59f1dc 100644</span><br><span>--- a/res/stasis/app.h</span><br><span>+++ b/res/stasis/app.h</span><br><span>@@ -55,8 +55,9 @@</span><br><span>  * \param name Name of the application.</span><br><span>  * \param handler Callback for messages sent to the application.</span><br><span>  * \param data Data pointer provided to the callback.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param subscription_model</span><br><span>  * \return New \c res_stasis application.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct stasis_app *app_create(const char *name, stasis_app_cb handler, void *data, enum stasis_app_subscription_model subscription_model);</span><br><span> </span><br><span>@@ -83,8 +84,8 @@</span><br><span>  * \brief Checks whether an app is active.</span><br><span>  *</span><br><span>  * \param app Application to check.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return True (non-zero) if app is active.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return False (zero) if app has been deactivated.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if app is active.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) if app has been deactivated.</span><br><span>  */</span><br><span> int app_is_active(struct stasis_app *app);</span><br><span> </span><br><span>@@ -92,8 +93,8 @@</span><br><span>  * \brief Checks whether a deactivated app has no channels.</span><br><span>  *</span><br><span>  * \param app Application to check.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param True (non-zero) if app is deactivated, and has no associated channels.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param False (zero) otherwise.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if app is deactivated, and has no associated channels.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) otherwise.</span><br><span>  */</span><br><span> int app_is_finished(struct stasis_app *app);</span><br><span> </span><br><span>@@ -111,7 +112,7 @@</span><br><span> /*!</span><br><span>  * \brief Send a message to an application.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param app Application.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param app App to send the message to.</span><br><span>  * \param message Message to send.</span><br><span>  */</span><br><span> void app_send(struct stasis_app *app, struct ast_json *message);</span><br><span>@@ -123,8 +124,8 @@</span><br><span>  *</span><br><span>  * \param app The application</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c JSON blob on success</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return JSON blob on success</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error</span><br><span>  */</span><br><span> struct ast_json *app_to_json(const struct stasis_app *app);</span><br><span> </span><br><span>@@ -133,8 +134,8 @@</span><br><span>  *</span><br><span>  * \param app Application.</span><br><span>  * \param chan Channel to subscribe to.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error.</span><br><span>  */</span><br><span> int app_subscribe_channel(struct stasis_app *app, struct ast_channel *chan);</span><br><span> </span><br><span>@@ -143,8 +144,8 @@</span><br><span>  *</span><br><span>  * \param app Subscribing application.</span><br><span>  * \param chan Channel to unsubscribe from.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error.</span><br><span>  */</span><br><span> int app_unsubscribe_channel(struct stasis_app *app, struct ast_channel *chan);</span><br><span> </span><br><span>@@ -153,8 +154,8 @@</span><br><span>  *</span><br><span>  * \param app Subscribing application.</span><br><span>  * \param channel_id Id of channel to unsubscribe from.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error.</span><br><span>  */</span><br><span> int app_unsubscribe_channel_id(struct stasis_app *app, const char *channel_id);</span><br><span> </span><br><span>@@ -163,8 +164,8 @@</span><br><span>  *</span><br><span>  * \param app Subscribing application.</span><br><span>  * \param channel_id Id of channel to check.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return True (non-zero) if channel is subscribed to \a app.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return False (zero) if channel is not subscribed.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if channel is subscribed to \a app.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) if channel is not subscribed.</span><br><span>  */</span><br><span> int app_is_subscribed_channel_id(struct stasis_app *app, const char *channel_id);</span><br><span> </span><br><span>@@ -173,18 +174,18 @@</span><br><span>  *</span><br><span>  * \param app Application.</span><br><span>  * \param bridge Bridge to subscribe to.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error.</span><br><span>  */</span><br><span> int app_subscribe_bridge(struct stasis_app *app, struct ast_bridge *bridge);</span><br><span> </span><br><span> /*!</span><br><span>  * \brief Cancel the bridge subscription for an application.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param forwards Return from app_subscribe_channel().</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param app Subscribing application.</span><br><span>  * \param bridge Bridge to subscribe to.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error.</span><br><span>  */</span><br><span> int app_unsubscribe_bridge(struct stasis_app *app, struct ast_bridge *bridge);</span><br><span> </span><br><span>@@ -193,8 +194,8 @@</span><br><span>  *</span><br><span>  * \param app Subscribing application.</span><br><span>  * \param bridge_id Id of bridge to unsubscribe from.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error.</span><br><span>  */</span><br><span> int app_unsubscribe_bridge_id(struct stasis_app *app, const char *bridge_id);</span><br><span> </span><br><span>@@ -203,8 +204,8 @@</span><br><span>  *</span><br><span>  * \param app Subscribing application.</span><br><span>  * \param bridge_id Id of bridge to check.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return True (non-zero) if bridge is subscribed to \a app.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return False (zero) if bridge is not subscribed.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if bridge is subscribed to \a app.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) if bridge is not subscribed.</span><br><span>  */</span><br><span> int app_is_subscribed_bridge_id(struct stasis_app *app, const char *bridge_id);</span><br><span> </span><br><span>@@ -212,9 +213,9 @@</span><br><span>  * \brief Subscribes an application to a endpoint.</span><br><span>  *</span><br><span>  * \param app Application.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param chan Endpoint to subscribe to.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param endpoint Endpoint to subscribe to.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error.</span><br><span>  */</span><br><span> int app_subscribe_endpoint(struct stasis_app *app, struct ast_endpoint *endpoint);</span><br><span> </span><br><span>@@ -223,8 +224,8 @@</span><br><span>  *</span><br><span>  * \param app Subscribing application.</span><br><span>  * \param endpoint_id Id of endpoint to unsubscribe from.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return 0 on success.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Non-zero on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval 0 on success.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval Non-zero on error.</span><br><span>  */</span><br><span> int app_unsubscribe_endpoint_id(struct stasis_app *app, const char *endpoint_id);</span><br><span> </span><br><span>@@ -233,15 +234,15 @@</span><br><span>  *</span><br><span>  * \param app Subscribing application.</span><br><span>  * \param endpoint_id Id of endpoint to check.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return True (non-zero) if endpoint is subscribed to \a app.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return False (zero) if endpoint is not subscribed.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if endpoint is subscribed to \a app.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) if endpoint is not subscribed.</span><br><span>  */</span><br><span> int app_is_subscribed_endpoint_id(struct stasis_app *app, const char *endpoint_id);</span><br><span> </span><br><span> /*!</span><br><span>  * \brief Set the snapshot of the channel that this channel will replace</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param channel The channel on which this will be set</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param chan The channel on which this will be set</span><br><span>  * \param replace_snapshot The snapshot of the channel that is being replaced</span><br><span>  *</span><br><span>  * \retval zero success</span><br><span>@@ -252,7 +253,7 @@</span><br><span> /*!</span><br><span>  * \brief Set the app that the replacement channel will be controlled by</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param channel The channel on which this will be set</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param chan The channel on which this will be set</span><br><span>  * \param replace_app The app that will be controlling this channel</span><br><span>  *</span><br><span>  * \retval zero success</span><br><span>@@ -263,7 +264,7 @@</span><br><span> /*!</span><br><span>  * \brief Get the app that the replacement channel will be controlled by</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \param channel The channel on which this will be set</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param chan The channel on which this will be set</span><br><span>  *</span><br><span>  * \retval NULL on error</span><br><span>  * \return the name of the controlling app (must be ast_free()d)</span><br><span>diff --git a/res/stasis/control.h b/res/stasis/control.h</span><br><span>index 67aa3b7..137ac81 100644</span><br><span>--- a/res/stasis/control.h</span><br><span>+++ b/res/stasis/control.h</span><br><span>@@ -36,7 +36,7 @@</span><br><span>  * \param app stasis_app for which this control is being created.</span><br><span>  *</span><br><span>  * \return New control object.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return \c NULL on error.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval NULL on error.</span><br><span>  */</span><br><span> struct stasis_app_control *control_create(struct ast_channel *channel, struct stasis_app *app);</span><br><span> </span><br><span>@@ -45,8 +45,6 @@</span><br><span>  * \since 13.9.0</span><br><span>  *</span><br><span>  * \param control Control object to flush command queue.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Nothing</span><br><span>  */</span><br><span> void control_flush_queue(struct stasis_app_control *control);</span><br><span> </span><br><span>@@ -72,7 +70,7 @@</span><br><span>  *</span><br><span>  * \param control Control to count commands on</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval number of commands in the command que</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return number of commands in the command que</span><br><span>  */</span><br><span> int control_command_count(struct stasis_app_control *control);</span><br><span> </span><br><span>@@ -80,8 +78,8 @@</span><br><span>  * \brief Returns true if control_continue() has been called on this \a control.</span><br><span>  *</span><br><span>  * \param control Control to query.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return True (non-zero) if control_continue() has been called.</span><br><span style="color: hsl(0, 100%, 40%);">- * \return False (zero) otherwise.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval True (non-zero) if control_continue() has been called.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \retval False (zero) otherwise.</span><br><span>  */</span><br><span> int control_is_done(struct stasis_app_control *control);</span><br><span> </span><br><span>@@ -91,7 +89,7 @@</span><br><span>  * \brief Dispatch all queued prestart commands</span><br><span>  *</span><br><span>  * \param control The control for chan</span><br><span style="color: hsl(0, 100%, 40%);">- * \param channel The channel on which commands should be executed</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param chan The channel on which commands should be executed</span><br><span>  *</span><br><span>  * \return The number of commands executed</span><br><span>  */</span><br><span>@@ -103,7 +101,7 @@</span><br><span>  *</span><br><span>  * \param control Control to query.</span><br><span>  *</span><br><span style="color: hsl(0, 100%, 40%);">- * \returns A pointer to the associated stasis_app</span><br><span style="color: hsl(120, 100%, 40%);">+ * \return A pointer to the associated stasis_app</span><br><span>  */</span><br><span> struct stasis_app *control_app(struct stasis_app_control *control);</span><br><span> </span><br><span>diff --git a/res/stasis/messaging.h b/res/stasis/messaging.h</span><br><span>index 75ef5c9..aa3d6cc 100644</span><br><span>--- a/res/stasis/messaging.h</span><br><span>+++ b/res/stasis/messaging.h</span><br><span>@@ -45,9 +45,6 @@</span><br><span>  *</span><br><span>  * \param app_name Name of the stasis application to unsubscribe from messaging</span><br><span>  * \param endpoint_id The ID of the endpoint we no longer care about</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval 0 success</span><br><span style="color: hsl(0, 100%, 40%);">- * \retval -1 error</span><br><span>  */</span><br><span> void messaging_app_unsubscribe_endpoint(const char *app_name, const char *endpoint_id);</span><br><span> </span><br><span>@@ -56,7 +53,7 @@</span><br><span>  *</span><br><span>  * \param app_name The name of the \ref stasis application to subscribe to \c endpoint</span><br><span>  * \param endpoint The endpoint object to subscribe to</span><br><span style="color: hsl(0, 100%, 40%);">- * \param message_received_cb The callback to call when a message is received</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param callback The callback to call when a message is received</span><br><span>  * \param pvt An ao2 ref counted object that will be passed to the callback.</span><br><span>  *</span><br><span>  * \retval 0 subscription was successful</span><br><span>diff --git a/res/stasis/stasis_bridge.c b/res/stasis/stasis_bridge.c</span><br><span>index fdfd8fb..d5ab00a 100644</span><br><span>--- a/res/stasis/stasis_bridge.c</span><br><span>+++ b/res/stasis/stasis_bridge.c</span><br><span>@@ -278,8 +278,6 @@</span><br><span>  * \param bridge_channel Bridge channel to pull.</span><br><span>  *</span><br><span>  * \note On entry, self is already locked.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Nothing</span><br><span>  */</span><br><span> static void bridge_stasis_pull(struct ast_bridge *self, struct ast_bridge_channel *bridge_channel)</span><br><span> {</span><br><span>diff --git a/res/stasis/stasis_bridge.h b/res/stasis/stasis_bridge.h</span><br><span>index 6e2a48b..531da92 100644</span><br><span>--- a/res/stasis/stasis_bridge.h</span><br><span>+++ b/res/stasis/stasis_bridge.h</span><br><span>@@ -61,8 +61,6 @@</span><br><span>  * \internal</span><br><span>  * \brief Initialize the Stasis bridge subclass.</span><br><span>  * \since 12.5.0</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * \return Nothing</span><br><span>  */</span><br><span> void bridge_stasis_init(void);</span><br><span> </span><br><span>diff --git a/res/stasis_recording/stored.c b/res/stasis_recording/stored.c</span><br><span>index 3232c6d..7fe2b7c 100644</span><br><span>--- a/res/stasis_recording/stored.c</span><br><span>+++ b/res/stasis_recording/stored.c</span><br><span>@@ -85,7 +85,7 @@</span><br><span>  *</span><br><span>  * \param path Path to split.</span><br><span>  * \param[out] dir Output parameter for directory portion.</span><br><span style="color: hsl(0, 100%, 40%);">- * \param[out] fail Output parameter for the file portion.</span><br><span style="color: hsl(120, 100%, 40%);">+ * \param[out] file Output parameter for the file portion.</span><br><span>  * \return 0 on success.</span><br><span>  * \return Non-zero on error.</span><br><span>  */</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/17478">change 17478</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/c/asterisk/+/17478"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 16 </div>
<div style="display:none"> Gerrit-Change-Id: Iea50173e785b2e9d49bc24c0af7111cfd96d44a9 </div>
<div style="display:none"> Gerrit-Change-Number: 17478 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Alexander Traud <pabstraud@compuserve.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>