diff --git a/apps/app_queue.c b/apps/app_queue.c
index 7801584ce3..a3dce7e951 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -2060,7 +2060,8 @@ static void update_status(struct call_queue *q, struct member *m, const int stat
}
/*!
- * \internal \brief Determine if a queue member is available
+ * \internal
+ * \brief Determine if a queue member is available
* \retval 1 if the member is available
* \retval 0 if the member is not available
*/
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index fc3fb4c490..79e8211751 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -7724,7 +7724,10 @@ static int interpret_t38_parameters(struct sip_pvt *p, const struct ast_control_
return res;
}
-/*! \internal \brief Create and initialize UDPTL for the specified dialog
+/*!
+ * \internal
+ * \brief Create and initialize UDPTL for the specified dialog
+ *
* \param p SIP private structure to create UDPTL object for
* \pre p is locked
* \pre p->owner is locked
@@ -14443,7 +14446,10 @@ static int __sip_subscribe_mwi_do(struct sip_subscription_mwi *mwi)
return 0;
}
-/*! \internal \brief Find the channel that is causing the RINGING update, ref'd */
+/*!
+ * \internal
+ * \brief Find the channel that is causing the RINGING update, ref'd
+ */
static struct ast_channel *find_ringing_channel(struct ao2_container *device_state_info, struct sip_pvt *p)
{
struct ao2_iterator citer;
@@ -16386,7 +16392,10 @@ static void build_route(struct sip_pvt *p, struct sip_request *req, int backward
}
}
-/*! \internal \brief Create a new route
+/*!
+ * \internal
+ * \brief Create a new route
+ *
* \retval NULL on error
* \retval sip_route on success
*/
@@ -16415,7 +16424,10 @@ static struct sip_route *create_route(const char *hop, struct sip_route *prev)
return route;
}
-/*! \internal \brief copy route-set
+/*!
+ * \internal
+ * \brief copy route-set
+ *
* \retval non-zero on failure
* \retval 0 on success
*/
@@ -17045,7 +17057,9 @@ static void extract_host_from_hostport(char **hostport)
ast_sockaddr_split_hostport(*hostport, hostport, &dont_care, PARSE_PORT_IGNORE);
}
-/*! \internal \brief Helper function to update a peer's lastmsgssent value
+/*!
+ * \internal
+ * \brief Helper function to update a peer's lastmsgssent value
*/
static void update_peer_lastmsgssent(struct sip_peer *peer, int value, int locked)
{
@@ -17059,13 +17073,16 @@ static void update_peer_lastmsgssent(struct sip_peer *peer, int value, int locke
}
-/*! \brief Verify registration of user
- - Registration is done in several steps, first a REGISTER without auth
- to get a challenge (nonce) then a second one with auth
- - Registration requests are only matched with peers that are marked as "dynamic"
+/*!
+ * \brief Verify registration of user
+ *
+ * \details
+ * - Registration is done in several steps, first a REGISTER without auth
+ * to get a challenge (nonce) then a second one with auth
+ * - Registration requests are only matched with peers that are marked as "dynamic"
*/
static enum check_auth_result register_verify(struct sip_pvt *p, struct ast_sockaddr *addr,
- struct sip_request *req, const char *uri)
+ struct sip_request *req, const char *uri)
{
enum check_auth_result res = AUTH_NOT_FOUND;
struct sip_peer *peer;
@@ -27207,7 +27224,10 @@ static int handle_request_publish(struct sip_pvt *p, struct sip_request *req, st
return handler_result;
}
-/*! \internal \brief Subscribe to MWI events for the specified peer
+/*!
+ * \internal
+ * \brief Subscribe to MWI events for the specified peer
+ *
* \note The peer cannot be locked during this method. sip_send_mwi_peer will
* attempt to lock the peer after the event subscription lock is held; if the peer is locked during
* this method then we will attempt to lock the event subscription lock but after the peer, creating
diff --git a/main/bridge_channel.c b/main/bridge_channel.c
index 013475c689..6a96b1e3b2 100644
--- a/main/bridge_channel.c
+++ b/main/bridge_channel.c
@@ -108,7 +108,10 @@ void ast_bridge_channel_leave_bridge(struct ast_bridge_channel *bridge_channel,
ast_bridge_channel_unlock(bridge_channel);
}
-/*! \internal \brief Poke the bridge_channel thread */
+/*!
+ * \internal
+ * \brief Poke the bridge_channel thread
+ */
static void bridge_channel_poke(struct ast_bridge_channel *bridge_channel)
{
if (!pthread_equal(pthread_self(), bridge_channel->thread)) {
@@ -487,7 +490,10 @@ int ast_bridge_channel_write_unhold(struct ast_bridge_channel *bridge_channel)
return ast_bridge_channel_write_control_data(bridge_channel, AST_CONTROL_UNHOLD, NULL, 0);
}
-/*! \internal \brief Helper function to kick off a PBX app on a bridge_channel */
+/*!
+ * \internal
+ * \brief Helper function to kick off a PBX app on a bridge_channel
+ */
static int run_app_helper(struct ast_channel *chan, const char *app_name, const char *app_args)
{
int res = 0;
@@ -983,7 +989,10 @@ static void bridge_channel_handle_interval(struct ast_bridge_channel *bridge_cha
}
}
-/*! \internal \brief Write a DTMF stream out to a channel */
+/*!
+ * \internal
+ * \brief Write a DTMF stream out to a channel
+ */
static int bridge_channel_write_dtmf_stream(struct ast_bridge_channel *bridge_channel, const char *dtmf)
{
return bridge_channel_write_action_data(bridge_channel,
@@ -1099,7 +1108,10 @@ static void bridge_channel_feature(struct ast_bridge_channel *bridge_channel, co
}
}
-/*! \internal \brief Indicate that a bridge_channel is talking */
+/*!
+ * \internal
+ * \brief Indicate that a bridge_channel is talking
+ */
static void bridge_channel_talking(struct ast_bridge_channel *bridge_channel, int talking)
{
struct ast_bridge_features *features = bridge_channel->features;
@@ -1140,7 +1152,10 @@ struct blind_transfer_data {
char context[AST_MAX_CONTEXT];
};
-/*! \internal \brief Execute after bridge actions on a channel when it leaves a bridge */
+/*!
+ * \internal
+ * \brief Execute after bridge actions on a channel when it leaves a bridge
+ */
static void after_bridge_move_channel(struct ast_channel *chan_bridged, void *data)
{
RAII_VAR(struct ast_channel *, chan_target, data, ao2_cleanup);
@@ -1177,7 +1192,10 @@ static void after_bridge_move_channel(struct ast_channel *chan_bridged, void *da
ast_party_connected_line_free(&connected_target);
}
-/*! \internal \brief Execute logic to cleanup when after bridge fails */
+/*!
+ * \internal
+ * \brief Execute logic to cleanup when after bridge fails
+ */
static void after_bridge_move_channel_fail(enum ast_bridge_after_cb_reason reason, void *data)
{
RAII_VAR(struct ast_channel *, chan_target, data, ao2_cleanup);
@@ -1187,7 +1205,10 @@ static void after_bridge_move_channel_fail(enum ast_bridge_after_cb_reason reaso
ast_softhangup(chan_target, AST_SOFTHANGUP_DEV);
}
-/*! \internal \brief Perform a blind transfer on a channel in a bridge */
+/*!
+ * \internal
+ * \brief Perform a blind transfer on a channel in a bridge
+ */
static void bridge_channel_blind_transfer(struct ast_bridge_channel *bridge_channel,
struct blind_transfer_data *blind_data)
{
@@ -1195,7 +1216,10 @@ static void bridge_channel_blind_transfer(struct ast_bridge_channel *bridge_chan
bridge_channel_handle_hangup(bridge_channel);
}
-/*! \internal \brief Perform an attended transfer on a channel in a bridge */
+/*!
+ * \internal
+ * \brief Perform an attended transfer on a channel in a bridge
+ */
static void bridge_channel_attended_transfer(struct ast_bridge_channel *bridge_channel,
const char *target_chan_name)
{
diff --git a/main/cdr.c b/main/cdr.c
index 15f98ef1e1..bfb849423f 100644
--- a/main/cdr.c
+++ b/main/cdr.c
@@ -1545,7 +1545,10 @@ static int dial_state_process_dial_begin(struct cdr_object *cdr, struct ast_chan
return 1;
}
-/*! \internal \brief Convert a dial status to a CDR disposition */
+/*!
+ * \internal
+ * \brief Convert a dial status to a CDR disposition
+ */
static enum ast_cdr_disposition dial_status_to_disposition(const char *dial_status)
{
RAII_VAR(struct module_config *, mod_cfg,
@@ -1898,13 +1901,19 @@ static int cdr_object_update_party_b(void *obj, void *arg, int flags)
return 0;
}
-/*! \internal \brief Filter channel snapshots by technology */
+/*!
+ * \internal
+ * \brief Filter channel snapshots by technology
+ */
static int filter_channel_snapshot(struct ast_channel_snapshot *snapshot)
{
return snapshot->tech_properties & AST_CHAN_TP_INTERNAL;
}
-/*! \internal \brief Filter a channel cache update */
+/*!
+ * \internal
+ * \brief Filter a channel cache update
+ */
static int filter_channel_cache_message(struct ast_channel_snapshot *old_snapshot,
struct ast_channel_snapshot *new_snapshot)
{
@@ -2209,7 +2218,9 @@ static struct bridge_candidate *bridge_candidate_alloc(struct cdr_object *cdr, s
}
/*!
- * \internal \brief Build and add bridge candidates based on a CDR
+ * \internal
+ * \brief Build and add bridge candidates based on a CDR
+ *
* \param bridge_id The ID of the bridge we need candidates for
* \param candidates The container of \ref bridge_candidate objects
* \param cdr The \ref cdr_object that is our candidate
@@ -2303,7 +2314,9 @@ static struct ao2_container *create_candidates_for_bridge(struct ast_bridge_snap
}
/*!
- * \internal \brief Create a new CDR, append it to an existing CDR, and update its snapshots
+ * \internal
+ * \brief Create a new CDR, append it to an existing CDR, and update its snapshots
+ *
* \note The new CDR will be automatically transitioned to the bridge state
*/
static void bridge_candidate_add_to_cdr(struct cdr_object *cdr,
diff --git a/main/data.c b/main/data.c
index b7bedf2546..4c39362f58 100644
--- a/main/data.c
+++ b/main/data.c
@@ -3302,7 +3302,10 @@ AST_TEST_DEFINE(test_data_get)
#endif
-/*! \internal \brief Clean up resources on Asterisk shutdown */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown
+ */
static void data_shutdown(void)
{
ast_manager_unregister("DataGet");
diff --git a/main/db.c b/main/db.c
index 6ccdb17f96..4fe249b102 100644
--- a/main/db.c
+++ b/main/db.c
@@ -982,7 +982,10 @@ static void *db_sync_thread(void *data)
return NULL;
}
-/*! \internal \brief Clean up resources on Asterisk shutdown */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown
+ */
static void astdb_atexit(void)
{
ast_cli_unregister_multiple(cli_database, ARRAY_LEN(cli_database));
diff --git a/main/features.c b/main/features.c
index 70c5423aeb..55b8dc2bed 100644
--- a/main/features.c
+++ b/main/features.c
@@ -1439,7 +1439,10 @@ done:
return 0;
}
-/*! \internal \brief Clean up resources on Asterisk shutdown */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown
+ */
static void features_shutdown(void)
{
ast_features_config_shutdown();
diff --git a/main/file.c b/main/file.c
index a351fd4ec1..4783c416f7 100644
--- a/main/file.c
+++ b/main/file.c
@@ -343,7 +343,10 @@ static int exts_compare(const char *exts, const char *type)
return 0;
}
-/*! \internal \brief Close the file stream by canceling any pending read / write callbacks */
+/*!
+ * \internal
+ * \brief Close the file stream by canceling any pending read / write callbacks
+ */
static void filestream_close(struct ast_filestream *f)
{
enum ast_format_type format_type = AST_FORMAT_GET_TYPE(f->fmt->format.id);
diff --git a/main/format.c b/main/format.c
index 5b8b8b05fe..2c563c556f 100644
--- a/main/format.c
+++ b/main/format.c
@@ -1071,7 +1071,10 @@ static int format_list_init(void)
return 0;
}
-/*! \internal \brief Clean up resources on Asterisk shutdown */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown
+ */
static void format_list_shutdown(void)
{
ast_rwlock_destroy(&format_list_array_lock);
@@ -1105,7 +1108,10 @@ init_list_cleanup:
return -1;
}
-/*! \internal \brief Clean up resources on Asterisk shutdown */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown
+ */
static void format_attr_shutdown(void)
{
ast_cli_unregister_multiple(my_clis, ARRAY_LEN(my_clis));
diff --git a/main/indications.c b/main/indications.c
index 6ad30bfcf5..39c9c6e7b4 100644
--- a/main/indications.c
+++ b/main/indications.c
@@ -1149,7 +1149,10 @@ int ast_tone_zone_data_add_structure(struct ast_data *tree, struct ast_tone_zone
return 0;
}
-/*! \internal \brief Clean up resources on Asterisk shutdown */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown
+ */
static void indications_shutdown(void)
{
ast_cli_unregister_multiple(cli_indications, ARRAY_LEN(cli_indications));
diff --git a/main/manager.c b/main/manager.c
index a375551e2c..3302e8c308 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -7678,7 +7678,10 @@ static void test_suite_event_cb(void *data, struct stasis_subscription *sub,
#endif
-/*! \internal \brief Free a user record. Should already be removed from the list */
+/*!
+ * \internal
+ * \brief Free a user record. Should already be removed from the list
+ */
static void manager_free_user(struct ast_manager_user *user)
{
if (user->a1_hash) {
@@ -7696,7 +7699,10 @@ static void manager_free_user(struct ast_manager_user *user)
ast_free(user);
}
-/*! \internal \brief Clean up resources on Asterisk shutdown */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown
+ */
static void manager_shutdown(void)
{
struct ast_manager_user *user;
diff --git a/main/message.c b/main/message.c
index bb98e24d99..132ef302a3 100644
--- a/main/message.c
+++ b/main/message.c
@@ -1301,10 +1301,14 @@ void ast_msg_shutdown(void)
}
}
-/*! \internal \brief Clean up other resources on Asterisk shutdown
+/*!
+ * \internal
+ * \brief Clean up other resources on Asterisk shutdown
+ *
* \note This does not include the msg_q_tp object, which must be disposed
* of prior to Asterisk checking for channel destruction in its shutdown
- * sequence. The atexit handlers are executed after this occurs. */
+ * sequence. The atexit handlers are executed after this occurs.
+ */
static void message_shutdown(void)
{
ast_custom_function_unregister(&msg_function);
diff --git a/main/pbx.c b/main/pbx.c
index 730b526fe4..6bd6261cb5 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -4841,7 +4841,10 @@ const char *ast_extension_state2str(int extension_state)
return "Unknown";
}
-/*! \internal \brief Check extension state for an extension by using hint */
+/*!
+ * \internal
+ * \brief Check extension state for an extension by using hint
+ */
static int internal_extension_state_extended(struct ast_channel *c, const char *context, const char *exten,
struct ao2_container *device_state_info)
{
@@ -5226,7 +5229,10 @@ static void destroy_state_cb(void *doomed)
}
}
-/*! \internal \brief Add watcher for extension states with destructor */
+/*!
+ * \internal
+ * \brief Add watcher for extension states with destructor
+ */
static int extension_state_add_destroy(const char *context, const char *exten,
ast_state_cb_type change_cb, ast_state_cb_destroy_type destroy_cb, void *data, int extended)
{
@@ -11431,8 +11437,12 @@ static const struct ast_data_entry pbx_data_providers[] = {
AST_DATA_ENTRY("asterisk/core/hints", &hints_data_provider),
};
-/*! \internal \brief Clean up resources on Asterisk shutdown.
- * \note Cleans up resources allocated in load_pbx */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown.
+ *
+ * \note Cleans up resources allocated in load_pbx
+ */
static void unload_pbx(void)
{
int x;
diff --git a/main/pickup.c b/main/pickup.c
index a945e3576e..7ae6927fae 100644
--- a/main/pickup.c
+++ b/main/pickup.c
@@ -383,7 +383,10 @@ pickup_failed:
return res;
}
-/*! \internal \brief Clean up resources on Asterisk shutdown */
+/*!
+ * \internal
+ * \brief Clean up resources on Asterisk shutdown
+ */
static void pickup_shutdown(void)
{
STASIS_MESSAGE_TYPE_CLEANUP(ast_call_pickup_type);
diff --git a/main/rtp_engine.c b/main/rtp_engine.c
index 1a5333ebdc..8a9dacf335 100644
--- a/main/rtp_engine.c
+++ b/main/rtp_engine.c
@@ -1671,7 +1671,10 @@ int ast_rtp_engine_unload_format(const struct ast_format *format)
return 0;
}
-/*! \internal \brief \ref stasis message payload for RTCP messages */
+/*!
+ * \internal
+ * \brief \ref stasis message payload for RTCP messages
+ */
struct rtcp_message_payload {
struct ast_channel_snapshot *snapshot; /*< The channel snapshot, if available */
struct ast_rtp_rtcp_report *report; /*< The RTCP report */
diff --git a/main/stasis_channels.c b/main/stasis_channels.c
index 37b6b62ee4..1efc51dbbe 100644
--- a/main/stasis_channels.c
+++ b/main/stasis_channels.c
@@ -138,7 +138,10 @@ static const char *channel_snapshot_get_name(struct stasis_message *message)
return snapshot->name;
}
-/*! \internal \brief Hash function for \ref ast_channel_snapshot objects */
+/*!
+ * \internal
+ * \brief Hash function for \ref ast_channel_snapshot objects
+ */
static int channel_snapshot_hash_cb(const void *obj, const int flags)
{
const struct ast_channel_snapshot *snapshot = obj;
@@ -146,7 +149,10 @@ static int channel_snapshot_hash_cb(const void *obj, const int flags)
return ast_str_case_hash(name);
}
-/*! \internal \brief Comparison function for \ref ast_channel_snapshot objects */
+/*!
+ * \internal
+ * \brief Comparison function for \ref ast_channel_snapshot objects
+ */
static int channel_snapshot_cmp_cb(void *obj, void *arg, int flags)
{
struct ast_channel_snapshot *left = obj;
@@ -401,7 +407,10 @@ struct ast_multi_channel_blob {
struct ast_json *blob; /*< A blob of JSON data */
};
-/*! \internal \brief Standard comparison function for \ref channel_role_snapshot objects */
+/*!
+ * \internal
+ * \brief Standard comparison function for \ref channel_role_snapshot objects
+ */
static int channel_role_single_cmp_cb(void *obj, void *arg, int flags)
{
struct channel_role_snapshot *left = obj;
@@ -410,7 +419,10 @@ static int channel_role_single_cmp_cb(void *obj, void *arg, int flags)
return strcasecmp(left->role, match) ? 0 : (CMP_MATCH | CMP_STOP);
}
-/*! \internal \brief Multi comparison function for \ref channel_role_snapshot objects */
+/*!
+ * \internal
+ * \brief Multi comparison function for \ref channel_role_snapshot objects
+ */
static int channel_role_multi_cmp_cb(void *obj, void *arg, int flags)
{
struct channel_role_snapshot *left = obj;
@@ -419,7 +431,10 @@ static int channel_role_multi_cmp_cb(void *obj, void *arg, int flags)
return strcasecmp(left->role, match) ? 0 : (CMP_MATCH);
}
-/*! \internal \brief Hash function for \ref channel_role_snapshot objects */
+/*!
+ * \internal
+ * \brief Hash function for \ref channel_role_snapshot objects
+ */
static int channel_role_hash_cb(const void *obj, const int flags)
{
const struct channel_role_snapshot *snapshot = obj;
@@ -427,7 +442,10 @@ static int channel_role_hash_cb(const void *obj, const int flags)
return ast_str_case_hash(name);
}
-/*! \internal \brief Destructor for \ref ast_multi_channel_blob objects */
+/*!
+ * \internal
+ * \brief Destructor for \ref ast_multi_channel_blob objects
+ */
static void multi_channel_blob_dtor(void *obj)
{
struct ast_multi_channel_blob *multi_blob = obj;
diff --git a/main/xmldoc.c b/main/xmldoc.c
index 542b77ef58..7ca66e12b7 100644
--- a/main/xmldoc.c
+++ b/main/xmldoc.c
@@ -45,13 +45,17 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
/*! \brief Default documentation language. */
static const char default_documentation_language[] = "en_US";
-/*! \brief Number of columns to print when showing the XML documentation with a
- * 'core show application/function *' CLI command. Used in text wrapping.*/
+/*!
+ * \brief Number of columns to print when showing the XML documentation with a
+ * 'core show application/function *' CLI command. Used in text wrapping.
+ */
static const int xmldoc_text_columns = 74;
-/*! \brief This is a value that we will use to let the wrapping mechanism move the cursor
+/*!
+ * \brief This is a value that we will use to let the wrapping mechanism move the cursor
* backward and forward xmldoc_max_diff positions before cutting the middle of a
- * word, trying to find a space or a \n. */
+ * word, trying to find a space or a \n.
+ */
static const int xmldoc_max_diff = 5;
/*! \brief XML documentation language. */
@@ -111,11 +115,14 @@ static const struct strspecial_tags {
{ "warning", "WARNING!!!: ", "" }
};
-/*! \internal
- * \brief Calculate the space in bytes used by a format string
- * that will be passed to a sprintf function.
- * \param postbr The format string to use to calculate the length.
- * \retval The postbr length.
+/*!
+ * \internal
+ * \brief Calculate the space in bytes used by a format string
+ * that will be passed to a sprintf function.
+ *
+ * \param postbr The format string to use to calculate the length.
+ *
+ * \retval The postbr length.
*/
static int xmldoc_postbrlen(const char *postbr)
{
@@ -136,12 +143,14 @@ static int xmldoc_postbrlen(const char *postbr)
return postbrreallen;
}
-/*! \internal
- * \brief Setup postbr to be used while wrapping the text.
- * Add to postbr array all the spaces and tabs at the beginning of text.
- * \param postbr output array.
- * \param len text array length.
- * \param text Text with format string before the actual string.
+/*!
+ * \internal
+ * \brief Setup postbr to be used while wrapping the text.
+ * Add to postbr array all the spaces and tabs at the beginning of text.
+ *
+ * \param postbr output array.
+ * \param len text array length.
+ * \param text Text with format string before the actual string.
*/
static void xmldoc_setpostbr(char *postbr, size_t len, const char *text)
{
@@ -161,15 +170,18 @@ static void xmldoc_setpostbr(char *postbr, size_t len, const char *text)
postbr[postbrlen] = '\0';
}
-/*! \internal
- * \brief Try to find a space or a break in text starting at currentpost
+/*!
+ * \internal
+ * \brief Try to find a space or a break in text starting at currentpost
* and moving at most maxdiff positions.
* Helper for xmldoc_string_wrap().
- * \param text Input string where it will search.
- * \param currentpos Current position within text.
- * \param maxdiff Not move more than maxdiff inside text.
- * \retval 1 if a space or break is found inside text while moving.
- * \retval 0 if no space or break is found.
+ *
+ * \param text Input string where it will search.
+ * \param currentpos Current position within text.
+ * \param maxdiff Not move more than maxdiff inside text.
+ *
+ * \retval 1 if a space or break is found inside text while moving.
+ * \retval 0 if no space or break is found.
*/
static int xmldoc_wait_nextspace(const char *text, int currentpos, int maxdiff)
{
@@ -200,16 +212,19 @@ static int xmldoc_wait_nextspace(const char *text, int currentpos, int maxdiff)
return 0;
}
-/*! \internal
- * \brief Helper function for xmldoc_string_wrap().
- * Try to found a space or a break inside text moving backward
- * not more than maxdiff positions.
- * \param text The input string where to search for a space.
- * \param currentpos The current cursor position.
- * \param maxdiff The max number of positions to move within text.
- * \retval 0 If no space is found (Notice that text[currentpos] is not a space or a break)
- * \retval > 0 If a space or a break is found, and the result is the position relative to
- * currentpos.
+/*!
+ * \internal
+ * \brief Helper function for xmldoc_string_wrap().
+ * Try to found a space or a break inside text moving backward
+ * not more than maxdiff positions.
+ *
+ * \param text The input string where to search for a space.
+ * \param currentpos The current cursor position.
+ * \param maxdiff The max number of positions to move within text.
+ *
+ * \retval 0 If no space is found (Notice that text[currentpos] is not a space or a break)
+ * \retval > 0 If a space or a break is found, and the result is the position relative to
+ * currentpos.
*/
static int xmldoc_foundspace_backward(const char *text, int currentpos, int maxdiff)
{
@@ -232,13 +247,16 @@ static int xmldoc_foundspace_backward(const char *text, int currentpos, int maxd
return 0;
}
-/*! \internal
- * \brief Justify a text to a number of columns.
- * \param text Input text to be justified.
- * \param columns Number of columns to preserve in the text.
- * \param maxdiff Try to not cut a word when goinf down.
- * \retval NULL on error.
- * \retval The wrapped text.
+/*!
+ * \internal
+ * \brief Justify a text to a number of columns.
+ *
+ * \param text Input text to be justified.
+ * \param columns Number of columns to preserve in the text.
+ * \param maxdiff Try to not cut a word when goinf down.
+ *
+ * \retval NULL on error.
+ * \retval The wrapped text.
*/
static char *xmldoc_string_wrap(const char *text, int columns, int maxdiff)
{
@@ -427,11 +445,13 @@ char *ast_xmldoc_printable(const char *bwinput, int withcolors)
return wrapped;
}
-/*! \internal
- * \brief Cleanup spaces and tabs after a \n
- * \param text String to be cleaned up.
- * \param output buffer (not already allocated).
- * \param lastspaces Remove last spaces in the string.
+/*!
+ * \internal
+ * \brief Cleanup spaces and tabs after a \n
+ *
+ * \param text String to be cleaned up.
+ * \param output buffer (not already allocated).
+ * \param lastspaces Remove last spaces in the string.
*/
static void xmldoc_string_cleanup(const char *text, struct ast_str **output, int lastspaces)
{
@@ -470,11 +490,14 @@ static void xmldoc_string_cleanup(const char *text, struct ast_str **output, int
}
}
-/*! \internal
+/*!
+ * \internal
* \brief Check if the given attribute on the given node matches the given value.
+ *
* \param node the node to match
* \param attr the name of the attribute
* \param value the expected value of the attribute
+ *
* \retval true if the given attribute contains the given value
* \retval false if the given attribute does not exist or does not contain the given value
*/
@@ -486,16 +509,19 @@ static int xmldoc_attribute_match(struct ast_xml_node *node, const char *attr, c
return match;
}
-/*! \internal
- * \brief Get the application/function node for 'name' application/function with language 'language'
- * and module 'module' if we don't find any, get the first application
- * with 'name' no matter which language or module.
- * \param type 'application', 'function', ...
- * \param name Application or Function name.
- * \param module Module item is in.
- * \param language Try to get this language (if not found try with en_US)
- * \retval NULL on error.
- * \retval A node of type ast_xml_node.
+/*!
+ * \internal
+ * \brief Get the application/function node for 'name' application/function with language 'language'
+ * and module 'module' if we don't find any, get the first application
+ * with 'name' no matter which language or module.
+ *
+ * \param type 'application', 'function', ...
+ * \param name Application or Function name.
+ * \param module Module item is in.
+ * \param language Try to get this language (if not found try with en_US)
+ *
+ * \retval NULL on error.
+ * \retval A node of type ast_xml_node.
*/
static struct ast_xml_node *xmldoc_get_node(const char *type, const char *name, const char *module, const char *language)
{
@@ -568,14 +594,16 @@ static struct ast_xml_node *xmldoc_get_node(const char *type, const char *name,
return node;
}
-/*! \internal
- * \brief Helper function used to build the syntax, it allocates the needed buffer (or reallocates it),
- * and based on the reverse value it makes use of fmt to print the parameter list inside the
- * realloced buffer (syntax).
- * \param reverse We are going backwards while generating the syntax?
- * \param len Current length of 'syntax' buffer.
- * \param syntax Output buffer for the concatenated values.
- * \param fmt A format string that will be used in a sprintf call.
+/*!
+ * \internal
+ * \brief Helper function used to build the syntax, it allocates the needed buffer (or reallocates it),
+ * and based on the reverse value it makes use of fmt to print the parameter list inside the
+ * realloced buffer (syntax).
+ *
+ * \param reverse We are going backwards while generating the syntax?
+ * \param len Current length of 'syntax' buffer.
+ * \param syntax Output buffer for the concatenated values.
+ * \param fmt A format string that will be used in a sprintf call.
*/
static void __attribute__((format(printf, 4, 5))) xmldoc_reverse_helper(int reverse, int *len, char **syntax, const char *fmt, ...)
{
@@ -616,12 +644,15 @@ static void __attribute__((format(printf, 4, 5))) xmldoc_reverse_helper(int reve
ast_free(tmpfmt);
}
-/*! \internal
- * \brief Check if the passed node has 'what' tags inside it.
- * \param node Root node to search 'what' elements.
- * \param what node name to search inside node.
- * \retval 1 If a 'what' element is found inside 'node'.
- * \retval 0 If no 'what' is found inside 'node'.
+/*!
+ * \internal
+ * \brief Check if the passed node has 'what' tags inside it.
+ *
+ * \param node Root node to search 'what' elements.
+ * \param what node name to search inside node.
+ *
+ * \retval 1 If a 'what' element is found inside 'node'.
+ * \retval 0 If no 'what' is found inside 'node'.
*/
static int xmldoc_has_inside(struct ast_xml_node *fixnode, const char *what)
{
@@ -635,11 +666,14 @@ static int xmldoc_has_inside(struct ast_xml_node *fixnode, const char *what)
return 0;
}
-/*! \internal
- * \brief Check if the passed node has at least one node inside it.
- * \param node Root node to search node elements.
- * \retval 1 If a node element is found inside 'node'.
- * \retval 0 If no node is found inside 'node'.
+/*!
+ * \internal
+ * \brief Check if the passed node has at least one node inside it.
+ *
+ * \param node Root node to search node elements.
+ *
+ * \retval 1 If a node element is found inside 'node'.
+ * \retval 0 If no node is found inside 'node'.
*/
static int xmldoc_has_nodes(struct ast_xml_node *fixnode)
{
@@ -653,11 +687,14 @@ static int xmldoc_has_nodes(struct ast_xml_node *fixnode)
return 0;
}
-/*! \internal
- * \brief Check if the passed node has at least one specialtag.
- * \param node Root node to search "specialtags" elements.
- * \retval 1 If a "specialtag" element is found inside 'node'.
- * \retval 0 If no "specialtag" is found inside 'node'.
+/*!
+ * \internal
+ * \brief Check if the passed node has at least one specialtag.
+ *
+ * \param node Root node to search "specialtags" elements.
+ *
+ * \retval 1 If a "specialtag" element is found inside 'node'.
+ * \retval 0 If no "specialtag" is found inside 'node'.
*/
static int xmldoc_has_specialtags(struct ast_xml_node *fixnode)
{
@@ -674,15 +711,18 @@ static int xmldoc_has_specialtags(struct ast_xml_node *fixnode)
return 0;
}
-/*! \internal
- * \brief Build the syntax for a specified starting node.
- * \param rootnode A pointer to the ast_xml root node.
- * \param rootname Name of the application, function, option, etc. to build the syntax.
- * \param childname The name of each parameter node.
- * \param printparenthesis Boolean if we must print parenthesis if not parameters are found in the rootnode.
- * \param printrootname Boolean if we must print the rootname before the syntax and parenthesis at the begining/end.
- * \retval NULL on error.
- * \retval An ast_malloc'ed string with the syntax generated.
+/*!
+ * \internal
+ * \brief Build the syntax for a specified starting node.
+ *
+ * \param rootnode A pointer to the ast_xml root node.
+ * \param rootname Name of the application, function, option, etc. to build the syntax.
+ * \param childname The name of each parameter node.
+ * \param printparenthesis Boolean if we must print parenthesis if not parameters are found in the rootnode.
+ * \param printrootname Boolean if we must print the rootname before the syntax and parenthesis at the begining/end.
+ *
+ * \retval NULL on error.
+ * \retval An ast_malloc'ed string with the syntax generated.
*/
static char *xmldoc_get_syntax_fun(struct ast_xml_node *rootnode, const char *rootname, const char *childname, int printparenthesis, int printrootname)
{
@@ -919,12 +959,14 @@ static char *xmldoc_get_syntax_fun(struct ast_xml_node *rootnode, const char *ro
#undef MP
}
-/*! \internal
- * \brief Parse an enumlist inside a to generate a COMMAND
- * syntax.
- * \param fixnode A pointer to the node.
- * \retval {} on error.
- * \retval A string inside brackets {} with the enum's separated by pipes |.
+/*!
+ * \internal
+ * \brief Parse an enumlist inside a to generate a COMMAND syntax.
+ *
+ * \param fixnode A pointer to the node.
+ *
+ * \retval {} on error.
+ * \retval A string inside brackets {} with the enum's separated by pipes |.
*/
static char *xmldoc_parse_cmd_enumlist(struct ast_xml_node *fixnode)
{
@@ -965,13 +1007,16 @@ static char *xmldoc_parse_cmd_enumlist(struct ast_xml_node *fixnode)
return ret;
}
-/*! \internal
- * \brief Generate a syntax of COMMAND type.
- * \param fixnode The node pointer.
- * \param name The name of the 'command'.
- * \param printname Print the name of the command before the paramters?
- * \retval On error, return just 'name'.
- * \retval On success return the generated syntax.
+/*!
+ * \internal
+ * \brief Generate a syntax of COMMAND type.
+ *
+ * \param fixnode The node pointer.
+ * \param name The name of the 'command'.
+ * \param printname Print the name of the command before the paramters?
+ *
+ * \retval On error, return just 'name'.
+ * \retval On success return the generated syntax.
*/
static char *xmldoc_get_syntax_cmd(struct ast_xml_node *fixnode, const char *name, int printname)
{
@@ -1068,13 +1113,16 @@ static char *xmldoc_get_syntax_cmd(struct ast_xml_node *fixnode, const char *nam
return ret;
}
-/*! \internal
- * \brief Generate an AMI action/event syntax.
- * \param fixnode The manager action/event node pointer.
- * \param name The name of the manager action/event.
- * \param manager_type "Action" or "Event"
- * \retval The generated syntax.
- * \retval NULL on error.
+/*!
+ * \internal
+ * \brief Generate an AMI action/event syntax.
+ *
+ * \param fixnode The manager action/event node pointer.
+ * \param name The name of the manager action/event.
+ * \param manager_type "Action" or "Event"
+ *
+ * \retval The generated syntax.
+ * \retval NULL on error.
*/
static char *xmldoc_get_syntax_manager(struct ast_xml_node *fixnode, const char *name, const char *manager_type)
{
@@ -1219,10 +1267,13 @@ static struct strsyntaxtype {
{ "agi", COMMAND_SYNTAX },
};
-/*! \internal
- * \brief Get syntax type based on type of node.
- * \param type Type of node.
- * \retval The type of syntax to generate based on the type of node.
+/*!
+ * \internal
+ * \brief Get syntax type based on type of node.
+ *
+ * \param type Type of node.
+ *
+ * \retval The type of syntax to generate based on the type of node.
*/
static enum syntaxtype xmldoc_get_syntax_type(const char *type)
{
@@ -1246,8 +1297,8 @@ static enum syntaxtype xmldoc_get_syntax_type(const char *type)
* \note This method exists for when you already have the node. This
* prevents having to lock the documentation tree twice
*
- * \returns A malloc'd character pointer to the syntax of the item
- * \returns NULL on failure
+ * \retval A malloc'd character pointer to the syntax of the item
+ * \retval NULL on failure
*
* \since 11
*/
@@ -1300,18 +1351,21 @@ char *ast_xmldoc_build_syntax(const char *type, const char *name, const char *mo
return _ast_xmldoc_build_syntax(node, type, name);
}
-/*! \internal
- * \brief Parse common internal elements. This includes paragraphs, special
- * tags, and information nodes.
- * \param node The element to parse
- * \param tabs Add this string before the content of the parsed element.
- * \param posttabs Add this string after the content of the parsed element.
- * \param buffer This must be an already allocated ast_str. It will be used to
- * store the result (if something has already been placed in the
- * buffer, the parsed elements will be appended)
- * \retval 1 if any data was appended to the buffer
- * \retval 2 if the data appended to the buffer contained a text paragraph
- * \retval 0 if no data was appended to the buffer
+/*!
+ * \internal
+ * \brief Parse common internal elements. This includes paragraphs, special
+ * tags, and information nodes.
+ *
+ * \param node The element to parse
+ * \param tabs Add this string before the content of the parsed element.
+ * \param posttabs Add this string after the content of the parsed element.
+ * \param buffer This must be an already allocated ast_str. It will be used to
+ * store the result (if something has already been placed in the
+ * buffer, the parsed elements will be appended)
+ *
+ * \retval 1 if any data was appended to the buffer
+ * \retval 2 if the data appended to the buffer contained a text paragraph
+ * \retval 0 if no data was appended to the buffer
*/
static int xmldoc_parse_common_elements(struct ast_xml_node *node, const char *tabs, const char *posttabs, struct ast_str **buffer)
{
@@ -1320,17 +1374,20 @@ static int xmldoc_parse_common_elements(struct ast_xml_node *node, const char *t
|| xmldoc_parse_info(node, tabs, posttabs, buffer));
}
-/*! \internal
- * \brief Parse a element.
- * \param node The element pointer.
- * \param tabs Added this string before the content of the element.
- * \param posttabs Added this string after the content of the element.
- * \param buffer This must be an already allocated ast_str. It will be used
- * to store the result (if already has something it will be appended to the current
- * string).
- * \retval 1 If 'node' is a named 'para'.
- * \retval 2 If data is appended in buffer.
- * \retval 0 on error.
+/*!
+ * \internal
+ * \brief Parse a element.
+ *
+ * \param node The element pointer.
+ * \param tabs Added this string before the content of the element.
+ * \param posttabs Added this string after the content of the element.
+ * \param buffer This must be an already allocated ast_str. It will be used
+ * to store the result (if already has something it will be appended to the current
+ * string).
+ *
+ * \retval 1 If 'node' is a named 'para'.
+ * \retval 2 If data is appended in buffer.
+ * \retval 0 on error.
*/
static int xmldoc_parse_para(struct ast_xml_node *node, const char *tabs, const char *posttabs, struct ast_str **buffer)
{
@@ -1376,15 +1433,18 @@ static int xmldoc_parse_para(struct ast_xml_node *node, const char *tabs, const
return ret;
}
-/*! \internal
- * \brief Parse special elements defined in 'struct special_tags' special elements must have a element inside them.
- * \param fixnode special tag node pointer.
- * \param tabs put tabs before printing the node content.
- * \param posttabs put posttabs after printing node content.
- * \param buffer Output buffer, the special tags will be appended here.
- * \retval 0 if no special element is parsed.
- * \retval 1 if a special element is parsed (data is appended to buffer).
- * \retval 2 if a special element is parsed and also a element is parsed inside the specialtag.
+/*!
+ * \internal
+ * \brief Parse special elements defined in 'struct special_tags' special elements must have a element inside them.
+ *
+ * \param fixnode special tag node pointer.
+ * \param tabs put tabs before printing the node content.
+ * \param posttabs put posttabs after printing node content.
+ * \param buffer Output buffer, the special tags will be appended here.
+ *
+ * \retval 0 if no special element is parsed.
+ * \retval 1 if a special element is parsed (data is appended to buffer).
+ * \retval 2 if a special element is parsed and also a element is parsed inside the specialtag.
*/
static int xmldoc_parse_specialtags(struct ast_xml_node *fixnode, const char *tabs, const char *posttabs, struct ast_str **buffer)
{
@@ -1427,16 +1487,19 @@ static int xmldoc_parse_specialtags(struct ast_xml_node *fixnode, const char *ta
return ret;
}
-/*! \internal
- * \brief Parse an 'info' tag inside an element.
- * \param node A pointer to the 'info' xml node.
- * \param tabs A string to be appended at the beginning of each line being printed
- * inside 'buffer'
- * \param posttabs Add this string after the content of the element, if one exists
- * \param String buffer to put values found inide the info element.
- * \ret 2 if the information contained a para element, and it returned a value of 2
- * \ret 1 if information was put into the buffer
- * \ret 0 if no information was put into the buffer or error
+/*!
+ * \internal
+ * \brief Parse an 'info' tag inside an element.
+ *
+ * \param node A pointer to the 'info' xml node.
+ * \param tabs A string to be appended at the beginning of each line being printed
+ * inside 'buffer'
+ * \param posttabs Add this string after the content of the element, if one exists
+ * \param String buffer to put values found inide the info element.
+ *
+ * \retval 2 if the information contained a para element, and it returned a value of 2
+ * \retval 1 if information was put into the buffer
+ * \retval 0 if no information was put into the buffer or error
*/
static int xmldoc_parse_info(struct ast_xml_node *node, const char *tabs, const char *posttabs, struct ast_str **buffer)
{
@@ -1476,15 +1539,18 @@ static int xmldoc_parse_info(struct ast_xml_node *node, const char *tabs, const
return ret;
}
-/*! \internal
- * \brief Parse an element from the xml documentation.
- * \param fixnode Pointer to the 'argument' xml node.
- * \param insideparameter If we are parsing an inside a .
- * \param paramtabs pre tabs if we are inside a parameter element.
- * \param tabs What to be printed before the argument name.
- * \param buffer Output buffer to put values found inside the element.
- * \retval 1 If there is content inside the argument.
- * \retval 0 If the argument element is not parsed, or there is no content inside it.
+/*!
+ * \internal
+ * \brief Parse an element from the xml documentation.
+ *
+ * \param fixnode Pointer to the 'argument' xml node.
+ * \param insideparameter If we are parsing an inside a .
+ * \param paramtabs pre tabs if we are inside a parameter element.
+ * \param tabs What to be printed before the argument name.
+ * \param buffer Output buffer to put values found inside the element.
+ *
+ * \retval 1 If there is content inside the argument.
+ * \retval 0 If the argument element is not parsed, or there is no content inside it.
*/
static int xmldoc_parse_argument(struct ast_xml_node *fixnode, int insideparameter, const char *paramtabs, const char *tabs, struct ast_str **buffer)
{
@@ -1519,16 +1585,19 @@ static int xmldoc_parse_argument(struct ast_xml_node *fixnode, int insideparamet
return ret;
}
-/*! \internal
- * \brief Parse a node inside a node.
- * \param node The variable node to parse.
- * \param tabs A string to be appended at the begining of the output that will be stored
- * in buffer.
- * \param buffer This must be an already created ast_str. It will be used
- * to store the result (if already has something it will be appended to the current
- * string).
- * \retval 0 if no data is appended.
- * \retval 1 if data is appended.
+/*!
+ * \internal
+ * \brief Parse a node inside a node.
+ *
+ * \param node The variable node to parse.
+ * \param tabs A string to be appended at the begining of the output that will be stored
+ * in buffer.
+ * \param buffer This must be an already created ast_str. It will be used
+ * to store the result (if already has something it will be appended to the current
+ * string).
+ *
+ * \retval 0 if no data is appended.
+ * \retval 1 if data is appended.
*/
static int xmldoc_parse_variable(struct ast_xml_node *node, const char *tabs, struct ast_str **buffer)
{
@@ -1577,16 +1646,19 @@ static int xmldoc_parse_variable(struct ast_xml_node *node, const char *tabs, st
return ret;
}
-/*! \internal
- * \brief Parse a node and put all the output inside 'buffer'.
- * \param node The variablelist node pointer.
- * \param tabs A string to be appended at the begining of the output that will be stored
- * in buffer.
- * \param buffer This must be an already created ast_str. It will be used
- * to store the result (if already has something it will be appended to the current
- * string).
- * \retval 1 If a element is parsed.
- * \retval 0 On error.
+/*!
+ * \internal
+ * \brief Parse a node and put all the output inside 'buffer'.
+ *
+ * \param node The variablelist node pointer.
+ * \param tabs A string to be appended at the begining of the output that will be stored
+ * in buffer.
+ * \param buffer This must be an already created ast_str. It will be used
+ * to store the result (if already has something it will be appended to the current
+ * string).
+ *
+ * \retval 1 If a element is parsed.
+ * \retval 0 On error.
*/
static int xmldoc_parse_variablelist(struct ast_xml_node *node, const char *tabs, struct ast_str **buffer)
{
@@ -1635,13 +1707,14 @@ static int xmldoc_parse_variablelist(struct ast_xml_node *node, const char *tabs
/*!
* \internal
* \brief Build seealso information for an item
+ *
* \param node The seealso node to parse
*
* \note This method exists for when you already have the node. This
* prevents having to lock the documentation tree twice
*
- * \returns A malloc'd character pointer to the seealso information of the item
- * \returns NULL on failure
+ * \retval A malloc'd character pointer to the seealso information of the item
+ * \retval NULL on failure
*
* \since 11
*/
@@ -1727,12 +1800,15 @@ char *ast_xmldoc_build_seealso(const char *type, const char *name, const char *m
return output;
}
-/*! \internal
- * \brief Parse a node.
- * \brief fixnode An ast_xml_node pointer to the node.
- * \bried buffer The output buffer.
- * \retval 0 if content is not found inside the enum element (data is not appended to buffer).
- * \retval 1 if content is found and data is appended to buffer.
+/*!
+ * \internal
+ * \brief Parse a node.
+ *
+ * \param fixnode An ast_xml_node pointer to the node.
+ * \param buffer The output buffer.
+ *
+ * \retval 0 if content is not found inside the enum element (data is not appended to buffer).
+ * \retval 1 if content is found and data is appended to buffer.
*/
static int xmldoc_parse_enum(struct ast_xml_node *fixnode, const char *tabs, struct ast_str **buffer)
{
@@ -1757,12 +1833,15 @@ static int xmldoc_parse_enum(struct ast_xml_node *fixnode, const char *tabs, str
return ret;
}
-/*! \internal
- * \brief Parse a node.
- * \param fixnode As ast_xml pointer to the node.
- * \param buffer The ast_str output buffer.
- * \retval 0 if no node was parsed.
- * \retval 1 if a node was parsed.
+/*!
+ * \internal
+ * \brief Parse a node.
+ *
+ * \param fixnode As ast_xml pointer to the node.
+ * \param buffer The ast_str output buffer.
+ *
+ * \retval 0 if no node was parsed.
+ * \retval 1 if a node was parsed.
*/
static int xmldoc_parse_enumlist(struct ast_xml_node *fixnode, const char *tabs, struct ast_str **buffer)
{
@@ -1791,14 +1870,17 @@ static int xmldoc_parse_enumlist(struct ast_xml_node *fixnode, const char *tabs,
return ret;
}
-/*! \internal
- * \brief Parse an