Clean up doxygen warnings

This patch fixes numerous doxygen warnings across Asterisk.  It also updates
the makefile to regenerate the doxygen configuration on the local system
before running doxygen to help prevent warnings/errors on the local system.

Much thanks to Andrew for tackling one of the Asterisk janitor projects!

(issue ASTERISK-20259)
Reported by: Andrew Latham
Patches:
  doxygen_partial.diff uploaded by Andrew Latham (license 5985)
  make_progdocs.diff uploaded by Andrew Latham (license 5985)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Jordan
2012-08-30 14:23:28 +00:00
parent 4781be6e93
commit 8018b879a2
40 changed files with 209 additions and 128 deletions

View File

@@ -742,6 +742,7 @@ webvmail:
@echo " +-------------------------------------------+" @echo " +-------------------------------------------+"
progdocs: progdocs:
doxygen -u contrib/asterisk-ng-doxygen
(cat contrib/asterisk-ng-doxygen; echo "HAVE_DOT=$(HAVEDOT)"; \ (cat contrib/asterisk-ng-doxygen; echo "HAVE_DOT=$(HAVEDOT)"; \
echo "PROJECT_NUMBER=$(ASTERISKVERSION)") | doxygen - echo "PROJECT_NUMBER=$(ASTERISKVERSION)") | doxygen -

View File

@@ -302,10 +302,10 @@ void conf_menu_entry_destroy(struct conf_menu_entry *menu_entry);
* \brief Once a DTMF sequence matches a sequence in the user's DTMF menu, this function will get * \brief Once a DTMF sequence matches a sequence in the user's DTMF menu, this function will get
* called to perform the menu action. * called to perform the menu action.
* *
* \param bridge_channel, Bridged channel this is involving * \param bridge_channel Bridged channel this is involving
* \param conference_bridge_user, the conference user to perform the action on. * \param conference_bridge_user the conference user to perform the action on.
* \param menu_entry, the menu entry that invoked this callback to occur. * \param menu_entry the menu entry that invoked this callback to occur.
* \param menu, an AO2 referenced pointer to the entire menu structure the menu_entry * \param menu an AO2 referenced pointer to the entire menu structure the menu_entry
* derived from. * derived from.
* *
* \note The menu_entry is a deep copy of the entry found in the menu structure. This allows * \note The menu_entry is a deep copy of the entry found in the menu structure. This allows

View File

@@ -382,7 +382,7 @@ static struct ast_channel_tech agent_tech = {
* unrefed once it is no longer needed. * unrefed once it is no longer needed.
* *
* \param pvt Pointer to the LOCKED agent_pvt for which the owner is needed * \param pvt Pointer to the LOCKED agent_pvt for which the owner is needed
* \ret locked channel which owns the pvt at the time of completion. NULL if not available. * \ref locked channel which owns the pvt at the time of completion. NULL if not available.
*/ */
static struct ast_channel *agent_lock_owner(struct agent_pvt *pvt) static struct ast_channel *agent_lock_owner(struct agent_pvt *pvt)
{ {

View File

@@ -5367,7 +5367,7 @@ static struct sip_peer *sip_find_peer_full(const char *peer, struct ast_sockaddr
/*! /*!
* \brief Locate device by name or ip address * \brief Locate device by name or ip address
* \param peer, sin, realtime, devstate_only, transport * \param peer, addr, realtime, devstate_only, transport
* \param which_objects Define which objects should be matched when doing a lookup * \param which_objects Define which objects should be matched when doing a lookup
* by name. Valid options are FINDUSERS, FINDPEERS, or FINDALLDEVICES. * by name. Valid options are FINDUSERS, FINDPEERS, or FINDALLDEVICES.
* Note that this option is not used at all when doing a lookup by IP. * Note that this option is not used at all when doing a lookup by IP.
@@ -10965,7 +10965,7 @@ static void add_route(struct sip_request *req, struct sip_route *route)
/*! \brief Set destination from SIP URI /*! \brief Set destination from SIP URI
* *
* Parse uri to h (host) and port - uri is already just the part inside the <> * Parse uri to h (host) and port - uri is already just the part inside the <>
* general form we are expecting is sip[s]:username[:password][;parameter]@host[:port][;...] * general form we are expecting is \verbatim sip[s]:username[:password][;parameter]@host[:port][;...] \endverbatim
* If there's a port given, turn NAPTR/SRV off. NAPTR might indicate SIPS preference even * If there's a port given, turn NAPTR/SRV off. NAPTR might indicate SIPS preference even
* for SIP: uri's * for SIP: uri's
* *
@@ -15430,8 +15430,14 @@ static void list_route(struct sip_route *route)
} }
} }
/*! \brief Build route list from Record-Route header /*! \brief Build route list from Record-Route header
\param resp the SIP response code or 0 for a request */ *
* \param p
* \param req
* \param backwards
* \param resp the SIP response code or 0 for a request
*
*/
static void build_route(struct sip_pvt *p, struct sip_request *req, int backwards, int resp) static void build_route(struct sip_pvt *p, struct sip_request *req, int backwards, int resp)
{ {
struct sip_route *thishop, *head, *tail; struct sip_route *thishop, *head, *tail;
@@ -28415,7 +28421,7 @@ enum st_refresher st_get_refresher(struct sip_pvt *p)
/*! /*!
* \brief Get the session-timer mode * \brief Get the session-timer mode
* \param p pointer to the SIP dialog * \param p pointer to the SIP dialog
* \param no_cached, set this to true in order to force a peername lookup on * \param no_cached Set this to true in order to force a peername lookup on
* the session timer mode. * the session timer mode.
*/ */
enum st_mode st_get_mode(struct sip_pvt *p, int no_cached) enum st_mode st_get_mode(struct sip_pvt *p, int no_cached)
@@ -32260,7 +32266,7 @@ static int reload(void)
/*! \brief Return the first entry from ast_sockaddr_resolve filtered by address family /*! \brief Return the first entry from ast_sockaddr_resolve filtered by address family
* *
* \warn Using this function probably means you have a faulty design. * \warning Using this function probably means you have a faulty design.
*/ */
static int ast_sockaddr_resolve_first_af(struct ast_sockaddr *addr, static int ast_sockaddr_resolve_first_af(struct ast_sockaddr *addr,
const char* name, int flag, int family) const char* name, int flag, int family)
@@ -32284,7 +32290,7 @@ static int ast_sockaddr_resolve_first_af(struct ast_sockaddr *addr,
/*! \brief Return the first entry from ast_sockaddr_resolve filtered by family of binddaddr /*! \brief Return the first entry from ast_sockaddr_resolve filtered by family of binddaddr
* *
* \warn Using this function probably means you have a faulty design. * \warning Using this function probably means you have a faulty design.
*/ */
static int ast_sockaddr_resolve_first(struct ast_sockaddr *addr, static int ast_sockaddr_resolve_first(struct ast_sockaddr *addr,
const char* name, int flag) const char* name, int flag)
@@ -32294,7 +32300,7 @@ static int ast_sockaddr_resolve_first(struct ast_sockaddr *addr,
/*! \brief Return the first entry from ast_sockaddr_resolve filtered by family of binddaddr /*! \brief Return the first entry from ast_sockaddr_resolve filtered by family of binddaddr
* *
* \warn Using this function probably means you have a faulty design. * \warning Using this function probably means you have a faulty design.
*/ */
static int ast_sockaddr_resolve_first_transport(struct ast_sockaddr *addr, static int ast_sockaddr_resolve_first_transport(struct ast_sockaddr *addr,
const char* name, int flag, unsigned int transport) const char* name, int flag, unsigned int transport)

View File

@@ -592,7 +592,7 @@ struct sig_pri_span {
* AST_DEVICE_BUSY - All B channels are in use. * AST_DEVICE_BUSY - All B channels are in use.
* AST_DEVICE_UNAVAILABLE - Span is in alarm. * AST_DEVICE_UNAVAILABLE - Span is in alarm.
* \note * \note
* Device name: \startverbatim DAHDI/I<span>/congestion. \endverbatim * Device name: \verbatim DAHDI/I<span>/congestion. \endverbatim
*/ */
int congestion_devstate; int congestion_devstate;
#if defined(THRESHOLD_DEVSTATE_PLACEHOLDER) #if defined(THRESHOLD_DEVSTATE_PLACEHOLDER)

View File

@@ -16,7 +16,7 @@
* at the top of the source tree. * at the top of the source tree.
*/ */
/*! \file sip_srtp.h /*! \file srtp.h
* *
* \brief SIP Secure RTP (SRTP) * \brief SIP Secure RTP (SRTP)
* *

View File

@@ -16,7 +16,7 @@
* at the top of the source tree. * at the top of the source tree.
*/ */
/*! \file sip_srtp.c /*! \file srtp.c
* *
* \brief SIP Secure RTP (SRTP) * \brief SIP Secure RTP (SRTP)
* *

View File

@@ -137,7 +137,8 @@ SpeexResamplerState *speex_resampler_init(spx_uint32_t nb_channels,
* @param in_rate Input sampling rate rounded to the nearest integer (in Hz). * @param in_rate Input sampling rate rounded to the nearest integer (in Hz).
* @param out_rate Output sampling rate rounded to the nearest integer (in Hz). * @param out_rate Output sampling rate rounded to the nearest integer (in Hz).
* @param quality Resampling quality between 0 and 10, where 0 has poor quality * @param quality Resampling quality between 0 and 10, where 0 has poor quality
* and 10 has very high quality. * and 10 has very high quality.
* @param err
* @return Newly created resampler state * @return Newly created resampler state
* @retval NULL Error: not enough memory * @retval NULL Error: not enough memory
*/ */

View File

@@ -342,7 +342,7 @@ static struct ast_frame *ogg_vorbis_read(struct ast_filestream *fs,
/*! /*!
* \brief Trucate an OGG/Vorbis filestream. * \brief Trucate an OGG/Vorbis filestream.
* \param s The filestream to truncate. * \param fs The filestream to truncate.
* \return 0 on success, -1 on failure. * \return 0 on success, -1 on failure.
*/ */
@@ -354,7 +354,7 @@ static int ogg_vorbis_trunc(struct ast_filestream *fs)
/*! /*!
* \brief Tell the current position in OGG/Vorbis filestream measured in pcms. * \brief Tell the current position in OGG/Vorbis filestream measured in pcms.
* \param s The filestream to take action on. * \param fs The filestream to take action on.
* \return 0 or greater with the position measured in samples, or -1 for false. * \return 0 or greater with the position measured in samples, or -1 for false.
*/ */
static off_t ogg_vorbis_tell(struct ast_filestream *fs) static off_t ogg_vorbis_tell(struct ast_filestream *fs)
@@ -374,7 +374,7 @@ static off_t ogg_vorbis_tell(struct ast_filestream *fs)
/*! /*!
* \brief Seek to a specific position in an OGG/Vorbis filestream. * \brief Seek to a specific position in an OGG/Vorbis filestream.
* \param s The filestream to take action on. * \param fs The filestream to take action on.
* \param sample_offset New position for the filestream, measured in 8KHz samples. * \param sample_offset New position for the filestream, measured in 8KHz samples.
* \param whence Location to measure * \param whence Location to measure
* \return 0 on success, -1 on failure. * \return 0 on success, -1 on failure.

View File

@@ -522,6 +522,7 @@ enum ao2_lock_req {
* Lock an object. * Lock an object.
* *
* \param a A pointer to the object we want to lock. * \param a A pointer to the object we want to lock.
* \param lock_how, file, func, line, var
* \return 0 on success, other values on error. * \return 0 on success, other values on error.
*/ */
int __ao2_lock(void *a, enum ao2_lock_req lock_how, const char *file, const char *func, int line, const char *var); int __ao2_lock(void *a, enum ao2_lock_req lock_how, const char *file, const char *func, int line, const char *var);
@@ -533,6 +534,7 @@ int __ao2_lock(void *a, enum ao2_lock_req lock_how, const char *file, const char
* Unlock an object. * Unlock an object.
* *
* \param a A pointer to the object we want unlock. * \param a A pointer to the object we want unlock.
* \param file, func, line, var
* \return 0 on success, other values on error. * \return 0 on success, other values on error.
*/ */
int __ao2_unlock(void *a, const char *file, const char *func, int line, const char *var); int __ao2_unlock(void *a, const char *file, const char *func, int line, const char *var);
@@ -542,6 +544,7 @@ int __ao2_unlock(void *a, const char *file, const char *func, int line, const ch
* Try locking-- (don't block if fail) * Try locking-- (don't block if fail)
* *
* \param a A pointer to the object we want to lock. * \param a A pointer to the object we want to lock.
* \param lock_how, file, func, line, var
* \return 0 on success, other values on error. * \return 0 on success, other values on error.
*/ */
int __ao2_trylock(void *a, enum ao2_lock_req lock_how, const char *file, const char *func, int line, const char *var); int __ao2_trylock(void *a, enum ao2_lock_req lock_how, const char *file, const char *func, int line, const char *var);
@@ -1044,7 +1047,6 @@ struct ao2_container *__ao2_container_clone_debug(struct ao2_container *orig, en
* *
* \param container The container to operate on. * \param container The container to operate on.
* \param obj The object to be added. * \param obj The object to be added.
* \param flags search_flags to control linking the object. (OBJ_NOLOCK)
* \param tag used for debugging. * \param tag used for debugging.
* *
* \retval NULL on errors. * \retval NULL on errors.
@@ -1062,6 +1064,24 @@ struct ao2_container *__ao2_container_clone_debug(struct ao2_container *orig, en
#define ao2_t_link(container, obj, tag) __ao2_link_debug((container), (obj), 0, (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__) #define ao2_t_link(container, obj, tag) __ao2_link_debug((container), (obj), 0, (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__)
#define ao2_link(container, obj) __ao2_link_debug((container), (obj), 0, "", __FILE__, __LINE__, __PRETTY_FUNCTION__) #define ao2_link(container, obj) __ao2_link_debug((container), (obj), 0, "", __FILE__, __LINE__, __PRETTY_FUNCTION__)
/*!
* \brief Add an object to a container.
*
* \param container The container to operate on.
* \param obj The object to be added.
* \param flags search_flags to control linking the object. (OBJ_NOLOCK)
* \param tag used for debugging.
*
* \retval NULL on errors.
* \retval !NULL on success.
*
* This function inserts an object in a container according its key.
*
* \note Remember to set the key before calling this function.
*
* \note This function automatically increases the reference count to account
* for the reference that the container now holds to the object.
*/
#define ao2_t_link_flags(container, obj, flags, tag) __ao2_link_debug((container), (obj), (flags), (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__) #define ao2_t_link_flags(container, obj, flags, tag) __ao2_link_debug((container), (obj), (flags), (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__)
#define ao2_link_flags(container, obj, flags) __ao2_link_debug((container), (obj), (flags), "", __FILE__, __LINE__, __PRETTY_FUNCTION__) #define ao2_link_flags(container, obj, flags) __ao2_link_debug((container), (obj), (flags), "", __FILE__, __LINE__, __PRETTY_FUNCTION__)
@@ -1083,7 +1103,6 @@ void *__ao2_link(struct ao2_container *c, void *obj_new, int flags);
* *
* \param container The container to operate on. * \param container The container to operate on.
* \param obj The object to unlink. * \param obj The object to unlink.
* \param flags search_flags to control unlinking the object. (OBJ_NOLOCK)
* \param tag used for debugging. * \param tag used for debugging.
* *
* \retval NULL, always * \retval NULL, always
@@ -1101,6 +1120,25 @@ void *__ao2_link(struct ao2_container *c, void *obj_new, int flags);
#define ao2_t_unlink(container, obj, tag) __ao2_unlink_debug((container), (obj), 0, (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__) #define ao2_t_unlink(container, obj, tag) __ao2_unlink_debug((container), (obj), 0, (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__)
#define ao2_unlink(container, obj) __ao2_unlink_debug((container), (obj), 0, "", __FILE__, __LINE__, __PRETTY_FUNCTION__) #define ao2_unlink(container, obj) __ao2_unlink_debug((container), (obj), 0, "", __FILE__, __LINE__, __PRETTY_FUNCTION__)
/*!
* \brief Remove an object from a container
*
* \param container The container to operate on.
* \param obj The object to unlink.
* \param flags search_flags to control unlinking the object. (OBJ_NOLOCK)
* \param tag used for debugging.
*
* \retval NULL, always
*
* \note The object requested to be unlinked must be valid. However, if it turns
* out that it is not in the container, this function is still safe to
* be called.
*
* \note If the object gets unlinked from the container, the container's
* reference to the object will be automatically released. (The
* refcount will be decremented).
*/
#define ao2_t_unlink_flags(container, obj, flags, tag) __ao2_unlink_debug((container), (obj), (flags), (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__) #define ao2_t_unlink_flags(container, obj, flags, tag) __ao2_unlink_debug((container), (obj), (flags), (tag), __FILE__, __LINE__, __PRETTY_FUNCTION__)
#define ao2_unlink_flags(container, obj, flags) __ao2_unlink_debug((container), (obj), (flags), "", __FILE__, __LINE__, __PRETTY_FUNCTION__) #define ao2_unlink_flags(container, obj, flags) __ao2_unlink_debug((container), (obj), (flags), "", __FILE__, __LINE__, __PRETTY_FUNCTION__)

View File

@@ -154,10 +154,10 @@ struct ast_frame *ast_audiohook_read_frame(struct ast_audiohook *audiohook, size
/*! \brief Reads a frame in from the audiohook structure in mixed audio mode and copies read and write frame data to provided arguments. /*! \brief Reads a frame in from the audiohook structure in mixed audio mode and copies read and write frame data to provided arguments.
* \param audiohook Audiohook structure * \param audiohook Audiohook structure
* \param samples Number of samples wanted * \param samples Number of samples wanted
* \param direction Direction the audio frame came from * \param ast_format Format of frame remote side wants back
* \param format Format of frame remote side wants back * \param read_frame if available, we'll copy the read buffer to this.
* \param ast_frame read_frame - if available, we'll copy the read buffer to this. * \param write_frame if available, we'll copy the write buffer to this.
* \param ast_frame write_frame - if available, we'll copy the write buffer to this. * \param direction
* \return Returns frame on success, NULL on failure * \return Returns frame on success, NULL on failure
*/ */
struct ast_frame *ast_audiohook_read_frame_all(struct ast_audiohook *audiohook, size_t samples, struct ast_format *format, struct ast_frame **read_frame, struct ast_frame **write_frame); struct ast_frame *ast_audiohook_read_frame_all(struct ast_audiohook *audiohook, size_t samples, struct ast_format *format, struct ast_frame **read_frame, struct ast_frame **write_frame);

View File

@@ -312,7 +312,7 @@ int ast_bridge_destroy(struct ast_bridge *bridge);
* \param chan Channel to join * \param chan Channel to join
* \param swap Channel to swap out if swapping * \param swap Channel to swap out if swapping
* \param features Bridge features structure * \param features Bridge features structure
* \param (Optional) Bridging tech optimization parameters for this channel. * \param tech_args Optional Bridging tech optimization parameters for this channel.
* *
* \retval state that channel exited the bridge with * \retval state that channel exited the bridge with
* *
@@ -504,8 +504,8 @@ void ast_bridge_change_state(struct ast_bridge_channel *bridge_channel, enum ast
/*! \brief Adjust the internal mixing sample rate of a bridge used during /*! \brief Adjust the internal mixing sample rate of a bridge used during
* multimix mode. * multimix mode.
* *
* \param bridge_channel Channel to change the sample rate on. * \param bridge Channel to change the sample rate on.
* \param sample rate, the sample rate to change to. If a * \param sample_rate the sample rate to change to. If a
* value of 0 is passed here, the bridge will be free to pick * value of 0 is passed here, the bridge will be free to pick
* what ever sample rate it chooses. * what ever sample rate it chooses.
* *
@@ -515,8 +515,8 @@ void ast_bridge_set_internal_sample_rate(struct ast_bridge *bridge, unsigned int
/*! \brief Adjust the internal mixing interval of a bridge used during /*! \brief Adjust the internal mixing interval of a bridge used during
* multimix mode. * multimix mode.
* *
* \param bridge_channel Channel to change the sample rate on. * \param bridge Channel to change the sample rate on.
* \param mixing_interval, the sample rate to change to. If 0 is set * \param mixing_interval the sample rate to change to. If 0 is set
* the bridge tech is free to choose any mixing interval it uses by default. * the bridge tech is free to choose any mixing interval it uses by default.
*/ */
void ast_bridge_set_mixing_interval(struct ast_bridge *bridge, unsigned int mixing_interval); void ast_bridge_set_mixing_interval(struct ast_bridge *bridge, unsigned int mixing_interval);

View File

@@ -153,7 +153,7 @@ void ast_bridge_handle_trip(struct ast_bridge *bridge, struct ast_bridge_channel
* *
* \param bridge The bridge that the channel is a part of. * \param bridge The bridge that the channel is a part of.
* \param bridge_channel The bridge channel that has either started or stopped talking. * \param bridge_channel The bridge channel that has either started or stopped talking.
* \param started_talking, set to 1 when this indicates the channel has started talking, set to 0 * \param started_talking set to 1 when this indicates the channel has started talking set to 0
* when this indicates the channel has stopped talking. * when this indicates the channel has stopped talking.
*/ */
void ast_bridge_notify_talking(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, int started_talking); void ast_bridge_notify_talking(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, int started_talking);

View File

@@ -1365,8 +1365,8 @@ int ast_cc_monitor_count(const char * const name, const char * const type);
* The code in the core will take care of making sure that the information gets passed * The code in the core will take care of making sure that the information gets passed
* up the ladder correctly. * up the ladder correctly.
* *
* \param core_id The core ID of the corresponding CC transaction * \par core_id The core ID of the corresponding CC transaction
* \param debug * \par debug
* \retval 0 Request successfully queued * \retval 0 Request successfully queued
* \retval -1 Request could not be queued * \retval -1 Request could not be queued
*/ */
@@ -1482,7 +1482,7 @@ int ast_cc_agent_set_interfaces_chanvar(struct ast_channel *chan);
/*! /*!
* \since 1.8 * \since 1.8
* \brief Set the CC_INTERFACES channel variable for a channel using an * \brief Set the CC_INTERFACES channel variable for a channel using an
* extension@context as a starting point * \verbatim extension@context \endverbatim as a starting point
* *
* \details * \details
* The CC_INTERFACES channel variable will have the interfaces that should be * The CC_INTERFACES channel variable will have the interfaces that should be
@@ -1498,7 +1498,7 @@ int ast_cc_agent_set_interfaces_chanvar(struct ast_channel *chan);
* *
* \param chan The channel to set the CC_INTERFACES variable on * \param chan The channel to set the CC_INTERFACES variable on
* \param extension The name of the extension for which we're setting the variable. * \param extension The name of the extension for which we're setting the variable.
* This should be in the form of "exten@context" * This should be in the form of \verbatim exten@context \endverbatim
*/ */
int ast_set_cc_interfaces_chanvar(struct ast_channel *chan, const char * const extension); int ast_set_cc_interfaces_chanvar(struct ast_channel *chan, const char * const extension);

View File

@@ -1280,7 +1280,7 @@ struct ast_channel *ast_request(const char *type, struct ast_format_cap *request
* by the low level module and attempt to place a call on it * by the low level module and attempt to place a call on it
* *
* \param type type of channel to request * \param type type of channel to request
* \param format capabilities for requested channel * \param cap format capabilities for requested channel
* \param requestor channel asking for data * \param requestor channel asking for data
* \param addr destination of the call * \param addr destination of the call
* \param timeout maximum amount of time to wait for an answer * \param timeout maximum amount of time to wait for an answer
@@ -1298,7 +1298,7 @@ struct ast_channel *ast_request_and_dial(const char *type, struct ast_format_cap
* \brief Request a channel of a given type, with data as optional information used * \brief Request a channel of a given type, with data as optional information used
* by the low level module and attempt to place a call on it * by the low level module and attempt to place a call on it
* \param type type of channel to request * \param type type of channel to request
* \param format capabilities for requested channel * \param cap format capabilities for requested channel
* \param requestor channel requesting data * \param requestor channel requesting data
* \param addr destination of the call * \param addr destination of the call
* \param timeout maximum amount of time to wait for an answer * \param timeout maximum amount of time to wait for an answer
@@ -1317,7 +1317,7 @@ struct ast_channel *__ast_request_and_dial(const char *type, struct ast_format_c
* \param caller in channel that requested orig * \param caller in channel that requested orig
* \param orig channel being replaced by the call forward channel * \param orig channel being replaced by the call forward channel
* \param timeout maximum amount of time to wait for setup of new forward channel * \param timeout maximum amount of time to wait for setup of new forward channel
* \param format capabilities for requested channel * \param cap format capabilities for requested channel
* \param oh outgoing helper used with original channel * \param oh outgoing helper used with original channel
* \param outstate reason why unsuccessful (if uncuccessful) * \param outstate reason why unsuccessful (if uncuccessful)
* \return Returns the forwarded call's ast_channel on success or NULL on failure * \return Returns the forwarded call's ast_channel on success or NULL on failure
@@ -1794,7 +1794,7 @@ int ast_set_read_format_from_cap(struct ast_channel *chan, struct ast_format_cap
/*! /*!
* \brief Sets read format on channel chan * \brief Sets read format on channel chan
* \param chan channel to change * \param chan channel to change
* \param formats, format to set for reading * \param format format to set for reading
* \return Returns 0 on success, -1 on failure * \return Returns 0 on success, -1 on failure
*/ */
int ast_set_read_format(struct ast_channel *chan, struct ast_format *format); int ast_set_read_format(struct ast_channel *chan, struct ast_format *format);
@@ -1802,7 +1802,7 @@ int ast_set_read_format(struct ast_channel *chan, struct ast_format *format);
/*! /*!
* \brief Sets read format on channel chan by id * \brief Sets read format on channel chan by id
* \param chan channel to change * \param chan channel to change
* \param format id to set for reading, only used for formats without attributes * \param id format id to set for reading, only used for formats without attributes
* \return Returns 0 on success, -1 on failure * \return Returns 0 on success, -1 on failure
*/ */
int ast_set_read_format_by_id(struct ast_channel *chan, enum ast_format_id id); int ast_set_read_format_by_id(struct ast_channel *chan, enum ast_format_id id);
@@ -1819,7 +1819,7 @@ int ast_set_write_format_from_cap(struct ast_channel *chan, struct ast_format_ca
/*! /*!
* \brief Sets write format on channel chan * \brief Sets write format on channel chan
* \param chan channel to change * \param chan channel to change
* \param formats, format to set for writing * \param format format to set for writing
* \return Returns 0 on success, -1 on failure * \return Returns 0 on success, -1 on failure
*/ */
int ast_set_write_format(struct ast_channel *chan, struct ast_format *format); int ast_set_write_format(struct ast_channel *chan, struct ast_format *format);
@@ -1827,7 +1827,7 @@ int ast_set_write_format(struct ast_channel *chan, struct ast_format *format);
/*! /*!
* \brief Sets write format on channel chan * \brief Sets write format on channel chan
* \param chan channel to change * \param chan channel to change
* \param format id to set for writing, only used for formats without attributes * \param id format id to set for writing, only used for formats without attributes
* \return Returns 0 on success, -1 on failure * \return Returns 0 on success, -1 on failure
*/ */
int ast_set_write_format_by_id(struct ast_channel *chan, enum ast_format_id id); int ast_set_write_format_by_id(struct ast_channel *chan, enum ast_format_id id);
@@ -2100,7 +2100,7 @@ int ast_channel_setoption(struct ast_channel *channel, int option, void *data, i
/*! /*!
* \brief Pick the best codec * \brief Pick the best codec
* *
* \param capabilities to pick best codec out of * \param cap capabilities to pick best codec out of
* \param result stucture to store the best codec in. * \param result stucture to store the best codec in.
* \retval on success, pointer to result structure * \retval on success, pointer to result structure
* \retval on failure, NULL * \retval on failure, NULL

View File

@@ -193,7 +193,7 @@ struct ast_variable *ast_category_root(struct ast_config *config, char *cat);
* \brief Sorts categories in a config in the order of a numerical value contained within them. * \brief Sorts categories in a config in the order of a numerical value contained within them.
* *
* \param config The config structure you wish to sort * \param config The config structure you wish to sort
* \param variable Which numerical value you wish to sort by * \param comparator variable Which numerical value you wish to sort by
* \param descending If true, we sort highest to lowest instead of lowest to highest * \param descending If true, we sort highest to lowest instead of lowest to highest
* *
* \details * \details
@@ -741,9 +741,9 @@ enum ast_parse_flags {
* *
* \param arg the string to parse. It is not modified. * \param arg the string to parse. It is not modified.
* \param flags combination of ast_parse_flags to specify the * \param flags combination of ast_parse_flags to specify the
* return type and additional checks. * return type and additional checks.
* \param result pointer to the result. NULL is valid here, and can * \param result pointer to the result. NULL is valid here, and can
* be used to perform only the validity checks. * be used to perform only the validity checks.
* \param ... extra arguments are required according to flags. * \param ... extra arguments are required according to flags.
* *
* \retval 0 in case of success, != 0 otherwise. * \retval 0 in case of success, != 0 otherwise.
@@ -841,7 +841,7 @@ int ast_rq_is_int(require_type type),
* \param chunk Data to be decoded * \param chunk Data to be decoded
* \return The decoded data, in the original buffer * \return The decoded data, in the original buffer
* \since 1.8 * \since 1.8
* \warn This function modifies the original buffer * \warning This function modifies the original buffer
*/ */
char *ast_realtime_decode_chunk(char *chunk); char *ast_realtime_decode_chunk(char *chunk);

View File

@@ -176,7 +176,6 @@ void *aco_pending_config(struct aco_info *info);
/*! \def CONFIG_INFO_STANDARD /*! \def CONFIG_INFO_STANDARD
* \brief Declare an aco_info struct with default module and preload values * \brief Declare an aco_info struct with default module and preload values
* \param name The name of the struct * \param name The name of the struct
* \param fn The filename of the config
* \param arr The global object array for holding the user-defined config object * \param arr The global object array for holding the user-defined config object
* \param alloc The allocater for the user-defined config object * \param alloc The allocater for the user-defined config object
* *
@@ -462,7 +461,6 @@ enum aco_process_status aco_process_config(struct aco_info *info, int reload);
* \param info The aco_info to be used for handling the config * \param info The aco_info to be used for handling the config
* \param file The file attached to aco_info that the config represents * \param file The file attached to aco_info that the config represents
* \param cfg A pointer to a loaded ast_config to parse * \param cfg A pointer to a loaded ast_config to parse
* \param reload Whether or not this is a reload
* *
* \retval ACO_PROCESS_OK Success * \retval ACO_PROCESS_OK Success
* \retval ACO_PROCESS_ERROR Failure * \retval ACO_PROCESS_ERROR Failure
@@ -496,7 +494,7 @@ int aco_process_var(struct aco_type *type, const char *cat, struct ast_variable
int aco_process_category_options(struct aco_type *type, struct ast_config *cfg, const char *cat, void *obj); int aco_process_category_options(struct aco_type *type, struct ast_config *cfg, const char *cat, void *obj);
/*! \brief Set all default options of \a obj /*! \brief Set all default options of \a obj
* \param info The aco_type with the options * \param type The aco_type with the options
* \param category The configuration category from which \a obj is being configured * \param category The configuration category from which \a obj is being configured
* \param obj The object being configured * \param obj The object being configured
* *
@@ -511,11 +509,12 @@ int aco_set_defaults(struct aco_type *type, const char *category, void *obj);
* *
* \param info The aco_info holding this module's config information * \param info The aco_info holding this module's config information
* \param name The name of the option * \param name The name of the option
* \param match_type
* \param types An array of valid option types for matching categories to the correct struct type * \param types An array of valid option types for matching categories to the correct struct type
* \param default_val The default value of the option in the same format as defined in a config file * \param default_val The default value of the option in the same format as defined in a config file
* \param type The option type (only for default handlers) * \param type The option type (only for default handlers)
* \param handler The handler function for the option (only for non-default types) * \param handler The handler function for the option (only for non-default types)
* \param flags \a type specific flags, stored in the option and available to the handler * \param flags a type specific flags, stored in the option and available to the handler
* \param argc The number for variadic arguments * \param argc The number for variadic arguments
* \param ... field offsets to store for default handlers * \param ... field offsets to store for default handlers
* *
@@ -528,10 +527,12 @@ int __aco_option_register(struct aco_info *info, const char *name, enum aco_matc
/*! \brief Register a config option /*! \brief Register a config option
* \param info A pointer to the aco_info struct * \param info A pointer to the aco_info struct
* \param name The name of the option * \param name The name of the option
* \param matchtype
* \param types An array of valid option types for matching categories to the correct struct type * \param types An array of valid option types for matching categories to the correct struct type
* \param default_val The default value of the option in the same format as defined in a config file * \param default_val The default value of the option in the same format as defined in a config file
* \param opt_type The option type for default option type handling * \param opt_type The option type for default option type handling
* \param flags \a type specific flags, stored in the option and available to the handler * \param flags a type specific flags, stored in the option and available to the handler
* \param ...
* *
* \retval 0 Success * \retval 0 Success
* \retval -1 Failure * \retval -1 Failure
@@ -542,6 +543,7 @@ int __aco_option_register(struct aco_info *info, const char *name, enum aco_matc
/*! \brief Register a config option /*! \brief Register a config option
* \param info A pointer to the aco_info struct * \param info A pointer to the aco_info struct
* \param name The name of the option * \param name The name of the option
* \param matchtype
* \param types An array of valid option types for matching categories to the correct struct type * \param types An array of valid option types for matching categories to the correct struct type
* \param default_val The default value of the option in the same format as defined in a config file * \param default_val The default value of the option in the same format as defined in a config file
* \param handler The handler callback for the option * \param handler The handler callback for the option
@@ -570,14 +572,15 @@ int aco_option_register_deprecated(struct aco_info *info, const char *name, stru
* passed in. It is currently limited to 8 arguments, but 8 variadic * passed in. It is currently limited to 8 arguments, but 8 variadic
* arguments, like 640K, should be good enough for anyone. If not, it is * arguments, like 640K, should be good enough for anyone. If not, it is
* easy to add more. * easy to add more.
* */ *
*/
/*! \def ARGMAP(func, func_arg, x, ...) /*!
* \brief Map \a func(\a func_arg, field) across all fields including \a x * \brief Map \a func(\a func_arg, field) across all fields including \a x
* \param func The function (almost certainly offsetof) to map across the fields * \param func The function (almost certainly offsetof) to map across the fields
* \param func_arg The first argument (almost certainly a type (e.g. "struct mystruct") * \param func_arg The first argument (almost certainly a type (e.g. "struct mystruct")
* \param x The first field * \param x The first field
* \param varargs The rest of the fields * \param ... varargs The rest of the fields
* *
* Example usage: * Example usage:
* \code * \code
@@ -588,17 +591,19 @@ int aco_option_register_deprecated(struct aco_info *info, const char *name, stru
* }; * };
* ARGMAP(offsetof, struct foo, a, c) * ARGMAP(offsetof, struct foo, a, c)
* \endcode * \endcode
*
* produces the string: * produces the string:
*
* \code * \code
* 2, offsetof(struct foo, a), offsetof(struct foo, b) * 2, offsetof(struct foo, a), offsetof(struct foo, b)
* \encode * \endcode
* which can be passed as the varargs to some other function * which can be passed as the varargs to some other function
* *
* The macro isn't limited to offsetof, but that is the only purpose for * The macro isn't limited to offsetof, but that is the only purpose for
* which it has been tested. * which it has been tested.
* *
* As an example of how the processing works: * As an example of how the processing works:
* * \verbatim
* ARGMAP(offsetof, struct foo, a, b, c) -> * ARGMAP(offsetof, struct foo, a, b, c) ->
* ARGMAP_(3, offsetof, struct foo, a, b, c) -> * ARGMAP_(3, offsetof, struct foo, a, b, c) ->
* ARGMAP_3(offsetof, struct foo, 3, a, b, c) -> * ARGMAP_3(offsetof, struct foo, 3, a, b, c) ->
@@ -606,12 +611,15 @@ int aco_option_register_deprecated(struct aco_info *info, const char *name, stru
* ARGMAP_1(offsetof, struct foo, ARGIFY(3, offsetof(struct foo, a), offsetof(struct foo, b)), c) -> * ARGMAP_1(offsetof, struct foo, ARGIFY(3, offsetof(struct foo, a), offsetof(struct foo, b)), c) ->
* ARGIFY(3, offsetof(struct foo, a), offsetof(struct foo, b), offsetof(struct foo, c)) -> * ARGIFY(3, offsetof(struct foo, a), offsetof(struct foo, b), offsetof(struct foo, c)) ->
* 3, offsetof(struct foo, a), offsetof(struct foo, b), offsetof(struct foo, c) * 3, offsetof(struct foo, a), offsetof(struct foo, b), offsetof(struct foo, c)
* \endverbatim
*
*/ */
#define ARGMAP(func, func_arg, x, ...) ARGMAP_(VA_NARGS(x, ##__VA_ARGS__), func, func_arg, x, __VA_ARGS__) #define ARGMAP(func, func_arg, x, ...) ARGMAP_(VA_NARGS(x, ##__VA_ARGS__), func, func_arg, x, __VA_ARGS__)
/*! \note This is sneaky. On the very first argument, we set "in" to N, the number of arguments, so /*! \note This is sneaky. On the very first argument, we set "in" to N, the number of arguments, so
* that the accumulation both works properly for the first argument (since "in" can't be empty) and * that the accumulation both works properly for the first argument (since "in" can't be empty) and
* we get the number of arguments in our varargs as a bonus */ * we get the number of arguments in our varargs as a bonus
*/
#define ARGMAP_(N, func, func_arg, x, ...) PASTE(ARGMAP_, N)(func, func_arg, N, x, __VA_ARGS__) #define ARGMAP_(N, func, func_arg, x, ...) PASTE(ARGMAP_, N)(func, func_arg, N, x, __VA_ARGS__)
/*! \def PASTE(arg1, arg2) /*! \def PASTE(arg1, arg2)
@@ -629,7 +637,7 @@ int aco_option_register_deprecated(struct aco_info *info, const char *name, stru
* \param func_arg The first argument to func (most likely a type e.g. "struct my_struct") * \param func_arg The first argument to func (most likely a type e.g. "struct my_struct")
* \param in The accumulated function-mapped field names so far * \param in The accumulated function-mapped field names so far
* \param x The next field name * \param x The next field name
* \param varargs The rest of the field names * \param ... varargs The rest of the field names
*/ */
#define ARGMAP_1(func, func_arg, in, x, ...) ARGIFY(in, func(func_arg, x)) #define ARGMAP_1(func, func_arg, in, x, ...) ARGIFY(in, func(func_arg, x))
#define ARGMAP_2(func, func_arg, in, x, ...)\ #define ARGMAP_2(func, func_arg, in, x, ...)\
@@ -651,18 +659,19 @@ int aco_option_register_deprecated(struct aco_info *info, const char *name, stru
* \brief Results in the number of arguments passed to it * \brief Results in the number of arguments passed to it
* \note Currently only up to 8, but expanding is easy. This macro basically counts * \note Currently only up to 8, but expanding is easy. This macro basically counts
* commas + 1. To visualize: * commas + 1. To visualize:
* * \verbatim
* VA_NARGS(one, two, three) -> v * VA_NARGS(one, two, three) -> v
* VA_NARGS1(one, two, three, 8, 7, 6, 5, 4, 3, 2, 1, 0) -> * VA_NARGS1(one, two, three, 8, 7, 6, 5, 4, 3, 2, 1, 0) ->
* VA_NARGS1( _1, _2, _3, _4, _5, _6, _7, _8, N, ... ) N -> 3 * VA_NARGS1( _1, _2, _3, _4, _5, _6, _7, _8, N, ... ) N -> 3
* *
* Note that VA_NARGS *does not* work when there are no arguments passed. Pasting an empty * Note that VA_NARGS *does not* work when there are no arguments passed. Pasting an empty
* __VA_ARGS__ with a comma like ", ##__VA_ARGS__" will delete the leading comma, but it * __VA_ARGS__ with a comma like ", ##__VA_ARGS__" will delete the leading comma, but it
* does not work when __VA_ARGS__ is the first argument. Instead, 1 is returned instead of 0: * does not work when __VA_ARGS__ is the first argument. Instead, 1 is returned instead of 0:
* *
* VA_NARGS() -> v * VA_NARGS() -> v
* VA_NARGS1( , 8, 7, 6, 5, 4, 3, 2, 1, 0) -> * VA_NARGS1( , 8, 7, 6, 5, 4, 3, 2, 1, 0) ->
* VA_NARGS1(_1, _2, _3, _4, _5, _6, _7, _8, N) -> 1 * VA_NARGS1(_1, _2, _3, _4, _5, _6, _7, _8, N) -> 1
* \endverbatim
*/ */
#define VA_NARGS(...) VA_NARGS1(__VA_ARGS__, 8, 7, 6, 5, 4, 3, 2, 1, 0) #define VA_NARGS(...) VA_NARGS1(__VA_ARGS__, 8, 7, 6, 5, 4, 3, 2, 1, 0)
#define VA_NARGS1(_1, _2, _3, _4, _5, _6, _7, _8, N, ...) N #define VA_NARGS1(_1, _2, _3, _4, _5, _6, _7, _8, N, ...) N
@@ -670,7 +679,7 @@ int aco_option_register_deprecated(struct aco_info *info, const char *name, stru
/*! \def FLDSET(type, ...) /*! \def FLDSET(type, ...)
* \brief Convert a struct and list of fields to an argument list of field offsets * \brief Convert a struct and list of fields to an argument list of field offsets
* \param type The type with the fields (e.g. "struct my_struct") * \param type The type with the fields (e.g. "struct my_struct")
* \param varags The fields in the struct whose offsets are needed as arguments * \param ... varags The fields in the struct whose offsets are needed as arguments
* *
* For example: * For example:
* \code * \code
@@ -692,7 +701,7 @@ int aco_option_register_deprecated(struct aco_info *info, const char *name, stru
* default stringfield option handler, so registering options that point to stringfields requires * default stringfield option handler, so registering options that point to stringfields requires
* this macro to be called instead of the FLDSET macro. * this macro to be called instead of the FLDSET macro.
* \param type The type with the fields (e.g. "struct my_struct") * \param type The type with the fields (e.g. "struct my_struct")
* \param varargs The fields in the struct whose offsets are needed as arguments * \param ... varargs The fields in the struct whose offsets are needed as arguments
*/ */
#define STRFLDSET(type, ...) FLDSET(type, __VA_ARGS__, __field_mgr_pool, __field_mgr) #define STRFLDSET(type, ...) FLDSET(type, __VA_ARGS__, __field_mgr_pool, __field_mgr)
@@ -710,9 +719,10 @@ int aco_option_register_deprecated(struct aco_info *info, const char *name, stru
* FLDSET. This is because a call to FLDSET may be followed by additional arguments in * FLDSET. This is because a call to FLDSET may be followed by additional arguments in
* aco_register_option, so the true number of arguments will possibly be different than what * aco_register_option, so the true number of arguments will possibly be different than what
* ARGMAP returns. * ARGMAP returns.
* \params varags A list of arguments * \param ... varags A list of arguments
* * \verbatim
* POPPED(a, b, c) -> b, c * POPPED(a, b, c) -> b, c
* \endverbatim
*/ */
#define POPPED(...) POPPED1(__VA_ARGS__) #define POPPED(...) POPPED1(__VA_ARGS__)
#define POPPED1(x, ...) __VA_ARGS__ #define POPPED1(x, ...) __VA_ARGS__

View File

@@ -46,8 +46,8 @@ struct ast_key;
/*! /*!
* \brief Retrieve a key * \brief Retrieve a key
* \param name of the key we are retrieving * \param key Name of the key we are retrieving
* \param int type of key (AST_KEY_PUBLIC or AST_KEY_PRIVATE) * \param type Intger type of key (AST_KEY_PUBLIC or AST_KEY_PRIVATE)
* *
* \retval the key on success. * \retval the key on success.
* \retval NULL on failure. * \retval NULL on failure.
@@ -70,6 +70,7 @@ AST_OPTIONAL_API(int, ast_check_signature, (struct ast_key *key, const char *msg
* \brief Check the authenticity of a message signature using a given public key * \brief Check the authenticity of a message signature using a given public key
* \param key a public key to use to verify * \param key a public key to use to verify
* \param msg the message that has been signed * \param msg the message that has been signed
* \param msglen
* \param sig the proposed valid signature in raw binary representation * \param sig the proposed valid signature in raw binary representation
* *
* \retval 0 if the signature is valid. * \retval 0 if the signature is valid.
@@ -95,6 +96,7 @@ AST_OPTIONAL_API(int, ast_sign, (struct ast_key *key, char *msg, char *sig), { r
* \brief Sign a message signature using a given private key * \brief Sign a message signature using a given private key
* \param key a private key to use to create the signature * \param key a private key to use to create the signature
* \param msg the message to sign * \param msg the message to sign
* \param msglen
* \param sig a pointer to a buffer of at least 128 bytes in which the * \param sig a pointer to a buffer of at least 128 bytes in which the
* raw encoded signature will be stored * raw encoded signature will be stored
* *

View File

@@ -63,6 +63,7 @@ struct ast_datastore {
* \brief Create a data store object * \brief Create a data store object
* \param[in] info information describing the data store object * \param[in] info information describing the data store object
* \param[in] uid unique identifer * \param[in] uid unique identifer
* \param file, line, function
* \version 1.6.1 moved here and renamed from ast_channel_datastore_alloc * \version 1.6.1 moved here and renamed from ast_channel_datastore_alloc
*/ */
struct ast_datastore * attribute_malloc __ast_datastore_alloc(const struct ast_datastore_info *info, const char *uid, struct ast_datastore * attribute_malloc __ast_datastore_alloc(const struct ast_datastore_info *info, const char *uid,

View File

@@ -264,9 +264,9 @@ void ast_format_sdp_generate(const struct ast_format *format, unsigned int paylo
* with optional format attributes represented by format specific key value pairs. * with optional format attributes represented by format specific key value pairs.
* *
* \param format to set * \param format to set
* \param id, format id to set on format * \param id format id to set on format
* \param set_attributes, are there attributes to set on this format. 0 == false, 1 == True. * \param set_attributes, are there attributes to set on this format. 0 == false, 1 == True.
* \param var list of attribute key value pairs, must end with AST_FORMAT_ATTR_END; * \param ... var list of attribute key value pairs, must end with AST_FORMAT_ATTR_END;
* *
* \details Example usage. * \details Example usage.
* ast_format_set(format, AST_FORMAT_ULAW, 0); // no capability attributes are needed for ULAW * ast_format_set(format, AST_FORMAT_ULAW, 0); // no capability attributes are needed for ULAW
@@ -290,7 +290,7 @@ struct ast_format *ast_format_set(struct ast_format *format, enum ast_format_id
* set additional format attributes to the structure. * set additional format attributes to the structure.
* *
* \param format to set * \param format to set
* \param var list of attribute key value pairs, must end with AST_FORMAT_ATTR_END; * \param ... var list of attribute key value pairs, must end with AST_FORMAT_ATTR_END;
* *
* \details Example usage. * \details Example usage.
* ast_format_set(format, AST_FORMAT_SILK, 0); * ast_format_set(format, AST_FORMAT_SILK, 0);
@@ -421,7 +421,7 @@ const char* ast_getformatname(const struct ast_format *format);
/*! \brief Returns a string containing all formats pertaining to an format id. /*! \brief Returns a string containing all formats pertaining to an format id.
* \param buf a buffer for the output string * \param buf a buffer for the output string
* \param size size of buf (bytes) * \param size size of buf (bytes)
* \param format id. * \param id format id.
* \return The return value is buf. * \return The return value is buf.
*/ */
char* ast_getformatname_multiple_byid(char *buf, size_t size, enum ast_format_id id); char* ast_getformatname_multiple_byid(char *buf, size_t size, enum ast_format_id id);

View File

@@ -119,7 +119,7 @@ int ast_format_cap_is_empty(const struct ast_format_cap *cap);
/*! /*!
* \brief Remove format capability from capability structure. * \brief Remove format capability from capability structure.
* *
* \Note format must match Exactly to format in ast_format_cap object in order * \note format must match Exactly to format in ast_format_cap object in order
* to be removed. * to be removed.
* *
* \retval 0, remove was successful * \retval 0, remove was successful
@@ -131,7 +131,7 @@ int ast_format_cap_remove(struct ast_format_cap *cap, struct ast_format *format)
* \brief Remove all format capabilities from capability * \brief Remove all format capabilities from capability
* structure for a specific format id. * structure for a specific format id.
* *
* \Note This will remove _ALL_ formats matching the format id from the * \note This will remove _ALL_ formats matching the format id from the
* capabilities structure. * capabilities structure.
* *
* \retval 0, remove was successful * \retval 0, remove was successful
@@ -263,7 +263,7 @@ void ast_format_cap_iter_start(struct ast_format_cap *cap);
* } * }
* ast_format_cap_iter_end(Cap); * ast_format_cap_iter_end(Cap);
* *
* \Note Unless the container was alloced using no_lock, the container * \note Unless the container was alloced using no_lock, the container
* will be locked during the entire iteration until ast_format_cap_iter_end * will be locked during the entire iteration until ast_format_cap_iter_end
* is called. XXX Remember this, and do not attempt to lock any containers * is called. XXX Remember this, and do not attempt to lock any containers
* within this iteration that will violate locking order. * within this iteration that will violate locking order.
@@ -298,7 +298,7 @@ void ast_format_cap_from_old_bitfield(struct ast_format_cap *dst, uint64_t src);
/*! \brief Get the names of a set of formats /*! \brief Get the names of a set of formats
* \param buf a buffer for the output string * \param buf a buffer for the output string
* \param size size of buf (bytes) * \param size size of buf (bytes)
* \param format the format (combined IDs of codecs) * \param cap format the format (combined IDs of codecs)
* Prints a list of readable codec names corresponding to "format". * Prints a list of readable codec names corresponding to "format".
* ex: for format=AST_FORMAT_GSM|AST_FORMAT_SPEEX|AST_FORMAT_ILBC it will return "0x602 (GSM|SPEEX|ILBC)" * ex: for format=AST_FORMAT_GSM|AST_FORMAT_SPEEX|AST_FORMAT_ILBC it will return "0x602 (GSM|SPEEX|ILBC)"
* \return The return value is buf. * \return The return value is buf.

View File

@@ -59,9 +59,9 @@ void ast_codec_pref_init(struct ast_codec_pref *pref);
/*! /*!
* \brief Codec located at a particular place in the preference index. * \brief Codec located at a particular place in the preference index.
* \param preference structure to get the codec out of * \param pref preference structure to get the codec out of
* \param index to retrieve from * \param index to retrieve from
* \param retult ast_format structure to store the index value in * \param result ast_format structure to store the index value in
* \return pointer to input ast_format on success, NULL on failure * \return pointer to input ast_format on success, NULL on failure
*/ */
struct ast_format *ast_codec_pref_index(struct ast_codec_pref *pref, int index, struct ast_format *result); struct ast_format *ast_codec_pref_index(struct ast_codec_pref *pref, int index, struct ast_format *result);

View File

@@ -219,9 +219,9 @@ struct ast_framehook_interface {
* \brief Attach an framehook onto a channel for frame interception. * \brief Attach an framehook onto a channel for frame interception.
* \since 1.8 * \since 1.8
* *
* \param ast_channel, The channel to attach the hook on to. * \param chan ast_channel The channel to attach the hook on to.
* \param framehook interface, The framehook's callback functions and stored data. * \param i framehook interface, The framehook's callback functions and stored data.
* *
* \pre XXX The Channel must be locked during this function all. * \pre XXX The Channel must be locked during this function all.
* *
* \note The data pointer is never touched by the framehook API except to * \note The data pointer is never touched by the framehook API except to
@@ -242,8 +242,8 @@ int ast_framehook_attach(struct ast_channel *chan, struct ast_framehook_interfac
* the framehook will be detached and destroyed during channel * the framehook will be detached and destroyed during channel
* destruction. * destruction.
* *
* \param The channel the framehook is attached to * \param chan The channel the framehook is attached to
* \param The framehook's id * \param framehook_id The framehook's id
* *
* \retval 0 success * \retval 0 success
* \retval -1 framehook did not exist on the channel. This means the * \retval -1 framehook did not exist on the channel. This means the
@@ -258,7 +258,7 @@ int ast_framehook_detach(struct ast_channel *chan, int framehook_id);
* *
* \pre XXX The Channel must be locked during this function all. * \pre XXX The Channel must be locked during this function all.
* *
* \param channel containing the framehook list to destroy. * \param chan channel containing the framehook list to destroy.
* \retval 0 success * \retval 0 success
* \retval -1 failure * \retval -1 failure
*/ */
@@ -274,7 +274,7 @@ int ast_framehook_list_destroy(struct ast_channel *chan);
* *
* \pre XXX The Channel must be locked during this function all. * \pre XXX The Channel must be locked during this function all.
* *
* \param framehook list to push event to. * \param framehooks list to push event to.
* \param frame being pushed to the framehook list. * \param frame being pushed to the framehook list.
* *
* \return The resulting frame after being viewed and modified by the framehook callbacks. * \return The resulting frame after being viewed and modified by the framehook callbacks.
@@ -291,7 +291,7 @@ struct ast_frame *ast_framehook_list_read_event(struct ast_framehook_list *frame
* *
* \pre XXX The Channel must be locked during this function all. * \pre XXX The Channel must be locked during this function all.
* *
* \param framehook list to push event to. * \param framehooks list to push event to.
* \param frame being pushed to the framehook list. * \param frame being pushed to the framehook list.
* *
* \return The resulting frame after being viewed and modified by the framehook callbacks. * \return The resulting frame after being viewed and modified by the framehook callbacks.
@@ -303,7 +303,7 @@ struct ast_frame *ast_framehook_list_write_event(struct ast_framehook_list *fram
* \since 1.8 * \since 1.8
* \pre XXX The Channel must be locked during this function all. * \pre XXX The Channel must be locked during this function all.
* *
* \param the framehook list * \param framehooks the framehook list
* \retval 0, not empty * \retval 0, not empty
* \retval 1, is empty * \retval 1, is empty
*/ */

View File

@@ -213,6 +213,7 @@ size_t ast_heap_size(struct ast_heap *h);
* \brief Write-Lock a heap * \brief Write-Lock a heap
* *
* \param h the heap * \param h the heap
* \param file, func, line
* *
* A lock is provided for convenience. It can be assumed that none of the * A lock is provided for convenience. It can be assumed that none of the
* ast_heap API calls are thread safe. This lock does not have to be used * ast_heap API calls are thread safe. This lock does not have to be used
@@ -227,6 +228,7 @@ int __ast_heap_wrlock(struct ast_heap *h, const char *file, const char *func, in
* \brief Read-Lock a heap * \brief Read-Lock a heap
* *
* \param h the heap * \param h the heap
* \param file, func, line
* *
* A lock is provided for convenience. It can be assumed that none of the * A lock is provided for convenience. It can be assumed that none of the
* ast_heap API calls are thread safe. This lock does not have to be used * ast_heap API calls are thread safe. This lock does not have to be used
@@ -241,6 +243,7 @@ int __ast_heap_rdlock(struct ast_heap *h, const char *file, const char *func, in
* \brief Unlock a heap * \brief Unlock a heap
* *
* \param h the heap * \param h the heap
* \param file, func, line
* *
* \return see the documentation for pthread_rwlock_unlock() * \return see the documentation for pthread_rwlock_unlock()
* \since 1.6.1 * \since 1.6.1

View File

@@ -247,7 +247,9 @@ int astman_verify_session_writepermissions(uint32_t ident, int perm);
* \param event Event name * \param event Event name
* \param chancount Number of channels in chans parameter * \param chancount Number of channels in chans parameter
* \param chans A pointer to an array of channels involved in the event * \param chans A pointer to an array of channels involved in the event
* \param file, line, func
* \param contents Format string describing event * \param contents Format string describing event
* \param ...
* \since 1.8 * \since 1.8
*/ */
int __ast_manager_event_multichan(int category, const char *event, int chancount, int __ast_manager_event_multichan(int category, const char *event, int chancount,

View File

@@ -167,6 +167,7 @@ int __attribute__((format(printf, 2, 3)))
* \brief Set a variable on the message going to the dialplan. * \brief Set a variable on the message going to the dialplan.
* \note Setting a variable that already exists overwrites the existing variable value * \note Setting a variable that already exists overwrites the existing variable value
* *
* \param msg
* \param name Name of variable to set * \param name Name of variable to set
* \param value Value of variable to set * \param value Value of variable to set
* *
@@ -179,6 +180,7 @@ int ast_msg_set_var(struct ast_msg *msg, const char *name, const char *value);
* \brief Set a variable on the message being sent to a message tech directly. * \brief Set a variable on the message being sent to a message tech directly.
* \note Setting a variable that already exists overwrites the existing variable value * \note Setting a variable that already exists overwrites the existing variable value
* *
* \param msg
* \param name Name of variable to set * \param name Name of variable to set
* \param value Value of variable to set * \param value Value of variable to set
* *

View File

@@ -73,7 +73,7 @@ struct ast_sockaddr {
* if you know what you're doing. * if you know what you're doing.
* *
* \param addr The IPv4-mapped address to convert * \param addr The IPv4-mapped address to convert
* \param mapped_addr The resulting IPv4 address * \param ast_mapped The resulting IPv4 address
* \retval 0 Unable to make the conversion * \retval 0 Unable to make the conversion
* \retval 1 Successful conversion * \retval 1 Successful conversion
*/ */
@@ -310,10 +310,10 @@ static inline char *ast_sockaddr_stringify_port(const struct ast_sockaddr *addr)
* \brief * \brief
* Splits a string into its host and port components * Splits a string into its host and port components
* *
* \param str[in] The string to parse. May be modified by writing a NUL at the end of * \param[in] str The string to parse. May be modified by writing a NUL at the end of
* the host part. * the host part.
* \param host[out] Pointer to the host component within \a str. * \param[out] host Pointer to the host component within \a str.
* \param port[out] Pointer to the port component within \a str. * \param[out] port Pointer to the port component within \a str.
* \param flags If set to zero, a port MAY be present. If set to PARSE_PORT_IGNORE, a * \param flags If set to zero, a port MAY be present. If set to PARSE_PORT_IGNORE, a
* port MAY be present but will be ignored. If set to PARSE_PORT_REQUIRE, * port MAY be present but will be ignored. If set to PARSE_PORT_REQUIRE,
* a port MUST be present. If set to PARSE_PORT_FORBID, a port MUST NOT * a port MUST be present. If set to PARSE_PORT_FORBID, a port MUST NOT
@@ -467,7 +467,7 @@ int ast_sockaddr_is_ipv4_mapped(const struct ast_sockaddr *addr);
* \brief * \brief
* Determine if an IPv4 address is a multicast address * Determine if an IPv4 address is a multicast address
* *
* \parm addr the address to check * \param addr the address to check
* *
* This function checks if an address is in the 224.0.0.0/4 network block. * This function checks if an address is in the 224.0.0.0/4 network block.
* *
@@ -647,9 +647,9 @@ int _ast_sockaddr_to_sin(const struct ast_sockaddr *addr,
/*! /*!
* \since 1.8 * \since 1.8
* *
* \brief * \brief Converts a struct sockaddr_in to a struct ast_sockaddr.
* Converts a struct sockaddr_in to a struct ast_sockaddr.
* *
* \param addr
* \param sin The sockaddr_in to convert * \param sin The sockaddr_in to convert
* \return an ast_sockaddr structure * \return an ast_sockaddr structure
*/ */

View File

@@ -821,7 +821,7 @@ int ast_context_add_include(const char *context, const char *include,
* \brief Add a context include * \brief Add a context include
* *
* \param con context to add the include to * \param con context to add the include to
* \param include include to add * \param value include include to add
* \param registrar who registered the context * \param registrar who registered the context
* *
* Adds an include taking a struct ast_context as the first parameter * Adds an include taking a struct ast_context as the first parameter

View File

@@ -62,9 +62,9 @@ enum ast_presence_state ast_presence_state_val(const char *val);
/*! /*!
* \brief Asks a presence state provider for the current presence state. * \brief Asks a presence state provider for the current presence state.
* *
* \param presence_provider, The presence provider to retrieve the state from. * \param presence_provider The presence provider to retrieve the state from.
* \param subtype, The output paramenter to store the subtype string in. Must be freed if returned * \param subtype The output paramenter to store the subtype string in. Must be freed if returned
* \param message, The output paramenter to store the message string in. Must be freed if returned * \param message The output paramenter to store the message string in. Must be freed if returned
* *
* \retval presence state value on success, * \retval presence state value on success,
* \retval -1 on failure. * \retval -1 on failure.
@@ -78,9 +78,9 @@ enum ast_presence_state ast_presence_state(const char *presence_provider, char *
* requested (such as a base64 decode). In such instances, use of the event cache is not suitable * requested (such as a base64 decode). In such instances, use of the event cache is not suitable
* and should be bypassed. * and should be bypassed.
* *
* \param presence_provider, The presence provider to retrieve the state from. * \param presence_provider The presence provider to retrieve the state from.
* \param subtype, The output paramenter to store the subtype string in. Must be freed if returned * \param subtype The output paramenter to store the subtype string in. Must be freed if returned
* \param message, The output paramenter to store the message string in. Must be freed if returned * \param message The output paramenter to store the message string in. Must be freed if returned
* *
* \retval presence state value on success, * \retval presence state value on success,
* \retval -1 on failure. * \retval -1 on failure.

View File

@@ -1164,7 +1164,7 @@ struct ast_format *ast_rtp_codecs_get_payload_format(struct ast_rtp_codecs *code
* \brief Get the sample rate associated with known RTP payload types * \brief Get the sample rate associated with known RTP payload types
* *
* \param asterisk_format True if the value in format is to be used. * \param asterisk_format True if the value in format is to be used.
* \param An asterisk format * \param format An asterisk format
* \param code from AST_RTP list * \param code from AST_RTP list
* *
* \return the sample rate if the format was found, zero if it was not found * \return the sample rate if the format was found, zero if it was not found
@@ -1815,7 +1815,7 @@ void ast_rtp_instance_set_hold_timeout(struct ast_rtp_instance *instance, int ti
* \brief Set the RTP keepalive interval * \brief Set the RTP keepalive interval
* *
* \param instance The RTP instance * \param instance The RTP instance
* \param period Value to set the keepalive interval to * \param timeout Value to set the keepalive interval to
* *
* Example usage: * Example usage:
* *

View File

@@ -804,6 +804,8 @@ AST_INLINE_API(int __attribute__((format(printf, 3, 0))) ast_str_set_va(struct a
* \brief Append to a dynamic string using a va_list * \brief Append to a dynamic string using a va_list
* *
* Same as ast_str_set_va(), but append to the current content. * Same as ast_str_set_va(), but append to the current content.
*
* \param buf, max_len, fmt, ap
*/ */
AST_INLINE_API(int __attribute__((format(printf, 3, 0))) ast_str_append_va(struct ast_str **buf, ssize_t max_len, const char *fmt, va_list ap), AST_INLINE_API(int __attribute__((format(printf, 3, 0))) ast_str_append_va(struct ast_str **buf, ssize_t max_len, const char *fmt, va_list ap),
{ {

View File

@@ -236,7 +236,7 @@ struct ast_trans_pvt;
* \brief Register a translator * \brief Register a translator
* This registers a codec translator with asterisk * This registers a codec translator with asterisk
* \param t populated ast_translator structure * \param t populated ast_translator structure
* \param module handle to the module that owns this translator * \param mod module handle to the module that owns this translator
* \return 0 on success, -1 on failure * \return 0 on success, -1 on failure
*/ */
int __ast_register_translator(struct ast_translator *t, struct ast_module *module); int __ast_register_translator(struct ast_translator *t, struct ast_module *module);
@@ -276,10 +276,10 @@ void ast_translator_deactivate(struct ast_translator *t);
* Given a list of sources, and a designed destination format, which should * Given a list of sources, and a designed destination format, which should
* I choose? * I choose?
* *
* \param destination capabilities * \param dst_cap destination capabilities
* \param source capabilities * \param src_cap source capabilities
* \param destination format chosen out of destination capabilities * \param dst_fmt_out destination format chosen out of destination capabilities
* \param source format chosen out of source capabilities * \param src_fmt_out source format chosen out of source capabilities
* \return Returns 0 on success, -1 if no path could be found. * \return Returns 0 on success, -1 if no path could be found.
* *
* \note dst_cap and src_cap are not mondified. * \note dst_cap and src_cap are not mondified.
@@ -292,8 +292,8 @@ int ast_translator_best_choice(struct ast_format_cap *dst_cap,
/*! /*!
* \brief Builds a translator path * \brief Builds a translator path
* Build a path (possibly NULL) from source to dest * Build a path (possibly NULL) from source to dest
* \param dest destination format * \param dst dest destination format
* \param source source format * \param src source source format
* \return ast_trans_pvt on success, NULL on failure * \return ast_trans_pvt on success, NULL on failure
* */ * */
struct ast_trans_pvt *ast_translator_build_path(struct ast_format *dest, struct ast_format *source); struct ast_trans_pvt *ast_translator_build_path(struct ast_format *dest, struct ast_format *source);
@@ -309,7 +309,7 @@ void ast_translator_free_path(struct ast_trans_pvt *tr);
* \brief translates one or more frames * \brief translates one or more frames
* Apply an input frame into the translator and receive zero or one output frames. Consume * Apply an input frame into the translator and receive zero or one output frames. Consume
* determines whether the original frame should be freed * determines whether the original frame should be freed
* \param tr translator structure to use for translation * \param path tr translator structure to use for translation
* \param f frame to translate * \param f frame to translate
* \param consume Whether or not to free the original frame * \param consume Whether or not to free the original frame
* \return an ast_frame of the new translation format on success, NULL on failure * \return an ast_frame of the new translation format on success, NULL on failure
@@ -342,8 +342,8 @@ void ast_translate_available_formats(struct ast_format_cap *dest, struct ast_for
/*! /*!
* \brief Puts a string representation of the translation path into outbuf * \brief Puts a string representation of the translation path into outbuf
* \param translator structure containing the translation path * \param t translator structure containing the translation path
* \param ast_str output buffer * \param str ast_str output buffer
* \retval on success pointer to beginning of outbuf. on failure "". * \retval on success pointer to beginning of outbuf. on failure "".
*/ */
const char *ast_translate_path_to_str(struct ast_trans_pvt *t, struct ast_str **str); const char *ast_translate_path_to_str(struct ast_trans_pvt *t, struct ast_str **str);

View File

@@ -858,7 +858,6 @@ int ast_eid_cmp(const struct ast_eid *eid1, const struct ast_eid *eid2);
/*! /*!
* \brief Get current thread ID * \brief Get current thread ID
* \param None
* \return the ID if platform is supported, else -1 * \return the ID if platform is supported, else -1
*/ */
int ast_get_tid(void); int ast_get_tid(void);
@@ -897,12 +896,14 @@ char *ast_utils_which(const char *binary, char *fullpath, size_t fullpath_size);
* RAII_VAR(struct mything *, thing, mything_alloc(name), mything_cleanup); * RAII_VAR(struct mything *, thing, mything_alloc(name), mything_cleanup);
* ... * ...
* } * }
* \endcode
* *
* \note This macro is especially useful for working with ao2 objects. A common idiom * \note This macro is especially useful for working with ao2 objects. A common idiom
* would be a function that needed to look up an ao2 object and might have several error * would be a function that needed to look up an ao2 object and might have several error
* conditions after the allocation that would normally need to unref the ao2 object. * conditions after the allocation that would normally need to unref the ao2 object.
* With RAII_VAR, it is possible to just return and leave the cleanup to the destructor * With RAII_VAR, it is possible to just return and leave the cleanup to the destructor
* function. For example: * function. For example:
*
* \code * \code
* void do_stuff(const char *name) * void do_stuff(const char *name)
* { * {
@@ -915,7 +916,7 @@ char *ast_utils_which(const char *binary, char *fullpath, size_t fullpath_size);
* } * }
* do_stuff_with_thing(thing); * do_stuff_with_thing(thing);
* } * }
* \encode * \endcode
*/ */
#define RAII_VAR(vartype, varname, initval, dtor) \ #define RAII_VAR(vartype, varname, initval, dtor) \
auto void _dtor_ ## varname (vartype * v); \ auto void _dtor_ ## varname (vartype * v); \

View File

@@ -99,7 +99,7 @@ static int audiohook_set_internal_rate(struct ast_audiohook *audiohook, int rate
/*! \brief Initialize an audiohook structure /*! \brief Initialize an audiohook structure
* \param audiohook Audiohook structure * \param audiohook Audiohook structure
* \param type * \param type
* \param source * \param init, source, init_flags
* \return Returns 0 on success, -1 on failure * \return Returns 0 on success, -1 on failure
*/ */
int ast_audiohook_init(struct ast_audiohook *audiohook, enum ast_audiohook_type type, const char *source, enum ast_audiohook_init_flags init_flags) int ast_audiohook_init(struct ast_audiohook *audiohook, enum ast_audiohook_type type, const char *source, enum ast_audiohook_init_flags init_flags)

View File

@@ -1013,7 +1013,10 @@ char *ast_cdr_disp2str(int disposition)
return "UNKNOWN"; return "UNKNOWN";
} }
/*! Converts AMA flag to printable string */ /*! Converts AMA flag to printable string
*
* \param flag, flags
*/
char *ast_cdr_flags2str(int flag) char *ast_cdr_flags2str(int flag)
{ {
switch (flag) { switch (flag) {

View File

@@ -811,7 +811,10 @@ int ast_str2cause(const char *name)
} }
/*! \brief Gives the string form of a given channel state. /*! \brief Gives the string form of a given channel state.
\note This function is not reentrant. *
* \note This function is not reentrant.
*
* \param state
*/ */
const char *ast_state2str(enum ast_channel_state state) const char *ast_state2str(enum ast_channel_state state)
{ {

View File

@@ -601,12 +601,12 @@ static int fileexists_test(const char *filename, const char *fmt, const char *la
* \note The last parameter(s) point to a buffer of sufficient size, * \note The last parameter(s) point to a buffer of sufficient size,
* which on success is filled with the matching filename. * which on success is filled with the matching filename.
* *
* \param filename, name of the file. * \param filename Name of the file.
* \param fmt, format to look for the file in. OPTIONAL * \param fmt Format to look for the file in. OPTIONAL
* \param preflang, the perfered language * \param preflang The perfered language
* \param buf, returns the matching filename * \param buf Returns the matching filename
* \param buflen, size of the buf * \param buflen Size of the buf
* \param result_cap, OPTIONAL format capabilities result structure * \param result_cap OPTIONAL format capabilities result structure
* returns what formats the file was found in. * returns what formats the file was found in.
* *
* \retval 1, true. file exists and result format is set * \retval 1, true. file exists and result format is set

View File

@@ -195,7 +195,7 @@ void *named_acl_alloc(const char *cat)
* \brief Find a named ACL in a container by its name * \brief Find a named ACL in a container by its name
* *
* \param container ao2container holding the named ACLs * \param container ao2container holding the named ACLs
* \param name of the ACL wanted to be found * \param cat name of the ACL wanted to be found
* \retval pointer to the named ACL if available. Null if not found. * \retval pointer to the named ACL if available. Null if not found.
*/ */
void *named_acl_find(struct ao2_container *container, const char *cat) void *named_acl_find(struct ao2_container *container, const char *cat)

View File

@@ -6794,6 +6794,7 @@ int ast_context_remove_extension_callerid2(struct ast_context *con, const char *
* \note This function locks contexts list by &conlist, searches for the right context * \note This function locks contexts list by &conlist, searches for the right context
* structure, and locks the macrolock mutex in that context. * structure, and locks the macrolock mutex in that context.
* macrolock is used to limit a macro to be executed by one call at a time. * macrolock is used to limit a macro to be executed by one call at a time.
* \param context The context
*/ */
int ast_context_lockmacro(const char *context) int ast_context_lockmacro(const char *context)
{ {
@@ -6815,6 +6816,7 @@ int ast_context_lockmacro(const char *context)
* \note This function locks contexts list by &conlist, searches for the right context * \note This function locks contexts list by &conlist, searches for the right context
* structure, and unlocks the macrolock mutex in that context. * structure, and unlocks the macrolock mutex in that context.
* macrolock is used to limit a macro to be executed by one call at a time. * macrolock is used to limit a macro to be executed by one call at a time.
* \param context The context
*/ */
int ast_context_unlockmacro(const char *context) int ast_context_unlockmacro(const char *context)
{ {
@@ -8796,7 +8798,12 @@ static const char * const months[] =
"dec", "dec",
NULL, NULL,
}; };
/*! /brief Build timing
*
* /param i, info
* /param info_in
*
*/
int ast_build_timing(struct ast_timing *i, const char *info_in) int ast_build_timing(struct ast_timing *i, const char *info_in)
{ {
char *info; char *info;

View File

@@ -422,7 +422,6 @@ static void lua_update_registry(lua_State *L, const char *context, const char *e
* The value on the top of the stack is popped and used as the name. * The value on the top of the stack is popped and used as the name.
* *
* \param L the lua_State to use * \param L the lua_State to use
* \param name the name of the variable
*/ */
static void lua_push_variable_table(lua_State *L) static void lua_push_variable_table(lua_State *L)
{ {