return 0;
}
-/* \brief Playback the given filename and monitor for any dtmf interrupts.
+/*! \brief Playback the given filename and monitor for any dtmf interrupts.
*
* This function is used to playback sound files on a given channel and optionally
* allow dtmf interrupts to occur.
* \param channel Optional channel to play file on if bridge_channel not given
* \param filename The file name to playback
*
- * \retval -1 failure during playback, 0 on file was fully played, 1 on dtmf interrupt.
+ * \retval -1 failure during playback.
+ * \retval 0 on file was fully played.
+ * \retval 1 on dtmf interrupt.
*/
static int play_file(struct ast_bridge_channel *bridge_channel, struct ast_channel *channel,
const char *filename)
ast_channel_name(user->chan));
}
-/*
+/*!
* \internal
* \brief Mute/unmute a single user.
*/
return CLI_SHOWUSAGE;
}
-/* \internal
+/*! \internal
* \brief finds a conference by name and locks/unlocks.
*
* \retval 0 success
return res;
}
-/* \internal
+/*! \internal
* \brief finds a conference user by channel name and mutes/unmutes them.
*
* \retval 0 success
return RESULT_FAILURE;
}
-/* \brief Gets members penalty.
+/*!
+ * \brief Gets members penalty.
* \return Return the members penalty or RESULT_FAILURE on error.
-*/
+ */
static int get_member_penalty(char *queuename, char *interface)
{
int foundqueue = 0, penalty;
return 0;
}
-/* \brief Find a member by looking up queuename and interface.
+/*!
+ * \brief Find a member by looking up queuename and interface.
* \return member or NULL if member not found.
-*/
+ */
static struct member *find_member_by_queuename_and_interface(const char *queuename, const char *interface)
{
struct member *mem = NULL;
* \param chan Channel to balance stack on.
*
* \note The channel is already locked when called.
- *
- * \return Nothing
*/
static void balance_stack(struct ast_channel *chan)
{
/*! \brief Dialplan application name */
static const char *stasis = "Stasis";
-/*! /brief Stasis dialplan application callback */
+/*! \brief Stasis dialplan application callback */
static int app_exec(struct ast_channel *chan, const char *data)
{
char *parse = NULL;
* \param recip
* \param fmt
* \param dir
+ * \param flag, dest_folder
*
* This works with IMAP storage based mailboxes.
*
*
* This method is used when mailboxes are stored in an ODBC back end.
* The specified message is directly deleted from the database 'voicemessages' table.
- *
- * \return the value greater than zero on success to indicate the number of messages, less than zero on error.
*/
static void delete_file(const char *sdir, int smsg)
{
*
* \details
* original dialstring:
- * DAHDI/[i<span>-](g|G|r|R)<group#(0-63)>[c|r<cadence#>|d][/extension[/options]]
+ * \verbatim
+ DAHDI/[i<span>-](g|G|r|R)<group#(0-63)>[c|r<cadence#>|d][/extension[/options]]
+ \endverbatim
*
* The modified dialstring will have prefixed the channel-group section
* with the ISDN channel restriction.
*
* buf:
- * DAHDI/i<span>-(g|G|r|R)<group#(0-63)>[c|r<cadence#>|d][/extension[/options]]
+ * \verbatim
+ DAHDI/i<span>-(g|G|r|R)<group#(0-63)>[c|r<cadence#>|d][/extension[/options]]
+ \endverbatim
*
* The routine will check to see if the ISDN channel restriction is already
* in the original dialstring.
* \param law Companding law to use.
* \param exten Dialplan extension for incoming call.
* \param requestor Channel requesting this new channel.
+ * \param assignedids
*
* \retval ast_channel on success.
* \retval NULL on error.
/*!
* \internal
* \brief Unload all of the currently loaded firmware.
- *
- * return Nothing
*/
void iax_firmware_unload(void);
/*! \brief D Channel mISDN driver stack ID (Parent stack ID) */
int d_stid;
- /*! /brief Number of B channels supported by this port */
+ /*! \brief Number of B channels supported by this port */
int b_num;
/*! \brief B Channel mISDN driver stack IDs (Child stack IDs) */
*
* \param pri PRI span control structure.
*
- * \return Nothing
- *
* \note Assumes the pri->lock is already obtained.
*/
static void sig_pri_span_devstate_changed(struct sig_pri_span *pri)
* \since 1.8
*
* \param p sig_pri channel structure.
- *
- * \return Nothing
*/
static void sig_pri_set_caller_id(struct sig_pri_chan *p)
{
*
* \param p sig_pri channel structure.
* \param dnid Dialed Number Identifier string.
- *
- * \return Nothing
*/
static void sig_pri_set_dnid(struct sig_pri_chan *p, const char *dnid)
{
*
* \param p sig_pri channel structure.
* \param rdnis Redirecting Directory Number Information Service (RDNIS) string.
- *
- * \return Nothing
*/
static void sig_pri_set_rdnis(struct sig_pri_chan *p, const char *rdnis)
{
*
* \param ast_subaddress Asterisk party subaddress structure.
* \param pri_subaddress PRI party subaddress structure.
- *
- * \return Nothing
- *
*/
static void sig_pri_set_subaddress(struct ast_party_subaddress *ast_subaddress, const struct pri_party_subaddress *pri_subaddress)
{
* \param pri_subaddress PRI party subaddress structure.
* \param ast_subaddress Asterisk party subaddress structure.
*
- * \return Nothing
- *
* \note Assumes that pri_subaddress has been previously memset to zero.
*/
static void sig_pri_party_subaddress_from_ast(struct pri_party_subaddress *pri_subaddress, const struct ast_party_subaddress *ast_subaddress)
* \param pri_name PRI party name structure.
* \param ast_name Asterisk party name structure.
*
- * \return Nothing
- *
* \note Assumes that pri_name has been previously memset to zero.
*/
static void sig_pri_party_name_from_ast(struct pri_party_name *pri_name, const struct ast_party_name *ast_name)
* \param pri_number PRI party number structure.
* \param ast_number Asterisk party number structure.
*
- * \return Nothing
- *
* \note Assumes that pri_number has been previously memset to zero.
*/
static void sig_pri_party_number_from_ast(struct pri_party_number *pri_number, const struct ast_party_number *ast_number)
* \param pri_id PRI party id structure.
* \param ast_id Asterisk party id structure.
*
- * \return Nothing
- *
* \note Assumes that pri_id has been previously memset to zero.
*/
static void sig_pri_party_id_from_ast(struct pri_party_id *pri_id, const struct ast_party_id *ast_id)
* \param pvt sig_pri private channel structure.
* \param ast Asterisk channel
*
- * \return Nothing
- *
* \note Assumes that the PRI lock is already obtained.
*/
static void sig_pri_redirecting_update(struct sig_pri_chan *pvt, struct ast_channel *ast)
* \since 1.8
*
* \param p sig_pri channel structure.
- *
- * \return Nothing
*/
static void sig_pri_dsp_reset_and_flush_digits(struct sig_pri_chan *p)
{
* \since 1.8
*
* \param p Channel private control structure.
- *
- * \return Nothing
*/
static void sig_pri_open_media(struct sig_pri_chan *p)
{
* \param p Channel private control structure.
*
* \note Assumes the private and owner are locked.
- *
- * \return Nothing
*/
static void sig_pri_ami_channel_event(struct sig_pri_chan *p)
{
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_lock_owner(struct sig_pri_span *pri, int chanpos)
{
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void pri_queue_frame(struct sig_pri_span *pri, int chanpos, struct ast_frame *frame)
{
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_queue_hold(struct sig_pri_span *pri, int chanpos)
{
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_queue_unhold(struct sig_pri_span *pri, int chanpos)
{
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void pri_queue_control(struct sig_pri_span *pri, int chanpos, int subclass)
{
* \note The unlocking/locking sequence now present has been stress tested
* without deadlocks. Please don't change it without consulting
* core development team members.
- *
- * \return Nothing
*/
static void sig_pri_queue_hangup(struct sig_pri_span *pri, int chanpos)
{
* \param pri PRI span control structure.
* \param chanpos Channel position in the span.
* \param cause String describing the cause to be placed into the frame.
+ * \param ast_cause
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void pri_queue_pvt_cause_data(struct sig_pri_span *pri, int chanpos, const char *cause, int ast_cause)
{
* Asks the channel driver to queue the span for destruction at a
* possibly later time, if (e.g.) locking considerations don't allow
* destroying it right now.
- *
- * \return Nothing
*/
static void pri_destroy_later(struct sig_pri_span *pri)
{
* \param cause Reason call was killed.
*
* \note Assumes the pvt->pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_kill_call(struct sig_pri_span *pri, q931_call *call, int cause)
{
* \param pri PRI span control structure.
* \param number Number to apply numbering plan.
* \param plan Numbering plan to apply.
- *
- * \return Nothing
*/
static void apply_plan_to_number(char *buf, size_t size, const struct sig_pri_span *pri, const char *number, int plan)
{
* \param pri PRI span control structure.
* \param number Number to apply numbering plan.
* \param plan Numbering plan to apply.
- *
- * \return Nothing
*/
static void apply_plan_to_existing_number(char *buf, size_t size, const struct sig_pri_span *pri, const char *number, int plan)
{
* \param pri PRI span control structure.
*
* \note Assumes the pri->lock is already obtained.
- *
- * \return Nothing
*/
static void pri_check_restart(struct sig_pri_span *pri)
{
* \param pri PRI span control structure.
*
* \note Assumes the pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_init_config(struct sig_pri_chan *pvt, struct sig_pri_span *pri)
{
*
* \note The filled in ast_name structure needs to be destroyed by
* ast_party_name_free() when it is no longer needed.
- *
- * \return Nothing
*/
static void sig_pri_party_name_convert(struct ast_party_name *ast_name, const struct pri_party_name *pri_name)
{
*
* \note The filled in ast_number structure needs to be destroyed by
* ast_party_number_free() when it is no longer needed.
- *
- * \return Nothing
*/
static void sig_pri_party_number_convert(struct ast_party_number *ast_number, const struct pri_party_number *pri_number, struct sig_pri_span *pri)
{
*
* \note The filled in ast_id structure needs to be destroyed by
* ast_party_id_free() when it is no longer needed.
- *
- * \return Nothing
*/
static void sig_pri_party_id_convert(struct ast_party_id *ast_id, const struct pri_party_id *pri_id, struct sig_pri_span *pri)
{
*
* \note The filled in ast_redirecting structure needs to be destroyed by
* ast_party_redirecting_free() when it is no longer needed.
- *
- * \return Nothing
*/
static void sig_pri_redirecting_convert(struct ast_party_redirecting *ast_redirecting,
const struct pri_party_redirecting *pri_redirecting,
* \param msg Event message string being built.
* \param prefix Prefix to add to the party id lines.
* \param party Party information to encode.
- *
- * \return Nothing
*/
static void party_json_to_ami(struct ast_str **msg, const char *prefix, struct ast_json *party)
{
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the owner channel lock is already obtained if still present.
- *
- * \return Nothing
*/
static void sig_pri_mcid_event(struct sig_pri_span *pri, const struct pri_subcmd_mcid_req *mcid, struct ast_channel *owner)
{
* \param is_successful TRUE if the transfer was successful.
*
* \note Assumes the rsp->pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_transfer_rsp(struct xfer_rsp_data *rsp, int is_successful)
{
* \since 1.8
*
* \param data Monitor instance to destroy.
- *
- * \return Nothing
*/
static void sig_pri_cc_monitor_instance_destroy(void *data)
{
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_cc_generic_check(struct sig_pri_span *pri, int chanpos, enum ast_cc_service_type service)
{
* \param pri PRI span control structure.
* \param cc_id CC record ID.
* \param is_agent TRUE if the cc_id is for an agent.
- *
- * \return Nothing
*/
static void sig_pri_cc_link_canceled(struct sig_pri_span *pri, long cc_id, int is_agent)
{
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri private is locked
* \note Assumes the owner channel lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_aoc_s_from_pri(const struct pri_subcmd_aoc_s *aoc_s, struct ast_channel *owner, int passthrough)
{
* \brief Generate AOC Request Response
* \since 1.8
*
- * \param aoc_request
+ * \param aoc_request, pvt, call
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri private is locked
* \note Assumes the owner channel lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_aoc_request_from_pri(const struct pri_subcmd_aoc_request *aoc_request, struct sig_pri_chan *pvt, q931_call *call)
{
* \brief Generate AOC-D AST_CONTROL_AOC frame
* \since 1.8
*
- * \param aoc_e AOC-D event parameters.
+ * \param aoc_d AOC-D event parameters.
* \param owner Asterisk channel associated with the call.
* \param passthrough indicating if this message should be queued on the ast channel
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri private is locked
* \note Assumes the owner channel lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_aoc_d_from_pri(const struct pri_subcmd_aoc_d *aoc_d, struct ast_channel *owner, int passthrough)
{
* \note Assumes the sig_pri private is locked
* \note Assumes the owner channel lock is already obtained.
* \note owner channel may be NULL. In that case, generate event only
- *
- * \return Nothing
*/
static void sig_pri_aoc_e_from_pri(const struct pri_subcmd_aoc_e *aoc_e, struct ast_channel *owner, int passthrough)
{
* \brief send an AOC-S message on the current call
*
* \param pvt sig_pri private channel structure.
- * \param generic decoded ast AOC message
- *
- * \return Nothing
+ * \param decoded decoded ast AOC message
*
* \note Assumes that the PRI lock is already obtained.
*/
* \brief send an AOC-D message on the current call
*
* \param pvt sig_pri private channel structure.
- * \param generic decoded ast AOC message
- *
- * \return Nothing
+ * \param decoded decoded ast AOC message
*
* \note Assumes that the PRI lock is already obtained.
*/
* \brief send an AOC-E message on the current call
*
* \param pvt sig_pri private channel structure.
- * \param generic decoded ast AOC message
- *
- * \return Nothing
+ * \param decoded decoded ast AOC message
*
* \note Assumes that the PRI lock is already obtained.
*/
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_send_aoce_termination_request(struct sig_pri_span *pri, int chanpos, unsigned int ms)
{
* need to use the pointer to send a response message back.
*
* \note Assumes the pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_handle_cis_subcmds(struct sig_pri_span *pri, int event_id,
const struct pri_subcommands *subcmds, q931_call *call_rsp)
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_handle_subcmds(struct sig_pri_span *pri, int chanpos, int event_id,
const struct pri_subcommands *subcmds, q931_call *call_rsp)
*
* \note Assumes the pvt->pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pvt) is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_moh_fsm_event(struct ast_channel *chan, struct sig_pri_chan *pvt, enum sig_pri_moh_event event)
{
* \param ev Hold acknowledge event received.
*
* \note Assumes the pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_handle_hold_ack(struct sig_pri_span *pri, pri_event *ev)
{
* \param ev Hold reject event received.
*
* \note Assumes the pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_handle_hold_rej(struct sig_pri_span *pri, pri_event *ev)
{
* \param ev Retrieve event received.
*
* \note Assumes the pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_handle_retrieve(struct sig_pri_span *pri, pri_event *ev)
{
* \param ev Retrieve acknowledge event received.
*
* \note Assumes the pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_handle_retrieve_ack(struct sig_pri_span *pri, pri_event *ev)
{
* \param ev Retrieve reject event received.
*
* \note Assumes the pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_handle_retrieve_rej(struct sig_pri_span *pri, pri_event *ev)
{
*
* \note Assumes the pri->lock is already obtained.
* \note Assumes the sig_pri_lock_private(pri->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void setup_incoming_channel(struct sig_pri_span *pri, int chanpos, pri_event *ev)
{
* \param e SETUP event received.
*
* \note Assumes the pri->lock is already obtained.
- *
- * \return Nothing
*/
static void sig_pri_handle_setup(struct sig_pri_span *pri, pri_event *e)
{
*
* \param p sig_pri channel structure.
* \param rdest Dial string buffer to extract called number and subaddress.
- * \param called Buffer to fill with extracted <number>[:<subaddress>]
+ * \param called Buffer to fill with extracted \<number\>[:\<subaddress\>]
* \param called_buff_size Size of buffer to fill.
*
* \note Parsing must remain in sync with sig_pri_call().
- *
- * \return Nothing
*/
void sig_pri_extract_called_num_subaddr(struct sig_pri_chan *p, const char *rdest, char *called, size_t called_buff_size)
{
* \param ast Asterisk channel
*
* \note Channel and private lock are already held.
- *
- * \return Nothing
*/
void sig_pri_dial_complete(struct sig_pri_chan *pvt, struct ast_channel *ast)
{
* \param vm_box Voicemail mailbox number
* \param mbox_id Mailbox id
* \param num_messages Number of messages waiting.
- *
- * \return Nothing
*/
static void sig_pri_send_mwi_indication(struct sig_pri_span *pri, const char *vm_number, const char *vm_box, const char *mbox_id, int num_messages)
{
*
* \param userdata the data provider in the call to stasis_subscribe()
* \param sub the subscription to which the message was delivered for this callback
- * \param topic the topic on which the message was published
* \param msg the message being passed to the subscriber
- *
- * \return Nothing
*/
static void sig_pri_mwi_event_cb(void *userdata, struct stasis_subscription *sub, struct stasis_message *msg)
{
* \since 1.8
*
* \param pri PRI span control structure.
- *
- * \return Nothing
*/
static void sig_pri_mwi_cache_update(struct sig_pri_span *pri)
{
* \since 1.8
*
* \param pri PRI span control structure.
- *
- * \return Nothing
*/
void sig_pri_stop_pri(struct sig_pri_span *pri)
{
* \details
* Since the chan_dahdi.conf file can declare channels in any order, we need to sort
* the private channel pointer array.
- *
- * \return Nothing
*/
static void sig_pri_sort_pri_chans(struct sig_pri_span *pri)
{
* \param noalarm Non-zero if not in alarm mode.
*
* \note Assumes the sig_pri_lock_private(p) is already obtained.
- *
- * \return Nothing
*/
void sig_pri_chan_alarm_notify(struct sig_pri_chan *p, int noalarm)
{
/*!
* \brief Determine if layer 1 alarms are ignored.
*
- * \param p Channel private pointer.
+ * \param pri Channel private pointer.
*
* \return TRUE if the alarm is ignored.
*/
* \since 1.8
*
* \param doomed sig_pri private channel structure to delete.
- *
- * \return Nothing
*/
void sig_pri_chan_delete(struct sig_pri_chan *doomed)
{
*
* \param p Channel to send text over
* \param text Text to send.
- *
- * \return Nothing
*/
void sig_pri_sendtext(struct sig_pri_chan *p, const char *text)
{
* The duty of this is to issue a propper response to a
* CC request from the caller by acknowledging receipt
* of that request or rejecting it.
- *
- * \return Nothing
*/
void sig_pri_cc_agent_req_rsp(struct ast_cc_agent *agent, enum ast_cc_agent_response_reason reason)
{
* \note
* The agent private_data pointer may be NULL if the agent
* constructor failed.
- *
- * \return Nothing
*/
void sig_pri_cc_agent_destructor(struct ast_cc_agent *agent)
{
/*!
* \brief Unload the sig_pri submodule.
* \since 1.8
- *
- * \return Nothing
*/
void sig_pri_unload(void)
{
*
* \param pvt Private structure of the user of this module.
* \param chan Channel associated with the private pointer
- *
- * \return Nothing
*/
void (* const ami_channel_event)(void *pvt, struct ast_channel *chan);
* the configured threshold.
* AST_DEVICE_UNAVAILABLE - Span is in alarm.
* \note
- * Device name: DAHDI/I<span>/threshold
+ * Device name: \verbatim DAHDI/I<span>/threshold \endverbatim
*/
int threshold_devstate;
/*!
* \since 1.8.12
*
* \param p Channel private control structure.
- *
- * \return Nothing
*/
static void sig_ss7_open_media(struct sig_ss7_chan *p)
{
* \since 1.8
*
* \param p sig_ss7 channel structure.
- *
- * \return Nothing
*/
static void sig_ss7_set_caller_id(struct sig_ss7_chan *p)
{
*
* \param p sig_ss7 channel structure.
* \param dnid Dialed Number Identifier string.
- *
- * \return Nothing
*/
static void sig_ss7_set_dnid(struct sig_ss7_chan *p, const char *dnid)
{
*
* \param pvt Channel to determine if available.
*
- * \return TRUE if the channel is available.
+ * \retval TRUE if the channel is available.
*/
static int sig_ss7_is_chan_available(struct sig_ss7_chan *pvt)
{
*
* \note Assumes the ss7->lock is already obtained.
* \note Assumes the sig_ss7_lock_private(ss7->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void sig_ss7_lock_owner(struct sig_ss7_linkset *ss7, int chanpos)
{
*
* \note Assumes the ss7->lock is already obtained.
* \note Assumes the sig_ss7_lock_private(ss7->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void sig_ss7_queue_frame(struct sig_ss7_linkset *ss7, int chanpos, struct ast_frame *frame)
{
*
* \note Assumes the ss7->lock is already obtained.
* \note Assumes the sig_ss7_lock_private(ss7->pvts[chanpos]) is already obtained.
- *
- * \return Nothing
*/
static void sig_ss7_queue_control(struct sig_ss7_linkset *ss7, int chanpos, int subclass)
{
*
* \param owner Owner channel of the pvt.
* \param cause String describing the cause to be placed into the frame.
+ * \param ast_cause
*
* \note Assumes the linkset->lock is already obtained.
* \note Assumes the sig_ss7_lock_private(linkset->pvts[chanpos]) is already obtained.
* \note Assumes linkset->pvts[chanpos]->owner is non-NULL and its lock is already obtained.
- *
- * \return Nothing
*/
static void ss7_queue_pvt_cause_data(struct ast_channel *owner, const char *cause, int ast_cause)
{
* \param cic Circuit Identification Code
* \param dpc Destination Point Code
*
- * \retval chanpos on success.
+ * \return chanpos on success.
* \retval -1 on error.
*/
int sig_ss7_find_cic(struct sig_ss7_linkset *linkset, int cic, unsigned int dpc)
* \param dpc Destination Point Code
* \param msg_name Message type name that failed.
*
- * \retval chanpos on success.
+ * \return chanpos on success.
* \retval -1 on error.
*/
static int ss7_find_cic_gripe(struct sig_ss7_linkset *linkset, int cic, unsigned int dpc, const char *msg_name)
* \param endcic Circuit Identification Code to search up-to
* \param dpc Destination Point Code
* \param state Array containing the status of the search
- *
- * \retval Nothing.
*/
static void ss7_check_range(struct sig_ss7_linkset *linkset, int startcic, int endcic, unsigned int dpc, unsigned char *state)
{
*
* \note Assumes the linkset->lock is already obtained.
*
- * \return TRUE if all CICs in the range are present
+ * \retval TRUE if all CICs in the range are present
*/
int sig_ss7_find_cic_range(struct sig_ss7_linkset *linkset, int startcic, int endcic, unsigned int dpc)
{
*
* \note Assumes the linkset->lock is already obtained.
* \note Must be called without sig_ss7_lock_private() obtained.
- *
- * \return Nothing.
*/
static inline void ss7_block_cics(struct sig_ss7_linkset *linkset, int startcic, int endcic, unsigned int dpc, unsigned char state[], int block, int remotely, int type)
{
* \param dpc Destination Point Code.
*
* \note Must be called without sig_ss7_lock_private() obtained.
- *
- * \return Nothing.
*/
static void ss7_inservice(struct sig_ss7_linkset *linkset, int startcic, int endcic, unsigned int dpc)
{
*
* \note Assumes the ss7->lock is already obtained.
* \note Assumes sig_ss7_lock_private(p) is already obtained.
- *
- * \return Nothing.
*/
static void ss7_do_rsc(struct sig_ss7_chan *p)
{
* \brief Start RSC procedure on a specific link
* \since 11.0
*
- * \param ss7 SS7 linkset control structure.
+ * \param linkset SS7 linkset control structure.
* \param which Channel position in the span.
*
* \note Assumes the ss7->lock is already obtained.
* \note Assumes the sig_ss7_lock_private(ss7->pvts[chanpos]) is already obtained.
*
- * \return TRUE on success
+ * \retval TRUE on success
*/
static int ss7_start_rsc(struct sig_ss7_linkset *linkset, int which)
{
*
* \note Assumes the linkset->lock is already obtained.
* \note Must be called without sig_ss7_lock_private() obtained.
- *
- * \return Nothing.
*/
static void ss7_clear_channels(struct sig_ss7_linkset *linkset, int startcic, int endcic, int dpc, int do_hangup)
{
*
* \note Assumes the linkset->lock is already obtained.
* \note Assumes the sig_ss7_lock_private(ss7->pvts[chanpos]) is already obtained.
- *
- * \return Nothing.
*/
static void ss7_start_call(struct sig_ss7_chan *p, struct sig_ss7_linkset *linkset)
{
*
* \note Assumes the linkset->lock is already obtained.
* \note Assumes the sig_ss7_lock_private(ss7->pvts[chanpos]) is already obtained.
- *
- * \return Nothing.
*/
static void ss7_match_extension(struct sig_ss7_linkset *linkset, struct sig_ss7_chan *p, ss7_event *e)
{
* \param cic Circuit Identification Code
* \param dpc Destination Point Code
*
- * \return TRUE on success
+ * \retval TRUE on success
*/
int sig_ss7_reset_cic(struct sig_ss7_linkset *linkset, int cic, unsigned int dpc)
{
* \param do_block Action to perform. Block if TRUE.
* \param which On which CIC to perform the operation.
*
- * \return 0 on success
+ * \retval 0 on success
*/
int sig_ss7_cic_blocking(struct sig_ss7_linkset *linkset, int do_block, int which)
{
*
* \note Assumes the linkset->lock is already obtained.
*
- * \return 0 on success
+ * \retval 0 on success
*/
int sig_ss7_group_blocking(struct sig_ss7_linkset *linkset, int do_block, int chanpos, int endcic, unsigned char state[], int type)
{
*
* \note Assumes the linkset->lock is already obtained.
*
- * \return 0 on success
+ * \retval 0 on success
*/
int sig_ss7_reset_group(struct sig_ss7_linkset *linkset, int cic, unsigned int dpc, int range)
{
*
* \param linkset Controlling linkset for the channel.
* \param which Link index of the signaling channel.
- *
- * \return Nothing
*/
void sig_ss7_link_alarm(struct sig_ss7_linkset *linkset, int which)
{
*
* \param linkset Controlling linkset for the channel.
* \param which Link index of the signaling channel.
- *
- * \return Nothing
*/
void sig_ss7_link_noalarm(struct sig_ss7_linkset *linkset, int which)
{
* \param networkindicator User configuration parameter.
* \param pointcode User configuration parameter.
* \param adjpointcode User configuration parameter.
+ * \param cur_slc
*
* \retval 0 on success.
* \retval -1 on error.
* \param oldchan Old channel pointer to replace.
* \param newchan New channel pointer to set.
* \param pchan Signaling private structure pointer.
- *
- * \return Nothing
*/
void sig_ss7_fixup(struct ast_channel *oldchan, struct ast_channel *newchan, struct sig_ss7_chan *pchan)
{
* \param p Signaling private structure pointer.
* \param law Companding law preferred
* \param requestor Asterisk channel requesting a channel to dial (Can be NULL)
- * \param transfercapability
+ * \param assignedids, transfercapability
*
* \retval ast_channel on success.
* \retval NULL on error.
* \since 1.8
*
* \param doomed sig_ss7 private channel structure to delete.
- *
- * \return Nothing
*/
void sig_ss7_chan_delete(struct sig_ss7_chan *doomed)
{
* \since 1.8
*
* \param ss7 SS7 linkset control structure.
- *
- * \return Nothing
*/
void sig_ss7_init_linkset(struct sig_ss7_linkset *ss7)
{
char names[0];
};
-/* \brief Data source name
+/*! \brief Data source name
*
* This holds data that pertains to a DSN
*/
AST_LIST_ENTRY(ast_calendar_attendee) next;
};
-/* \brief Calendar events */
+/*! \brief Calendar events */
struct ast_calendar_event {
AST_DECLARE_STRING_FIELDS(
AST_STRING_FIELD(summary);
* This function will unlink the channel from the global channels container
* if it is still there and also release the current reference to the channel.
*
- * \retval NULL, convenient for clearing invalid pointers
+ * \retval NULL convenient for clearing invalid pointers
* \note Absolutely _NO_ channel locks should be held before calling this function.
*
* \since 1.8
* \brief Compare a offset with the settings of when to hang a channel up
* \param chan channel on which to check for hangup
* \param offset offset in seconds and microseconds from current time
- * \return 1, 0, or -1
+ * \retval 1
+ * \retval 0
+ * \retval -1
* This function compares a offset from current time with the absolute time
* out on a channel (when to hang up). If the absolute time out on a channel
* is earlier than current time plus the offset, it returns 1, if the two
* This function is used to destroy a channel iterator that was retrieved by
* using one of the channel_iterator_xxx_new() functions.
*
- * \return NULL, for convenience to clear out the pointer to the iterator that
+ * \retval NULL for convenience to clear out the pointer to the iterator that
* was just destroyed.
*
* \since 1.8
*
* \retval the next channel that matches the parameters used when the iterator
* was created.
- * \retval NULL, if no more channels match the iterator parameters.
+ * \retval NULL if no more channels match the iterator parameters.
*
* \since 1.8
*/
*/
void ast_cli_print_timestr_fromseconds(int fd, int seconds, const char *prefix);
-/*
+/*!
* \brief Allow a CLI command to be executed while Asterisk is shutting down.
*
* CLI commands by defeault are disabled when Asterisk is shutting down. This is
butt,
};
-/*
+/*!
* \brief Callback when configuration is updated
*
* \param cfg A copy of the configuration that is being changed.
* It allows a datastore to fix any pointers it saved to the owning channel
* in case that the owning channel has changed. Generally, this would happen
* when the datastore is set to be inherited, and a masquerade occurs.
- *
- * \return nothing.
*/
void (*chan_fixup)(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan);
*
* This is the same as the above callback, except it is called for the channel
* being masqueraded into instead of the channel that is masquerading.
- *
- * \return nothing.
*/
void (*chan_breakdown)(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan);
};
unsigned int version;
/*! \brief Callback called when a new session is attempted. Optional. */
ast_websocket_pre_callback session_attempted;
- /* \brief Callback called when a new session is established. Mandatory. */
+ /*! \brief Callback called when a new session is established. Mandatory. */
ast_websocket_callback session_established;
};
*
* \param level The trace level
* \param indent_type One of the \ref ast_trace_indent_type values
- * \param (optional) A printf style format string
- * \param (optional) Arguments
+ * \param ... A printf style format string, optionally with arguments
*
*/
#define ast_trace_raw(level, indent_type, ...) \
* \brief Print a basic trace message
*
* \param level The trace level
- * \param (optional) A printf style format string
- * \param (optional) Arguments
+ * \param ... A printf style format string, optionally with arguments
*
* This will print the file, line and function at the current indent level
*/
* \brief Print a trace message with details when a scope is entered or existed.
*
* \param level The trace level
- * \param (optional) A printf style format string
- * \param (optional) Arguments
+ * \param ... A printf style format string, optionally with arguments
*
* This will print the file, line and function plus details at the current indent level.
* \note Like RAII_VAR, this macro must be called before any code in the scope.
* \brief Scope Enter
*
* \param level The trace level
- * \param (optional) A printf style format string
- * \param (optional) Arguments
+ * \param ... A printf style format string, optionally with arguments
*/
#define SCOPE_ENTER(level, ...) \
int __scope_level = level; \
/*!
* \brief Scope Exit
*
- * \param (optional) A printf style format string
- * \param (optional) Arguments
+ * \param ... A printf style format string, optionally with arguments
*
* \details
* This macro can be used at the exit points of a statement block since it just prints the message.
* \brief Scope Exit with expression
*
* \param __expr An expression to execute after printing the message
- * \param (optional) A printf style format string
- * \param (optional) Arguments
+ * \param ... A printf style format string, optionally with arguments
*
* \details
* Handy for getting out of or continuing loops.
/*!
* \brief Scope Exit with return
*
- * \param (optional) A printf style format string
- * \param (optional) Arguments
+ * \param ... A printf style format string, optionally with arguments
*
* \details
* This macro can be used at the exit points of a function when no value
* \brief Scope Exit with return value
*
* \param __return_value The return value
- * \param (optional) A printf style format string
- * \param (optional) Arguments
+ * \param ... A printf style format string, optionally with arguments
*
* \details
* This macro can be used at the exit points of a function when a value
*
* \param[out] addr The address of the ast_sockaddr to store into
* \param sa The sockaddr structure (sockaddr_in or sockaddr_in6) to convert
- * \return Nothing
*/
#define ast_sockaddr_from_sockaddr(addr,sa) ast_sockaddr_copy_sockaddr(addr, sa, ast_addressfamily_to_sockaddrsize(((const struct sockaddr*)(sa))->sa_family))
int ast_context_add_ignorepat2(struct ast_context *con, const char *ignorepat, const char *registrar);
-/*
+/*!
* \brief Remove an ignorepat
*
* \param context context from which to remove the pattern
* \param data User data to know what to do when transport shuts down.
*
* \note The callback does not need to care that data is an ao2 object.
- *
- * \return Nothing
*/
typedef void (*ast_transport_monitor_shutdown_cb)(void *data);
/*! \brief Callback for closing a wizard */
void (*close)(void *data);
- /* \brief Callback for whether or not the wizard believes the object is stale */
+ /*! \brief Callback for whether or not the wizard believes the object is stale */
int (*is_stale)(const struct ast_sorcery *sorcery, void *data, void *object);
/*! \brief Optional callback for forcing a reload to occur, even if wizard has determined no changes */
* any remote entities publishing state for a device. e.g., An aggregate
* MWI message is the old/new MWI counts accumulated from the local and
* any remote entities publishing to a mailbox.
- *
- * \return Nothing
*/
typedef void (*cache_aggregate_publish_fn)(struct stasis_topic *topic, struct stasis_message *aggregate);
/*!
* \brief Typedef for data destructor for stasis app commands
*
- * \param data Data to destroy.
- *
- * \details
* This is called during destruction of the command or if we fail to schedule
* a command. It is passed a pointer to the user-defined data of the command.
*
- * \return Nothing
+ * \param data Data to destroy.
*/
typedef void (*command_data_destructor_fn)(void *data);
* be set to the JSON representation of the mailbox
*
* \return stasis mailbox result code indicating success or failure and cause
- * \return \c NULL on error.
+ * \retval NULL on error.
*/
enum stasis_mailbox_result stasis_app_mailbox_to_json(const char *name, struct ast_json **json);
/*!
- * brief Convert mailboxes to json array
+ * \brief Convert mailboxes to json array
*
* \return JSON representation of the mailboxes
- * \return \c NULL on error.
+ * \retval NULL on error.
*/
struct ast_json *stasis_app_mailboxes_to_json(void);
* \param old_messages count of old (read) messages in the mailbox
* \param new_messages count of new (unread) messages in the mailbox
*
- * \return 0 if successful
- * \return -1 on internal error.
+ * \retval 0 if successful
+ * \retval -1 on internal error.
*/
int stasis_app_mailbox_update(
const char *name, int old_messages, int new_messages);
*/
struct ast_tcptls_session_instance *ast_tcptls_client_start(struct ast_tcptls_session_instance *tcptls_session);
-/* \brief Creates a client connection's ast_tcptls_session_instance. */
+/*! \brief Creates a client connection's ast_tcptls_session_instance. */
struct ast_tcptls_session_instance *ast_tcptls_client_create(struct ast_tcptls_session_args *desc);
void *ast_tcptls_server_root(void *);
/*!
* \brief Notifies the test suite of a change in application state
*
- * \details
* Raises a TestEvent manager event with a subtype of StateChange. Additional parameters
* The fmt parameter allows additional parameters to be added to the manager event using
* printf style statement formatting.
*
- * \param state The state the application has changed to
- * \param fmt The message with format parameters to add to the manager event
- *
- * \return Nothing
- */
-void __ast_test_suite_event_notify(const char *file, const char *func, int line, const char *state, const char *fmt, ...)
- __attribute__((format(printf, 5, 6)));
-
-/*!
- * \ref __ast_test_suite_event_notify()
+ * \param s The state the application has changed to
+ * \param f The message with format parameters to add to the manager event
*/
#define ast_test_suite_event_notify(s, f, ...) \
__ast_test_suite_event_notify(__FILE__, __PRETTY_FUNCTION__, __LINE__, (s), (f), ## __VA_ARGS__)
+void __ast_test_suite_event_notify(const char *file, const char *func, int line, const char *state, const char *fmt, ...)
+ __attribute__((format(printf, 5, 6)));
#else
/*!
* \brief unregisters a test with the test framework
*
- * \param test callback function (required)
+ * \param cb callback function (required)
*
* \retval 0 success
* \retval -1 failure
/*!
* \brief registers a test with the test framework
*
- * \param test callback function (required)
+ * \param cb callback function (required)
*
* \retval 0 success
* \retval -1 failure
*
* \param test Unit test control structure.
* \param fmt printf type format string.
- *
- * \return Nothing
*/
void ast_test_debug(struct ast_test *test, const char *fmt, ...) __attribute__((format(printf, 2, 3)));
/*!
* \brief update test's status during testing.
*
- * \param test currently executing test
+ * \param t currently executing test
+ * \param f printf type format string
*
* \retval 0 success
* \retval -1 failure
*/
+#define ast_test_status_update(t, f, ...) __ast_test_status_update(__FILE__, __PRETTY_FUNCTION__, __LINE__, (t), (f), ## __VA_ARGS__)
int __ast_test_status_update(const char *file, const char *func, int line, struct ast_test *test, const char *fmt, ...)
__attribute__((format(printf, 5, 6)));
-/*!
- * \ref __ast_test_status_update()
- */
-#define ast_test_status_update(t, f, ...) __ast_test_status_update(__FILE__, __PRETTY_FUNCTION__, __LINE__, (t), (f), ## __VA_ARGS__)
-
/*!
* \brief Check a test condition, failing the test if it's not true.
*
* \internal
*
* \note If DO_CRASH is not defined then the function returns.
- *
- * \return Nothing
*/
static void my_do_crash(void)
{
* \brief Wipe the region payload data with a known value.
*
* \param reg Region block to be wiped.
- *
- * \return Nothing
*/
static void region_data_wipe(struct ast_region *reg)
{
* \brief Check the region payload data for memory corruption.
*
* \param reg Region block to be checked.
- *
- * \return Nothing
*/
static void region_data_check(struct ast_region *reg)
{
* \brief Flush the circular array of freed regions.
*
* \param freed Already freed region blocks storage.
- *
- * \return Nothing
*/
static void freed_regions_flush(struct ast_freed_regions *freed)
{
*
* \param freed Already freed region blocks storage.
* \param reg Region block to be freed.
- *
- * \return Nothing
*/
static void region_free(struct ast_freed_regions *freed, struct ast_region *reg)
{
*
* \param ptr Region payload data pointer.
*
- * \retval region on success.
+ * \return region on success.
* \retval NULL if not found.
*/
static struct ast_region *region_remove(void *ptr)
* \brief Check the fences of a region.
*
* \param reg Region block to check.
- *
- * \return Nothing
*/
static void region_check_fences(struct ast_region *reg)
{
/*!
* \internal
* \brief Check the fences of all regions currently allocated.
- *
- * \return Nothing
*/
static void regions_check_all_fences(void)
{
* \param selected_len Accumulated size of the selected allocations.
* \param cache_len Accumulated size of the allocations that are part of a cache.
* \param count Number of selected allocations.
- *
- * \return Nothing
*/
static void print_memory_show_common_stats(int fd,
unsigned int whales_len,
* \param list List to put into the allocated regions hash table.
*
* \note reglock must be locked before calling.
- *
- * \return Nothing
*/
static void mm_atexit_hash_restore(struct region_list *list)
{
* \param list Merge sublists onto this list.
* \param sub1 First sublist to merge.
* \param sub2 Second sublist to merge.
- *
- * \return Nothing
*/
static void mm_atexit_list_merge(struct region_list *list, struct region_list *sub1, struct region_list *sub2)
{
* \param num_lists Number of lists to remove from the source list.
* \param size Size of the sublists to remove.
* \param remaining Remaining number of elements on the source list.
- *
- * \return Nothing
*/
static void mm_atexit_list_split(struct region_list *list, struct region_list sub[], size_t num_lists, size_t size, size_t *remaining)
{
*
* \param list Allocated regions list to sort.
* \param length Length of the list.
- *
- * \return Nothing
*/
static void mm_atexit_list_sort(struct region_list *list, size_t length)
{
* \brief List all regions currently allocated.
*
* \param alloced regions list.
- *
- * \return Nothing
*/
static void mm_atexit_regions_list(struct region_list *alloced)
{
* \brief Summarize all regions currently allocated.
*
* \param alloced Sorted regions list.
- *
- * \return Nothing
*/
static void mm_atexit_regions_summary(struct region_list *alloced)
{
* \brief Dump the memory allocations atexit.
*
* \note reglock must be locked before calling.
- *
- * \return Nothing
*/
static void mm_atexit_dump(void)
{
/*!
* \internal
- * \return Nothing
*/
static void mm_atexit_final(void)
{
/*!
* \internal
- * \return Nothing
*/
static void mm_atexit_ast(void)
{
*
* \param where User data pointer needed to determine where to put output.
* \param fmt printf type format string.
- *
- * \return Nothing
*/
static void cli_output(void *where, const char *fmt, ...) __attribute__((format(printf, 2, 3)));
static void cli_output(void *where, const char *fmt, ...)
#include <arpa/nameser.h>
-/* \brief Delay between TTL expiration and the next DNS query, to make sure the
+/*! \brief Delay between TTL expiration and the next DNS query, to make sure the
resolver cache really expired. */
#define EXTRA_TTL 2
#define MAX_TTL ((INT_MAX - EXTRA_TTL) / 1000)
*
* \param num_records The number of DNS records in this DNS response
* \param buf The buffer to write the header into
- * \retval The number of bytes written to the buffer
+ * \return The number of bytes written to the buffer
*/
static int generate_dns_header(unsigned short num_records, char *buf)
{
* than necessary for the tests.
*
* \param buf The buffer to write the question into
- * \retval The number of bytes written to the buffer
+ * \return The number of bytes written to the buffer
*/
static int generate_dns_question(char *buf)
{
* the data ourselves and have sized the buffer to be way larger
* than necessary for the tests.
*
+ * \param ttl Time to live
* \param buf The buffer to write the answer into
- * \retval The number of bytes written to the buffer
+ * \return The number of bytes written to the buffer
*/
static int generate_dns_answer(int ttl, char *buf)
{
return ARRAY_LEN(NAPTR_ANSWER);
}
-/*!
- * \brief Write a DNS string to a buffer
- *
- * This writes the DNS string to the buffer and returns the total
- * number of bytes written to the buffer.
- *
- * There is no buffer size passed to this function since we provide
- * the data ourselves and have sized the buffer to be way larger
- * than necessary for the tests.
- *
- * \param string The string to write
- * \param buf The buffer to write the string into
- * \return The number of bytes written to the buffer
- */
int ast_dns_test_write_string(const struct ast_dns_test_string *string, char *buf)
{
uint8_t len = string->len;
return actual_len + 1;
}
-/*!
- * \brief Write a DNS domain to a buffer
- *
- * A DNS domain consists of a series of labels separated
- * by dots. Each of these labels gets written as a DNS
- * string. A DNS domain ends with a NULL label, which is
- * essentially a zero-length DNS string.
- *
- *
- * There is no buffer size passed to this function since we provide
- * the data ourselves and have sized the buffer to be way larger
- * than necessary for the tests.
- *
- * \param string The DNS domain to write
- * \param buf The buffer to write the domain into
- * \return The number of bytes written to the buffer
- */
int ast_dns_test_write_domain(const char *string, char *buf)
{
char *copy = ast_strdupa(string);
* \param module Name of the module requesting the API.
*
* \return New \ref optional_api_user.
- * \return \c NULL on error.
+ * \retval NULL on error.
*/
static struct optional_api_user *optional_api_user_create(
ast_optional_fn *optional_ref, ast_optional_fn stub, const char *module)
*
* \param symname Name of the optional function.
* \return New \ref optional_api.
- * \return \c NULL on error.
+ * \retval NULL on error.
*/
static struct optional_api *optional_api_create(const char *symname)
{
/*!
* \brief Gets (or creates) the \ref optional_api for the given function.
*
- * \param sysname Name of the function to look up.
+ * \param symname Name of the function to look up.
* \return Corresponding \ref optional_api.
- * \return \c NULL on error.
+ * \retval NULL on error.
*/
static struct optional_api *get_api(const char *symname)
{
* \param dst Destination buffer to copy src string.
* \param src Null terminated string to copy.
* \param dst_size Number of bytes in the dst buffer.
- * \param nofluf Nonzero if '-' chars are not copied.
+ * \param nofluff Nonzero if '-' chars are not copied.
*
* \return Number of bytes written to dst including null terminator.
*/
* \brief route_table vector element cleanup.
*
* \param elem Element to cleanup
- *
- * \return Nothing
*/
#define ROUTE_TABLE_ELEM_CLEANUP(elem) ao2_cleanup((elem).message_type)
* \brief Executes registered unit tests
*
* \param name of test to run (optional)
- * \param test category to run (optional)
+ * \param category category to run (optional)
* \param cli args for cli test updates (optional)
*
* \return number of tests executed.
* \brief Generate test results.
*
* \param name of test result to generate (optional)
- * \param test category to generate (optional)
- * \param path to xml file to generate. (optional)
- * \param path to txt file to generate, (optional)
+ * \param category category to generate (optional)
+ * \param xml_path path to xml file to generate (optional)
+ * \param txt_path path to txt file to generate (optional)
*
* \retval 0 success
* \retval -1 failure
* \internal
* \brief removes test from container
*
- * \return ast_test removed from list on success, or NULL on failure
+ * \return ast_test removed from list on success
+ * \retval NULL on failure
*/
static struct ast_test *test_remove(ast_test_cb_t *cb)
{
return insane ? -1 : 0;
}
-/* \brief Set the forced default values if they exist */
+/*! \brief Set the forced default values if they exist */
static void process_defaults(void)
{
struct category *cat;
* at the top of the source tree.
*/
-/*
+/*!
* \file
*
* \author Russell Bryant <russell@digium.com>
* at the top of the source tree.
*/
-/*
+/*!
* \file
*
* \author Russell Bryant <russell@digium.com>
* at the top of the source tree.
*/
-/*
+/*!
* \file
*
* \author Sean Bright <sean.bright@gmail.com>
* at the top of the source tree.
*/
-/*
+/*!
* \file
*
* \author Russell Bryant <russell@digium.com>
ast_log(LOG_WARNING, "Expected at least %d arguments in map, but got only %d\n", 4, x);
}
-/* \note Called with the peers list already locked */
+/*! \note Called with the peers list already locked */
static int do_register(const void *data)
{
struct dundi_ie_data ied;
* lua, don't call directly)
*
* \param L the lua_State to use
- * \return nothing
*
* This funciton is executed as the '()' operator for apps accessed through the
* 'app' table.
*
+ * \return LUA error
+ *
* \code
* app.playback('demo-congrats')
* \endcode
* 'get()' function in the following example as would be seen in
* extensions.lua.
*
+ * \return LUA error
+ *
* \code
* channel.variable:get()
* \endcode
* This function is the 'set()' function in the following example as would be
* seen in extensions.lua.
*
+ * \return LUA error
+ *
* \code
* channel.variable:set("value")
* \endcode
return max_connections;
}
-/*
+/*!
* \brief Determine if the connection has died.
*
* \param connection The connection to check
return 0;
}
-/*! \brief Helper function which turns a cipher name into an identifier */
#if defined(PJ_HAS_SSL_SOCK) && PJ_HAS_SSL_SOCK != 0
+/*! \brief Helper function which turns a cipher name into an identifier */
static pj_ssl_cipher cipher_name_to_id(const char *name)
{
pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS];
* \internal
* \brief Add a new cipher to the transport's cipher list array.
*
- * \param transport Which transport to add the cipher to.
+ * \param state Which transport to add the cipher to.
* \param name Cipher identifier name.
*
* \retval 0 on success.
}
#endif
-/*! \brief Custom handler for TLS cipher setting */
#if defined(PJ_HAS_SSL_SOCK) && PJ_HAS_SSL_SOCK != 0
+/*! \brief Custom handler for TLS cipher setting */
static int transport_tls_cipher_handler(const struct aco_option *opt, struct ast_variable *var, void *obj)
{
struct ast_sip_transport *transport = obj;
* \brief Delete a PubSub node
* \param client the configured XMPP client we use to connect to a XMPP server
* \param node_name the name of the node to delete
- * return void
*/
static void xmpp_pubsub_delete_node(struct ast_xmpp_client *client, const char *node_name)
{
* \param v_obj A pointer to the object we want the key printed.
* \param where User data needed by prnt to determine where to put output.
* \param prnt Print output callback function to use.
- *
- * \return Nothing
*/
static void test_prnt_obj(void *v_obj, void *where, ao2_prnt_fn *prnt)
{
return ast_tvdiff_us(data->deadline, ast_tvnow()) < 0;
}
-/*! /brief Free test element */
+/*! \brief Free test element */
static void ht_delete(void *obj)
{
ast_atomic_fetchadd_int(&alloc_count, -1);
}
-/*! /brief Create test element */
+/*! \brief Create test element */
static char *ht_new(int i)
{
const int buflen = 12;
return keybuf;
}
-/*! /brief Grow the hash data as specified */
+/*! \brief Grow the hash data as specified */
static void *hash_test_grow(void *d)
{
struct hash_test *data = d;
return val;
}
-/*! /brief Create test element */
+/*! \brief Create test element */
static char *ht_new(int i)
{
const int buflen = 12;
return keybuf;
}
-/*! /brief Free test element */
+/*! \brief Free test element */
static void ht_delete(void *obj)
{
ast_free(obj);
}
-/*! /brief Grow the hash data as specified */
+/*! \brief Grow the hash data as specified */
static void *hash_test_grow(void *d)
{
struct hash_test *data = d;