mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
Remove as much trailing whitespace as possible.
Change-Id: I873c1c6d00f447269bd841494459efccdd2c19c0
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
/*! \file
|
||||
*
|
||||
* \brief Common implementation-independent jitterbuffer stuff.
|
||||
*
|
||||
*
|
||||
* \author Slav Klenov <slav@securax.org>
|
||||
*/
|
||||
|
||||
|
@@ -377,4 +377,3 @@ struct adsi_funcs {
|
||||
void ast_adsi_install_funcs(const struct adsi_funcs *funcs);
|
||||
|
||||
#endif /* _ASTERISK_ADSI_H */
|
||||
|
||||
|
@@ -63,7 +63,7 @@ pval *linku1(pval *head, pval *tail);
|
||||
void ael2_print(char *fname, pval *tree);
|
||||
struct pval *ael2_parse(char *fname, int *errs); /* in ael.flex */
|
||||
void destroy_pval(pval *item);
|
||||
|
||||
|
||||
extern char *prev_word; /* in ael.flex */
|
||||
|
||||
#ifndef YY_TYPEDEF_YY_SCANNER_T
|
||||
@@ -80,7 +80,7 @@ struct parse_io
|
||||
};
|
||||
|
||||
/* for CODE GENERATION */
|
||||
|
||||
|
||||
typedef enum { AEL_APPCALL, AEL_CONTROL1, AEL_FOR_CONTROL, AEL_IF_CONTROL, AEL_IFTIME_CONTROL, AEL_RAND_CONTROL, AEL_LABEL, AEL_RETURN } ael_priority_type;
|
||||
|
||||
|
||||
@@ -88,13 +88,13 @@ struct ael_priority
|
||||
{
|
||||
int priority_num;
|
||||
ael_priority_type type;
|
||||
|
||||
|
||||
char *app;
|
||||
char *appargs;
|
||||
|
||||
|
||||
struct pval *origin;
|
||||
struct ael_extension *exten;
|
||||
|
||||
|
||||
struct ael_priority *goto_true;
|
||||
struct ael_priority *goto_false;
|
||||
struct ael_priority *next;
|
||||
@@ -109,9 +109,9 @@ struct ael_extension
|
||||
int is_switch;
|
||||
int has_switch; /* set if a switch exists in the extension */
|
||||
int checked_switch; /* set if we checked for a switch in the extension -- so we don't have to do it again */
|
||||
|
||||
|
||||
struct ast_context *context;
|
||||
|
||||
|
||||
struct ael_priority *plist;
|
||||
struct ael_priority *plist_last;
|
||||
struct ael_extension *next_exten;
|
||||
|
@@ -41,7 +41,7 @@ typedef struct agi_state {
|
||||
|
||||
typedef struct agi_command {
|
||||
const char * const cmda[AST_MAX_CMD_LEN]; /*!< Null terminated list of the words of the command */
|
||||
/*! Handler for the command (channel, AGI state, # of arguments, argument list).
|
||||
/*! Handler for the command (channel, AGI state, # of arguments, argument list).
|
||||
Returns RESULT_SHOWUSAGE for improper arguments */
|
||||
int (* const handler)(struct ast_channel *chan, AGI *agi, int argc, const char * const argv[]);
|
||||
/*! Summary of the command (< 60 characters) */
|
||||
|
@@ -17,8 +17,8 @@
|
||||
*/
|
||||
|
||||
/*! \file
|
||||
*
|
||||
* ???????
|
||||
*
|
||||
* ???????
|
||||
* \todo Explain this file!
|
||||
*/
|
||||
|
||||
|
@@ -72,13 +72,13 @@
|
||||
* found_obj = ASTOBJ_CONTAINER_FIND(&super_container, "obj1");
|
||||
*
|
||||
* if(found_obj) {
|
||||
* printf("Found object: %s", found_obj->name);
|
||||
* printf("Found object: %s", found_obj->name);
|
||||
* ASTOBJ_UNREF(found_obj,sample_object_destroy);
|
||||
* }
|
||||
*
|
||||
* ASTOBJ_CONTAINER_DESTROYALL(&super_container,sample_object_destroy);
|
||||
* ASTOBJ_CONTAINER_DESTROY(&super_container);
|
||||
*
|
||||
*
|
||||
* return 0;
|
||||
* }
|
||||
* \endcode
|
||||
@@ -110,13 +110,13 @@ extern "C" {
|
||||
/*! \brief Unlock a locked object. */
|
||||
#define ASTOBJ_UNLOCK(object) ast_mutex_unlock(&(object)->_lock)
|
||||
|
||||
#ifdef ASTOBJ_CONTAINER_HASHMODEL
|
||||
#ifdef ASTOBJ_CONTAINER_HASHMODEL
|
||||
#define __ASTOBJ_HASH(type,hashes) \
|
||||
type *next[hashes]
|
||||
#else
|
||||
type *next[hashes]
|
||||
#else
|
||||
#define __ASTOBJ_HASH(type,hashes) \
|
||||
type *next[1]
|
||||
#endif
|
||||
type *next[1]
|
||||
#endif
|
||||
|
||||
/*! \brief Add ASTOBJ components to a struct (without locking support).
|
||||
*
|
||||
@@ -140,14 +140,14 @@ extern "C" {
|
||||
unsigned int refcount; \
|
||||
unsigned int objflags; \
|
||||
__ASTOBJ_HASH(type,hashes)
|
||||
|
||||
|
||||
/*! \brief Add ASTOBJ components to a struct (without locking support).
|
||||
*
|
||||
* \param type The datatype of the object.
|
||||
*
|
||||
* This macro works like #ASTOBJ_COMPONENTS_NOLOCK_FULL() except it only accepts a
|
||||
* type and uses default values for namelen and hashes.
|
||||
*
|
||||
*
|
||||
* <b>Sample Usage:</b>
|
||||
* \code
|
||||
* struct sample_struct_componets {
|
||||
@@ -174,8 +174,8 @@ extern "C" {
|
||||
*/
|
||||
#define ASTOBJ_COMPONENTS(type) \
|
||||
ASTOBJ_COMPONENTS_NOLOCK(type); \
|
||||
ast_mutex_t _lock;
|
||||
|
||||
ast_mutex_t _lock;
|
||||
|
||||
/*! \brief Add ASTOBJ components to a struct (with locking support).
|
||||
*
|
||||
* \param type The datatype of the object.
|
||||
@@ -194,7 +194,7 @@ extern "C" {
|
||||
*/
|
||||
#define ASTOBJ_COMPONENTS_FULL(type,namelen,hashes) \
|
||||
ASTOBJ_COMPONENTS_NOLOCK_FULL(type,namelen,hashes); \
|
||||
ast_mutex_t _lock;
|
||||
ast_mutex_t _lock;
|
||||
|
||||
/*! \brief Increment an object reference count.
|
||||
* \param object A pointer to the object to operate on.
|
||||
@@ -207,7 +207,7 @@ extern "C" {
|
||||
ASTOBJ_UNLOCK(object); \
|
||||
(object); \
|
||||
})
|
||||
|
||||
|
||||
/*! \brief Decrement the reference count on an object.
|
||||
*
|
||||
* \param object A pointer the object to operate on.
|
||||
@@ -233,12 +233,12 @@ extern "C" {
|
||||
(object) = NULL; \
|
||||
} while(0)
|
||||
|
||||
/*! \brief Mark an ASTOBJ by adding the #ASTOBJ_FLAG_MARKED flag to its objflags mask.
|
||||
/*! \brief Mark an ASTOBJ by adding the #ASTOBJ_FLAG_MARKED flag to its objflags mask.
|
||||
* \param object A pointer to the object to operate on.
|
||||
*
|
||||
* This macro "marks" an object. Marked objects can later be unlinked from a container using
|
||||
* #ASTOBJ_CONTAINER_PRUNE_MARKED().
|
||||
*
|
||||
*
|
||||
*/
|
||||
#define ASTOBJ_MARK(object) \
|
||||
do { \
|
||||
@@ -246,7 +246,7 @@ extern "C" {
|
||||
(object)->objflags |= ASTOBJ_FLAG_MARKED; \
|
||||
ASTOBJ_UNLOCK(object); \
|
||||
} while(0)
|
||||
|
||||
|
||||
/*! \brief Unmark an ASTOBJ by subtracting the #ASTOBJ_FLAG_MARKED flag from its objflags mask.
|
||||
* \param object A pointer to the object to operate on.
|
||||
*/
|
||||
@@ -277,7 +277,7 @@ extern "C" {
|
||||
*/
|
||||
#define ASTOBJ_CONTAINER_RDLOCK(container) ast_mutex_lock(&(container)->_lock)
|
||||
|
||||
/*! \brief Lock an ASTOBJ_CONTAINER for writing.
|
||||
/*! \brief Lock an ASTOBJ_CONTAINER for writing.
|
||||
*/
|
||||
#define ASTOBJ_CONTAINER_WRLOCK(container) ast_mutex_lock(&(container)->_lock)
|
||||
|
||||
@@ -316,7 +316,7 @@ extern "C" {
|
||||
*
|
||||
* This macro initializes a container. It should only be used on containers
|
||||
* that support locking.
|
||||
*
|
||||
*
|
||||
* <b>Sample Usage:</b>
|
||||
* \code
|
||||
* struct sample_struct_container {
|
||||
@@ -333,7 +333,7 @@ extern "C" {
|
||||
do { \
|
||||
ast_mutex_init(&(container)->_lock); \
|
||||
} while(0)
|
||||
|
||||
|
||||
/*! \brief Destroy a container.
|
||||
*
|
||||
* \param container A pointer to the container to destroy.
|
||||
@@ -411,7 +411,7 @@ extern "C" {
|
||||
})
|
||||
|
||||
/*! \brief Find an object in a container.
|
||||
*
|
||||
*
|
||||
* \param container A pointer to the container to search.
|
||||
* \param data The data to search for.
|
||||
* \param field The field/member of the container's objects to search.
|
||||
@@ -421,7 +421,7 @@ extern "C" {
|
||||
*
|
||||
* This macro iterates through a container passing the specified field and data
|
||||
* elements to the specified comparefunc. The function should return 0 when a match is found.
|
||||
*
|
||||
*
|
||||
* \note When the returned object is no longer in use, #ASTOBJ_UNREF() should
|
||||
* be used to free the additional reference created by this macro.
|
||||
*
|
||||
@@ -498,7 +498,7 @@ extern "C" {
|
||||
})
|
||||
|
||||
/*! \brief Find and remove an object from a container.
|
||||
*
|
||||
*
|
||||
* \param container A pointer to the container to operate on.
|
||||
* \param namestr The name of the object to remove.
|
||||
*
|
||||
@@ -532,7 +532,7 @@ extern "C" {
|
||||
})
|
||||
|
||||
/*! \brief Find and remove an object in a container.
|
||||
*
|
||||
*
|
||||
* \param container A pointer to the container to search.
|
||||
* \param data The data to search for.
|
||||
* \param field The field/member of the container's objects to search.
|
||||
@@ -542,7 +542,7 @@ extern "C" {
|
||||
*
|
||||
* This macro iterates through a container passing the specified field and data
|
||||
* elements to the specified comparefunc. The function should return 0 when a match is found.
|
||||
* If a match is found it is removed from the list.
|
||||
* If a match is found it is removed from the list.
|
||||
*
|
||||
* \note This macro does not destroy any objects, it simply unlinks
|
||||
* them. No destructors are called.
|
||||
@@ -646,7 +646,7 @@ extern "C" {
|
||||
*
|
||||
* \param container A pointer to the container to prune.
|
||||
* \param destructor A destructor function to call on each marked object.
|
||||
*
|
||||
*
|
||||
* This macro iterates through the specfied container and prunes any marked
|
||||
* objects executing the specfied destructor if necessary.
|
||||
*/
|
||||
@@ -738,7 +738,7 @@ extern "C" {
|
||||
*
|
||||
* This macro initializes a container. It should only be used on containers
|
||||
* that support locking.
|
||||
*
|
||||
*
|
||||
* <b>Sample Usage:</b>
|
||||
* \code
|
||||
* struct sample_struct_container {
|
||||
|
@@ -16,7 +16,7 @@
|
||||
* at the top of the source tree.
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \file
|
||||
* \brief Open Settlement Protocol (OSP)
|
||||
*/
|
||||
|
@@ -35,7 +35,7 @@ struct ast_autochan {
|
||||
ast_mutex_t lock;
|
||||
};
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \par Just what the $!@# is an autochan?
|
||||
*
|
||||
* An ast_autochan is a structure which contains an ast_channel. The pointer
|
||||
|
@@ -1443,4 +1443,3 @@
|
||||
#undef volatile
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -176,7 +176,7 @@ struct ao2_container *ast_calendar_event_container_alloc(void);
|
||||
*/
|
||||
void ast_calendar_merge_events(struct ast_calendar *cal, struct ao2_container *new_events);
|
||||
|
||||
/*! \brief Unreference an ast_calendar_event
|
||||
/*! \brief Unreference an ast_calendar_event
|
||||
*
|
||||
* \param event event to unref
|
||||
*
|
||||
@@ -184,7 +184,7 @@ void ast_calendar_merge_events(struct ast_calendar *cal, struct ao2_container *n
|
||||
*/
|
||||
struct ast_calendar_event *ast_calendar_unref_event(struct ast_calendar_event *event);
|
||||
|
||||
/*! \brief Remove all events from calendar
|
||||
/*! \brief Remove all events from calendar
|
||||
*
|
||||
* \param cal calendar whose events need to be cleared
|
||||
*/
|
||||
|
@@ -1556,7 +1556,7 @@ void ast_cc_busy_interface(struct ast_channel *inbound, struct ast_cc_config_par
|
||||
* ready, and then based on set flags, creates the proper frame type. For chan_dahdi, we
|
||||
* provide this function. It provides us the data we need, and we'll make its frame for it.
|
||||
*
|
||||
* \param chan A channel involved in the call. What we want is on a datastore on both incoming
|
||||
* \param chan A channel involved in the call. What we want is on a datastore on both incoming
|
||||
* and outgoing so either may be provided
|
||||
* \param cc_params The CC configuration parameters for the outbound target
|
||||
* \param monitor_type The type of monitor to use when CC is requested
|
||||
@@ -1567,7 +1567,7 @@ void ast_cc_busy_interface(struct ast_channel *inbound, struct ast_cc_config_par
|
||||
* data has been allocated, then this parameter should contain a pointer to that data. If using a generic
|
||||
* monitor, this parameter should remain NULL. Note that if this function should fail at some point,
|
||||
* it is the responsibility of the caller to free the private data upon return.
|
||||
* \param[out] frame The frame we will be returning to the caller. It is vital that ast_frame_free be
|
||||
* \param[out] frame The frame we will be returning to the caller. It is vital that ast_frame_free be
|
||||
* called on this frame since the payload will be allocated on the heap.
|
||||
* \retval -1 Failure. At some point there was a failure. Do not attempt to use the frame in this case.
|
||||
* \retval 0 Success
|
||||
|
@@ -14,9 +14,9 @@
|
||||
* at the top of the source tree.
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \file
|
||||
* \brief Call Event Logging API
|
||||
* \brief Call Event Logging API
|
||||
*
|
||||
* \todo TODO: There some event types that have been defined here, but are not
|
||||
* yet used anywhere in the code. It would be really awesome if someone
|
||||
|
@@ -105,7 +105,7 @@ void ast_cli(int fd, const char *fmt, ...)
|
||||
char *new_setdebug(const struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
|
||||
|
||||
...
|
||||
// this is how we create the entry to register
|
||||
// this is how we create the entry to register
|
||||
AST_CLI_DEFINE(new_setdebug, "short description")
|
||||
...
|
||||
|
||||
@@ -132,7 +132,7 @@ static char *test_new_cli(struct ast_cli_entry *e, int cmd, struct ast_cli_args
|
||||
return NULL;
|
||||
return ast_cli_complete(a->word, choices, a->n);
|
||||
|
||||
default:
|
||||
default:
|
||||
// we are guaranteed to be called with argc >= e->args;
|
||||
if (a->argc > e->args + 1) // we accept one extra argument
|
||||
return CLI_SHOWUSAGE;
|
||||
@@ -142,10 +142,10 @@ static char *test_new_cli(struct ast_cli_entry *e, int cmd, struct ast_cli_args
|
||||
}
|
||||
|
||||
\endcode
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/*! \brief calling arguments for new-style handlers.
|
||||
/*! \brief calling arguments for new-style handlers.
|
||||
* \arg \ref CLI_command_API
|
||||
*/
|
||||
enum ast_cli_command {
|
||||
@@ -165,7 +165,7 @@ struct ast_cli_args {
|
||||
const int n; /* the iteration count (n-th entry we generate) */
|
||||
};
|
||||
|
||||
/*! \brief descriptor for a cli entry.
|
||||
/*! \brief descriptor for a cli entry.
|
||||
* \arg \ref CLI_command_API
|
||||
*/
|
||||
struct ast_cli_entry {
|
||||
@@ -215,7 +215,7 @@ struct ast_cli_entry {
|
||||
*/
|
||||
char *ast_cli_complete(const char *word, const char * const choices[], int pos);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Interprets a command
|
||||
* Interpret a command s, sending output to fd if uid:gid has permissions
|
||||
* to run this command. uid = CLI_NO_PERMS to avoid checking user permissions
|
||||
@@ -229,9 +229,9 @@ char *ast_cli_complete(const char *word, const char * const choices[], int pos);
|
||||
*/
|
||||
int ast_cli_command_full(int uid, int gid, int fd, const char *s);
|
||||
|
||||
#define ast_cli_command(fd,s) ast_cli_command_full(CLI_NO_PERMS, CLI_NO_PERMS, fd, s)
|
||||
#define ast_cli_command(fd,s) ast_cli_command_full(CLI_NO_PERMS, CLI_NO_PERMS, fd, s)
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Executes multiple CLI commands
|
||||
* Interpret strings separated by NULL and execute each one, sending output to fd
|
||||
* if uid has permissions, uid = CLI_NO_PERMS to avoid checking users permissions.
|
||||
@@ -262,7 +262,7 @@ int ast_cli_register(struct ast_cli_entry *e);
|
||||
*/
|
||||
int ast_cli_register_multiple(struct ast_cli_entry *e, int len);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Unregisters a command or an array of commands
|
||||
* \param e which cli entry to unregister
|
||||
* Unregister your own command. You must pass a completed ast_cli_entry structure
|
||||
@@ -277,7 +277,7 @@ int ast_cli_unregister(struct ast_cli_entry *e);
|
||||
*/
|
||||
int ast_cli_unregister_multiple(struct ast_cli_entry *e, int len);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Readline madness
|
||||
* Useful for readline, that's about it
|
||||
* \retval 0 on success
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Asterisk -- An open source telephony toolkit.
|
||||
*
|
||||
*
|
||||
* Copyright (C) 1999-2006, Digium, Inc.
|
||||
*
|
||||
* Mark Spencer <markster@digium.com>
|
||||
@@ -205,7 +205,7 @@ typedef unsigned int uint;
|
||||
typedef unsigned long long uint64_t;
|
||||
#endif
|
||||
|
||||
/* glob compat stuff */
|
||||
/* glob compat stuff */
|
||||
#if defined(__Darwin__) || defined(__CYGWIN__)
|
||||
#define GLOB_ABORTED GLOB_ABEND
|
||||
#endif
|
||||
|
@@ -856,7 +856,7 @@ struct ast_category *ast_category_new_template(const char *name, const char *in_
|
||||
|
||||
/*!
|
||||
* \brief Inserts new category
|
||||
*
|
||||
*
|
||||
* \param config which config to use
|
||||
* \param cat newly created category to insert
|
||||
* \param match which category to insert above
|
||||
|
@@ -784,11 +784,11 @@ intptr_t aco_option_get_argument(const struct aco_option *option, unsigned int p
|
||||
* VA_NARGS(one, two, three) -> v
|
||||
* 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
|
||||
*
|
||||
*
|
||||
* 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
|
||||
* does not work when __VA_ARGS__ is the first argument. Instead, 1 is returned instead of 0:
|
||||
*
|
||||
*
|
||||
* VA_NARGS() -> v
|
||||
* VA_NARGS1( , 8, 7, 6, 5, 4, 3, 2, 1, 0) ->
|
||||
* VA_NARGS1(_1, _2, _3, _4, _5, _6, _7, _8, N) -> 1
|
||||
|
@@ -206,7 +206,7 @@ struct ast_unreal_pvt *ast_unreal_alloc(size_t size, ao2_destructor_fn destructo
|
||||
*/
|
||||
struct ast_channel *ast_unreal_new_channels(struct ast_unreal_pvt *p,
|
||||
const struct ast_channel_tech *tech, int semi1_state, int semi2_state,
|
||||
const char *exten, const char *context, const struct ast_assigned_ids *assignedids,
|
||||
const char *exten, const char *context, const struct ast_assigned_ids *assignedids,
|
||||
const struct ast_channel *requestor, struct ast_callid *callid);
|
||||
|
||||
/*!
|
||||
|
@@ -715,4 +715,3 @@ The implementation of this memory debugging system can be found in
|
||||
<hr>
|
||||
Return to the \ref ArchTOC
|
||||
*/
|
||||
|
||||
|
@@ -40,7 +40,7 @@
|
||||
* \arg <b>Website</b>: http://www.openssl.org
|
||||
* \arg <b>Used by</b>: Asterisk core (TLS for manager and HTTP), res_crypto
|
||||
* \arg <b>License</b>: Apache 2.0
|
||||
* \arg <b>Note</b>: An exception has been granted to allow linking of
|
||||
* \arg <b>Note</b>: An exception has been granted to allow linking of
|
||||
* OpenSSL with Asterisk.
|
||||
*
|
||||
* \subsection curl_lib Curl
|
||||
|
@@ -14,21 +14,21 @@
|
||||
* at the top of the source tree.
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \file
|
||||
*
|
||||
* This is the main header file used for generating miscellaneous documentation
|
||||
* using Doxygen. This also utilizes the documentation in
|
||||
* using Doxygen. This also utilizes the documentation in
|
||||
* include/asterisk/doxygen/ header files.
|
||||
*/
|
||||
|
||||
/*
|
||||
/*
|
||||
* The following is for Doxygen Developer's documentation generated
|
||||
* by running "make progdocs" with doxygen installed on your
|
||||
* system.
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page DevDoc Asterisk Developer's Documentation - Appendices
|
||||
*
|
||||
* \section devpolicy Development and Release Policies
|
||||
@@ -53,7 +53,7 @@
|
||||
*
|
||||
* \section debugconfig Debugging and Configuration References
|
||||
* \arg \ref AstDebug : Hints on debugging
|
||||
* \arg \ref extref
|
||||
* \arg \ref extref
|
||||
* \arg \ref ConfigFiles
|
||||
* \arg \ref SoundFiles included in the Asterisk distribution
|
||||
*
|
||||
@@ -66,7 +66,7 @@
|
||||
* \arg \b Digium: The Asterisk Company https://www.digium.com
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page CodeGuide Coding Guidelines
|
||||
* \AsteriskTrunkWarning
|
||||
* \section Coding Guidelines
|
||||
@@ -75,7 +75,7 @@
|
||||
* \verbinclude CODING-GUIDELINES
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page AstAPI Asterisk API
|
||||
* \section Asteriskapi Asterisk API
|
||||
* Some generic documents on the Asterisk architecture
|
||||
@@ -89,7 +89,7 @@
|
||||
* \arg See \ref Def_Channel
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page AstAPIChanges Asterisk API Changes
|
||||
*
|
||||
* \section Changes161 Version 1.6.1
|
||||
@@ -122,7 +122,7 @@
|
||||
* \li ast_channel_alloc()
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page AstAMI AMI - The Manager Interface
|
||||
* \section ami AMI - The manager Interface
|
||||
* \arg \link Config_ami Configuration file \endlink
|
||||
@@ -133,23 +133,23 @@
|
||||
/*!
|
||||
* \page AstARA ARA - The Asterisk Realtime Interface
|
||||
* \section realtime ARA - a generic API to storage and retrieval
|
||||
* Implemented in \ref config.c
|
||||
* Implemented in \ref pbx_realtime.c
|
||||
* Implemented in \ref config.c
|
||||
* Implemented in \ref pbx_realtime.c
|
||||
* \todo include missing realtime txt
|
||||
* \todo include missing extconfig txt
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page AstDUNDi DUNDi
|
||||
*
|
||||
* DUNDi is a peer-to-peer system for locating Internet gateways to telephony
|
||||
* services. Unlike traditional centralized services (such as the remarkably
|
||||
* simple and concise ENUM standard), DUNDi is fully-distributed with no
|
||||
* DUNDi is a peer-to-peer system for locating Internet gateways to telephony
|
||||
* services. Unlike traditional centralized services (such as the remarkably
|
||||
* simple and concise ENUM standard), DUNDi is fully-distributed with no
|
||||
* centralized authority whatsoever.
|
||||
*
|
||||
* DUNDi is not itself a Voice-over IP signaling or media protocol. Instead,
|
||||
* it publishes routes which are in turn accessed via industry standard
|
||||
* protocols such as IAX, SIP and H.323.
|
||||
* DUNDi is not itself a Voice-over IP signaling or media protocol. Instead,
|
||||
* it publishes routes which are in turn accessed via industry standard
|
||||
* protocols such as IAX, SIP and H.323.
|
||||
*
|
||||
* \par References
|
||||
* \arg DUNDi is documented at http://www.dundi.com
|
||||
@@ -157,7 +157,7 @@
|
||||
* \arg Configuration in \ref dundi.conf
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page AstCDR CDR - Call Data Records and billing
|
||||
* \section cdr Call Data Records
|
||||
* \par See also
|
||||
@@ -168,18 +168,18 @@
|
||||
* \todo include missing cdrdriver txt
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page AstCREDITS CREDITS
|
||||
* \verbinclude CREDITS
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page AstVideo Video support in Asterisk
|
||||
* \section sectAstVideo Video support in Asterisk
|
||||
* \todo include missing video txt
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page AstVar Globally predefined channel variables
|
||||
* \section globchan Globally predefined channel variables
|
||||
*
|
||||
@@ -193,7 +193,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page AstChanVar Asterisk Dialplan Variables
|
||||
* Asterisk Dialplan variables are divided into three groups:
|
||||
* - Predefined global variables, handled by the PBX core
|
||||
@@ -204,7 +204,7 @@
|
||||
* Channel variables are only reachable within the channel.
|
||||
*
|
||||
* For more information on the predefined variables, see \ref AstVar
|
||||
*
|
||||
*
|
||||
* Global and Channel variables:
|
||||
* - Names are Case insensitive
|
||||
* - Names that start with a character, but are alphanumeric
|
||||
@@ -226,7 +226,7 @@
|
||||
* Global variables can also be set in the [globals] section of extensions.conf. The
|
||||
* setting \b clearglobalvars in extensions.conf [general] section affects whether
|
||||
* or not the global variables defined in \b globals are reset at dialplan reload.
|
||||
*
|
||||
*
|
||||
* There are CLI commands to change and read global variables. This can be handy
|
||||
* to reset counters at midnight from an external script.
|
||||
*
|
||||
@@ -240,7 +240,7 @@
|
||||
* with the list starting at varshead in struct ast_channel
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page Config_mod Modules configuration
|
||||
* All res_ resource modules are loaded with globals on, which means
|
||||
* that non-static functions are callable from other modules.
|
||||
@@ -251,11 +251,11 @@
|
||||
|
||||
/*!
|
||||
* \page Config_ext Extensions.conf - the Dial Plan
|
||||
* \section dialplan Extensions.conf
|
||||
* \section dialplan Extensions.conf
|
||||
* \verbinclude extensions.conf.sample
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page Config_rtp RTP configuration
|
||||
* \arg Implemented in \ref rtp.c
|
||||
* Used in \ref chan_sip.c and \ref chan_mgcp.c (and various H.323 channels)
|
||||
@@ -263,27 +263,27 @@
|
||||
* \verbinclude rtp.conf.sample
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page Config_codec CODEC Configuration
|
||||
* \section codecsconf codecs.conf
|
||||
* \verbinclude codecs.conf.sample
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page Config_ara REALTIME Configuration
|
||||
* \arg See also: \arg \link AstARA \endlink
|
||||
* \section extconf extconfig.conf
|
||||
* \verbinclude extconfig.conf.sample
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page Config_ami AMI configuration
|
||||
* \arg See also: \arg \link AstAMI \endlink
|
||||
* \section amiconf manager.conf
|
||||
* \verbinclude manager.conf.sample
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \page SoundFiles Sound files
|
||||
* \section SecSound Asterisk Sound files
|
||||
* Asterisk includes a large number of sound files. Many of these
|
||||
@@ -308,59 +308,59 @@
|
||||
/*! \addtogroup configuration_file Configuration Files
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \addtogroup cdr_drivers Module: CDR Drivers
|
||||
* \section CDR_generic Asterisk CDR Drivers
|
||||
* \brief CDR drivers are loaded dynamically, each loaded CDR driver produce
|
||||
* \brief CDR drivers are loaded dynamically, each loaded CDR driver produce
|
||||
* a billing record for each call.
|
||||
* \arg \ref Config_mod "Modules Configuration"
|
||||
* \arg \ref Config_cdr "CDR Configuration"
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \addtogroup channel_drivers Module: Asterisk Channel Drivers
|
||||
* \section channel_generic Asterisk Channel Drivers
|
||||
* \brief Channel drivers are loaded dynamically.
|
||||
* \brief Channel drivers are loaded dynamically.
|
||||
* \arg \ref Config_mod "Modules Configuration"
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \addtogroup applications Dial plan applications
|
||||
* \section app_generic Asterisk Dial Plan Applications
|
||||
* \brief Applications support the dialplan. They register dynamically with
|
||||
* \see ast_register_application() and unregister with
|
||||
* \brief Applications support the dialplan. They register dynamically with
|
||||
* \see ast_register_application() and unregister with
|
||||
* \see ast_unregister_application()
|
||||
* \par See also
|
||||
* \arg \ref functions
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \addtogroup functions Module: Dial plan functions
|
||||
* \section func_generic Asterisk Dial Plan Functions
|
||||
* \brief Functions support the dialplan. They do not change any property of a channel
|
||||
* or touch a channel in any way.
|
||||
* \par See also
|
||||
* \arg \ref applications
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \addtogroup codecs Module: Codecs
|
||||
* \section codec_generic Asterisk Codec Modules
|
||||
* Codecs are referenced in configuration files by name
|
||||
* \par See also
|
||||
* \arg \ref formats
|
||||
* Codecs are referenced in configuration files by name
|
||||
* \par See also
|
||||
* \arg \ref formats
|
||||
*/
|
||||
|
||||
/*!
|
||||
* \addtogroup formats Module: Media File Formats
|
||||
/*!
|
||||
* \addtogroup formats Module: Media File Formats
|
||||
* \section codec_generic Asterisk Format drivers
|
||||
* Formats are modules that read or write media files to disk.
|
||||
* \par See also
|
||||
* \arg \ref codecs
|
||||
* \arg \ref codecs
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \addtogroup rtp_engines Module: RTP Engines
|
||||
* \section rtp_engine_blah Asterisk RTP Engines
|
||||
*/
|
||||
|
@@ -21,7 +21,7 @@
|
||||
* See also \arg \ref AstDUNDi
|
||||
*/
|
||||
|
||||
#ifndef _ASTERISK_DUNDI_H
|
||||
#ifndef _ASTERISK_DUNDI_H
|
||||
#define _ASTERISK_DUNDI_H
|
||||
|
||||
#include "asterisk/channel.h"
|
||||
@@ -131,7 +131,7 @@ enum {
|
||||
DUNDI_CAUSE_BADENCRYPT = 7,
|
||||
};
|
||||
|
||||
struct dundi_cause {
|
||||
struct dundi_cause {
|
||||
unsigned char causecode; /*!< Numerical cause (DUNDI_CAUSE_*) */
|
||||
char desc[0]; /*!< Textual description */
|
||||
} __attribute__((__packed__));
|
||||
@@ -240,16 +240,16 @@ struct dundi_entity_info {
|
||||
char org[80];
|
||||
char orgunit[80];
|
||||
char email[80];
|
||||
char phone[80];
|
||||
char phone[80];
|
||||
char ipaddr[80];
|
||||
};
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Lookup the given number in the given dundi context.
|
||||
* Lookup number in a given dundi context (if unspecified use e164), the given callerid (if specified)
|
||||
* Lookup number in a given dundi context (if unspecified use e164), the given callerid (if specified)
|
||||
* and return up to maxret results in the array specified.
|
||||
* \retval the number of results found.
|
||||
* \retval -1 on a hangup of the channel.
|
||||
* \retval -1 on a hangup of the channel.
|
||||
*/
|
||||
int dundi_lookup(struct dundi_result *result, int maxret, struct ast_channel *chan, const char *dcontext, const char *number, int nocache);
|
||||
|
||||
|
@@ -70,4 +70,3 @@
|
||||
#endif /* __BYTE_ORDER */
|
||||
|
||||
#endif /* _ASTERISK_ENDIAN_H */
|
||||
|
||||
|
@@ -83,7 +83,7 @@ enum ast_event_ie_type {
|
||||
AST_EVENT_IE_OLDMSGS = 0x0002,
|
||||
/*!
|
||||
* \brief Mailbox name \verbatim (mailbox[@context]) \endverbatim
|
||||
* Used by: AST_EVENT_MWI
|
||||
* Used by: AST_EVENT_MWI
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_MAILBOX = 0x0003,
|
||||
|
@@ -99,8 +99,8 @@ int ast_stream_and_wait(struct ast_channel *chan, const char *file, const char *
|
||||
*/
|
||||
int ast_stopstream(struct ast_channel *c);
|
||||
|
||||
/*!
|
||||
* \brief Checks for the existence of a given file
|
||||
/*!
|
||||
* \brief Checks for the existence of a given file
|
||||
* \param filename name of the file you wish to check, minus the extension
|
||||
* \param fmt the format you wish to check (the extension)
|
||||
* \param preflang (the preferred language you wisht to find the file in)
|
||||
@@ -110,12 +110,12 @@ int ast_stopstream(struct ast_channel *c);
|
||||
*/
|
||||
int ast_fileexists(const char *filename, const char *fmt, const char *preflang);
|
||||
|
||||
/*!
|
||||
* \brief Renames a file
|
||||
/*!
|
||||
* \brief Renames a file
|
||||
* \param oldname the name of the file you wish to act upon (minus the extension)
|
||||
* \param newname the name you wish to rename the file to (minus the extension)
|
||||
* \param fmt the format of the file
|
||||
* Rename a given file in a given format, or if fmt is NULL, then do so for all
|
||||
* Rename a given file in a given format, or if fmt is NULL, then do so for all
|
||||
* \return -1 on failure
|
||||
*/
|
||||
int ast_filerename(const char *oldname, const char *newname, const char *fmt);
|
||||
@@ -124,16 +124,16 @@ int ast_filerename(const char *oldname, const char *newname, const char *fmt);
|
||||
* \brief Deletes a file
|
||||
* \param filename name of the file you wish to delete (minus the extension)
|
||||
* \param fmt of the file
|
||||
* Delete a given file in a given format, or if fmt is NULL, then do so for all
|
||||
* Delete a given file in a given format, or if fmt is NULL, then do so for all
|
||||
*/
|
||||
int ast_filedelete(const char *filename, const char *fmt);
|
||||
|
||||
/*!
|
||||
* \brief Copies a file
|
||||
/*!
|
||||
* \brief Copies a file
|
||||
* \param oldname name of the file you wish to copy (minus extension)
|
||||
* \param newname name you wish the file to be copied to (minus extension)
|
||||
* \param fmt the format of the file
|
||||
* Copy a given file in a given format, or if fmt is NULL, then do so for all
|
||||
* Copy a given file in a given format, or if fmt is NULL, then do so for all
|
||||
*/
|
||||
int ast_filecopy(const char *oldname, const char *newname, const char *fmt);
|
||||
|
||||
@@ -229,13 +229,13 @@ int ast_waitstream_fr_w_cb(struct ast_channel *c,
|
||||
ast_waitstream_fr_cb cb);
|
||||
|
||||
/*!
|
||||
* Same as waitstream, but with audio output to fd and monitored fd checking.
|
||||
* Same as waitstream, but with audio output to fd and monitored fd checking.
|
||||
*
|
||||
* \return 1 if monfd is ready for reading
|
||||
* \return 1 if monfd is ready for reading
|
||||
*/
|
||||
int ast_waitstream_full(struct ast_channel *c, const char *breakon, int audiofd, int monfd);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Starts reading from a file
|
||||
* \param filename the name of the file to read from
|
||||
* \param type format of file you wish to read from
|
||||
@@ -243,8 +243,8 @@ int ast_waitstream_full(struct ast_channel *c, const char *breakon, int audiofd,
|
||||
* \param flags file flags
|
||||
* \param check (unimplemented, hence negligible)
|
||||
* \param mode Open mode
|
||||
* Open an incoming file stream. flags are flags for the open() command, and
|
||||
* if check is non-zero, then it will not read a file if there are any files that
|
||||
* Open an incoming file stream. flags are flags for the open() command, and
|
||||
* if check is non-zero, then it will not read a file if there are any files that
|
||||
* start with that name and have an extension
|
||||
* Please note, this is a blocking function. Program execution will not return until ast_waitstream completes it's execution.
|
||||
* \retval a struct ast_filestream on success.
|
||||
@@ -252,16 +252,16 @@ int ast_waitstream_full(struct ast_channel *c, const char *breakon, int audiofd,
|
||||
*/
|
||||
struct ast_filestream *ast_readfile(const char *filename, const char *type, const char *comment, int flags, int check, mode_t mode);
|
||||
|
||||
/*!
|
||||
* \brief Starts writing a file
|
||||
/*!
|
||||
* \brief Starts writing a file
|
||||
* \param filename the name of the file to write to
|
||||
* \param type format of file you wish to write out to
|
||||
* \param comment comment to go with
|
||||
* \param flags output file flags
|
||||
* \param check (unimplemented, hence negligible)
|
||||
* \param mode Open mode
|
||||
* Create an outgoing file stream. oflags are flags for the open() command, and
|
||||
* if check is non-zero, then it will not write a file if there are any files that
|
||||
* Create an outgoing file stream. oflags are flags for the open() command, and
|
||||
* if check is non-zero, then it will not write a file if there are any files that
|
||||
* start with that name and have an extension
|
||||
* Please note, this is a blocking function. Program execution will not return until ast_waitstream completes it's execution.
|
||||
* \retval a struct ast_filestream on success.
|
||||
@@ -269,8 +269,8 @@ struct ast_filestream *ast_readfile(const char *filename, const char *type, cons
|
||||
*/
|
||||
struct ast_filestream *ast_writefile(const char *filename, const char *type, const char *comment, int flags, int check, mode_t mode);
|
||||
|
||||
/*!
|
||||
* \brief Writes a frame to a stream
|
||||
/*!
|
||||
* \brief Writes a frame to a stream
|
||||
* \param fs filestream to write to
|
||||
* \param f frame to write to the filestream
|
||||
* Send a frame to a filestream -- note: does NOT free the frame, call ast_frfree manually
|
||||
@@ -279,8 +279,8 @@ struct ast_filestream *ast_writefile(const char *filename, const char *type, con
|
||||
*/
|
||||
int ast_writestream(struct ast_filestream *fs, struct ast_frame *f);
|
||||
|
||||
/*!
|
||||
* \brief Closes a stream
|
||||
/*!
|
||||
* \brief Closes a stream
|
||||
* \param f filestream to close
|
||||
* Close a playback or recording stream
|
||||
* \retval 0 on success.
|
||||
@@ -288,8 +288,8 @@ int ast_writestream(struct ast_filestream *fs, struct ast_frame *f);
|
||||
*/
|
||||
int ast_closestream(struct ast_filestream *f);
|
||||
|
||||
/*!
|
||||
* \brief Opens stream for use in seeking, playing
|
||||
/*!
|
||||
* \brief Opens stream for use in seeking, playing
|
||||
* \param chan channel to work with
|
||||
* \param filename to use
|
||||
* \param preflang prefered language to use
|
||||
@@ -298,8 +298,8 @@ int ast_closestream(struct ast_filestream *f);
|
||||
*/
|
||||
struct ast_filestream *ast_openstream(struct ast_channel *chan, const char *filename, const char *preflang);
|
||||
|
||||
/*!
|
||||
* \brief Opens stream for use in seeking, playing
|
||||
/*!
|
||||
* \brief Opens stream for use in seeking, playing
|
||||
* \param chan channel to work with
|
||||
* \param filename to use
|
||||
* \param preflang prefered language to use
|
||||
@@ -308,8 +308,8 @@ struct ast_filestream *ast_openstream(struct ast_channel *chan, const char *file
|
||||
* \retval NULL on error.
|
||||
*/
|
||||
struct ast_filestream *ast_openstream_full(struct ast_channel *chan, const char *filename, const char *preflang, int asis);
|
||||
/*!
|
||||
* \brief Opens stream for use in seeking, playing
|
||||
/*!
|
||||
* \brief Opens stream for use in seeking, playing
|
||||
* \param chan channel to work with
|
||||
* \param filename to use
|
||||
* \param preflang prefered language to use
|
||||
@@ -318,8 +318,8 @@ struct ast_filestream *ast_openstream_full(struct ast_channel *chan, const char
|
||||
*/
|
||||
struct ast_filestream *ast_openvstream(struct ast_channel *chan, const char *filename, const char *preflang);
|
||||
|
||||
/*!
|
||||
* \brief Applys a open stream to a channel.
|
||||
/*!
|
||||
* \brief Applys a open stream to a channel.
|
||||
* \param chan channel to work
|
||||
* \param s ast_filestream to apply
|
||||
* \retval 0 on success.
|
||||
@@ -327,34 +327,34 @@ struct ast_filestream *ast_openvstream(struct ast_channel *chan, const char *fil
|
||||
*/
|
||||
int ast_applystream(struct ast_channel *chan, struct ast_filestream *s);
|
||||
|
||||
/*!
|
||||
* \brief Play a open stream on a channel.
|
||||
/*!
|
||||
* \brief Play a open stream on a channel.
|
||||
* \param s filestream to play
|
||||
* \retval 0 on success.
|
||||
* \retval -1 on failure.
|
||||
*/
|
||||
int ast_playstream(struct ast_filestream *s);
|
||||
|
||||
/*!
|
||||
* \brief Seeks into stream
|
||||
/*!
|
||||
* \brief Seeks into stream
|
||||
* \param fs ast_filestream to perform seek on
|
||||
* \param sample_offset numbers of samples to seek
|
||||
* \param whence SEEK_SET, SEEK_CUR, SEEK_END
|
||||
* \param whence SEEK_SET, SEEK_CUR, SEEK_END
|
||||
* \retval 0 on success.
|
||||
* \retval -1 on failure.
|
||||
*/
|
||||
int ast_seekstream(struct ast_filestream *fs, off_t sample_offset, int whence);
|
||||
|
||||
/*!
|
||||
* \brief Trunc stream at current location
|
||||
/*!
|
||||
* \brief Trunc stream at current location
|
||||
* \param fs filestream to act on
|
||||
* \retval 0 on success.
|
||||
* \retval -1 on failure.
|
||||
*/
|
||||
int ast_truncstream(struct ast_filestream *fs);
|
||||
|
||||
/*!
|
||||
* \brief Fast forward stream ms
|
||||
/*!
|
||||
* \brief Fast forward stream ms
|
||||
* \param fs filestream to act on
|
||||
* \param ms milliseconds to move
|
||||
* \retval 0 on success.
|
||||
@@ -362,8 +362,8 @@ int ast_truncstream(struct ast_filestream *fs);
|
||||
*/
|
||||
int ast_stream_fastforward(struct ast_filestream *fs, off_t ms);
|
||||
|
||||
/*!
|
||||
* \brief Rewind stream ms
|
||||
/*!
|
||||
* \brief Rewind stream ms
|
||||
* \param fs filestream to act on
|
||||
* \param ms milliseconds to move
|
||||
* \retval 0 on success.
|
||||
@@ -371,8 +371,8 @@ int ast_stream_fastforward(struct ast_filestream *fs, off_t ms);
|
||||
*/
|
||||
int ast_stream_rewind(struct ast_filestream *fs, off_t ms);
|
||||
|
||||
/*!
|
||||
* \brief Tell where we are in a stream
|
||||
/*!
|
||||
* \brief Tell where we are in a stream
|
||||
* \param fs fs to act on
|
||||
* \return a long as a sample offset into stream
|
||||
*/
|
||||
@@ -385,12 +385,12 @@ off_t ast_tellstream(struct ast_filestream *fs);
|
||||
*/
|
||||
int ast_ratestream(struct ast_filestream *fs);
|
||||
|
||||
/*!
|
||||
* \brief Read a frame from a filestream
|
||||
/*!
|
||||
* \brief Read a frame from a filestream
|
||||
* \param s ast_filestream to act on
|
||||
* \return a frame.
|
||||
* \retval NULL if read failed.
|
||||
*/
|
||||
*/
|
||||
struct ast_frame *ast_readframe(struct ast_filestream *s);
|
||||
|
||||
/*! Initialize file stuff */
|
||||
|
@@ -71,7 +71,7 @@ struct ast_format_interface {
|
||||
enum ast_format_cmp_res (* const format_cmp)(const struct ast_format *format1,
|
||||
const struct ast_format *format2);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Get a format with the joint compatible attributes of both provided formats.
|
||||
*
|
||||
* \param format1 The first format
|
||||
|
@@ -162,7 +162,7 @@ enum ast_framehook_event {
|
||||
* \details Two events are guaranteed to occur once the ast_framehook_attach()
|
||||
* function is called. These events are AST_FRAMEHOOK_EVENT_ATTACHED, which occurs
|
||||
* immediately after the framehook is attached to a channel, and
|
||||
* AST_FRAMEHOOK_EVENT_DETACHED, which occurs right after the framehook is
|
||||
* AST_FRAMEHOOK_EVENT_DETACHED, which occurs right after the framehook is
|
||||
* detached.
|
||||
*
|
||||
* It is completely valid for the frame variable to be set to NULL. Always do a NULL
|
||||
@@ -276,7 +276,7 @@ int ast_framehook_attach(struct ast_channel *chan, struct ast_framehook_interfac
|
||||
/*!
|
||||
* \brief Detach an framehook from a channel.
|
||||
* \since 1.8
|
||||
*
|
||||
*
|
||||
* \pre The Channel must be locked during this function call.
|
||||
* If this function is never called after attaching an framehook,
|
||||
* the framehook will be detached and destroyed during channel
|
||||
@@ -297,7 +297,7 @@ int ast_framehook_detach(struct ast_channel *chan, int framehook_id);
|
||||
* \since 1.8
|
||||
*
|
||||
* \pre The Channel must be locked during this function call.
|
||||
*
|
||||
*
|
||||
* \param chan channel containing the framehook list to destroy.
|
||||
* \retval 0 success
|
||||
* \retval -1 failure
|
||||
|
@@ -28,4 +28,3 @@
|
||||
#else
|
||||
#include "fskmodem_float.h"
|
||||
#endif
|
||||
|
||||
|
@@ -48,7 +48,7 @@ typedef struct {
|
||||
int xi0;
|
||||
int xi1;
|
||||
int xi2;
|
||||
|
||||
|
||||
int ispb;
|
||||
int icont;
|
||||
int bw; /*!< Band Selector*/
|
||||
@@ -59,7 +59,7 @@ typedef struct {
|
||||
int pllispb; /*!<Pll autosense */
|
||||
int pllids;
|
||||
int pllispb2;
|
||||
|
||||
|
||||
struct filter_struct mark_filter;
|
||||
struct filter_struct space_filter;
|
||||
struct filter_struct demod_filter;
|
||||
|
@@ -35,16 +35,16 @@ struct ast_imager {
|
||||
AST_LIST_ENTRY(ast_imager) list; /*!< For linked list */
|
||||
};
|
||||
|
||||
/*!
|
||||
* \brief Check for image support on a channel
|
||||
/*!
|
||||
* \brief Check for image support on a channel
|
||||
* \param chan channel to check
|
||||
* Checks the channel to see if it supports the transmission of images
|
||||
* \return non-zero if image transmission is supported
|
||||
*/
|
||||
int ast_supports_images(struct ast_channel *chan);
|
||||
|
||||
/*!
|
||||
* \brief Sends an image
|
||||
/*!
|
||||
* \brief Sends an image
|
||||
* \param chan channel to send image on
|
||||
* \param filename filename of image to send (minus extension)
|
||||
* Sends an image on the given channel.
|
||||
@@ -53,8 +53,8 @@ int ast_supports_images(struct ast_channel *chan);
|
||||
*/
|
||||
int ast_send_image(struct ast_channel *chan, const char *filename);
|
||||
|
||||
/*!
|
||||
* \brief Make an image
|
||||
/*!
|
||||
* \brief Make an image
|
||||
* \param filename filename of image to prepare
|
||||
* \param preflang preferred language to get the image...?
|
||||
* \param format the format of the file, NULL for any image format
|
||||
@@ -64,7 +64,7 @@ int ast_send_image(struct ast_channel *chan, const char *filename);
|
||||
*/
|
||||
struct ast_frame *ast_read_image(const char *filename, const char *preflang, struct ast_format *format);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Register image format
|
||||
* \param imgdrv Populated ast_imager structure with info to register
|
||||
* Registers an image format
|
||||
@@ -72,15 +72,15 @@ struct ast_frame *ast_read_image(const char *filename, const char *preflang, str
|
||||
*/
|
||||
int ast_image_register(struct ast_imager *imgdrv);
|
||||
|
||||
/*!
|
||||
* \brief Unregister an image format
|
||||
/*!
|
||||
* \brief Unregister an image format
|
||||
* \param imgdrv pointer to the ast_imager structure you wish to unregister
|
||||
* Unregisters the image format passed in.
|
||||
* Returns nothing
|
||||
*/
|
||||
void ast_image_unregister(struct ast_imager *imgdrv);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Initialize image stuff
|
||||
* Initializes all the various image stuff. Basically just registers the cli stuff
|
||||
* \return 0 all the time
|
||||
|
@@ -75,7 +75,7 @@ struct ast_tone_zone_sound {
|
||||
struct ast_tone_zone {
|
||||
/*! \brief Country code that this set of tones is for */
|
||||
char country[MAX_TONEZONE_COUNTRY];
|
||||
/*!
|
||||
/*!
|
||||
* \brief Text description of the given country.
|
||||
*
|
||||
* This is for nothing more than friendly display to a human.
|
||||
@@ -83,7 +83,7 @@ struct ast_tone_zone {
|
||||
char description[40];
|
||||
/*! \brief Number of ring cadence elements in the ringcadence array */
|
||||
unsigned int nrringcadence;
|
||||
/*!
|
||||
/*!
|
||||
* \brief Array of ring cadence parts
|
||||
*
|
||||
* Each element is an amount of time in milliseconds. The first element
|
||||
|
@@ -52,16 +52,16 @@ extern "C" {
|
||||
|
||||
struct io_context;
|
||||
|
||||
/*!
|
||||
* \brief Creates a context
|
||||
/*!
|
||||
* \brief Creates a context
|
||||
* Create a context for I/O operations
|
||||
* Basically mallocs an IO structure and sets up some default values.
|
||||
* \return an allocated io_context structure
|
||||
*/
|
||||
struct io_context *io_context_create(void);
|
||||
|
||||
/*!
|
||||
* \brief Destroys a context
|
||||
/*!
|
||||
* \brief Destroys a context
|
||||
* \param ioc structure to destroy
|
||||
* Destroy a context for I/O operations
|
||||
* Frees all memory associated with the given io_context structure along with the structure itself
|
||||
@@ -71,57 +71,57 @@ void io_context_destroy(struct io_context *ioc);
|
||||
typedef int (*ast_io_cb)(int *id, int fd, short events, void *cbdata);
|
||||
#define AST_IO_CB(a) ((ast_io_cb)(a))
|
||||
|
||||
/*!
|
||||
* \brief Adds an IO context
|
||||
/*!
|
||||
* \brief Adds an IO context
|
||||
* \param ioc which context to use
|
||||
* \param fd which fd to monitor
|
||||
* \param callback callback function to run
|
||||
* \param events event mask of events to wait for
|
||||
* \param data data to pass to the callback
|
||||
* Watch for any of revents activites on fd, calling callback with data as
|
||||
* callback data.
|
||||
* callback data.
|
||||
* \retval a pointer to ID of the IO event
|
||||
* \retval NULL on failure
|
||||
*/
|
||||
int *ast_io_add(struct io_context *ioc, int fd, ast_io_cb callback, short events, void *data);
|
||||
|
||||
/*!
|
||||
* \brief Changes an IO handler
|
||||
/*!
|
||||
* \brief Changes an IO handler
|
||||
* \param ioc which context to use
|
||||
* \param id
|
||||
* \param fd the fd you wish it to contain now
|
||||
* \param callback new callback function
|
||||
* \param events event mask to wait for
|
||||
* \param data data to pass to the callback function
|
||||
* Change an I/O handler, updating fd if > -1, callback if non-null,
|
||||
* Change an I/O handler, updating fd if > -1, callback if non-null,
|
||||
* and revents if >-1, and data if non-null.
|
||||
* \retval a pointer to the ID of the IO event
|
||||
* \retval NULL on failure
|
||||
*/
|
||||
int *ast_io_change(struct io_context *ioc, int *id, int fd, ast_io_cb callback, short events, void *data);
|
||||
|
||||
/*!
|
||||
* \brief Removes an IO context
|
||||
/*!
|
||||
* \brief Removes an IO context
|
||||
* \param ioc which io_context to remove it from
|
||||
* \param id which ID to remove
|
||||
* Remove an I/O id from consideration
|
||||
* Remove an I/O id from consideration
|
||||
* \retval 0 on success
|
||||
* \retval -1 on failure
|
||||
*/
|
||||
int ast_io_remove(struct io_context *ioc, int *id);
|
||||
|
||||
/*!
|
||||
* \brief Waits for IO
|
||||
/*!
|
||||
* \brief Waits for IO
|
||||
* \param ioc which context to act upon
|
||||
* \param howlong how many milliseconds to wait
|
||||
* Wait for I/O to happen, returning after
|
||||
* howlong milliseconds, and after processing
|
||||
* any necessary I/O.
|
||||
* any necessary I/O.
|
||||
* \return he number of I/O events which took place.
|
||||
*/
|
||||
int ast_io_wait(struct io_context *ioc, int howlong);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Dumps the IO array.
|
||||
* Debugging: Dump everything in the I/O array
|
||||
*/
|
||||
@@ -131,7 +131,7 @@ void ast_io_dump(struct io_context *ioc);
|
||||
|
||||
int ast_hide_password(int fd);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Restores TTY mode.
|
||||
* Call with result from previous ast_hide_password
|
||||
*/
|
||||
|
@@ -120,7 +120,7 @@ int check_manager_enabled(void);
|
||||
/*! \brief Check if AMI/HTTP is enabled */
|
||||
int check_webmanager_enabled(void);
|
||||
|
||||
/*! Add a custom hook to be called when an event is fired
|
||||
/*! Add a custom hook to be called when an event is fired
|
||||
\param hook struct manager_custom_hook object to add
|
||||
*/
|
||||
void ast_manager_register_hook(struct manager_custom_hook *hook);
|
||||
@@ -178,7 +178,7 @@ struct manager_action {
|
||||
unsigned int registered:1;
|
||||
};
|
||||
|
||||
/*! \brief External routines may register/unregister manager callbacks this way
|
||||
/*! \brief External routines may register/unregister manager callbacks this way
|
||||
* \note Use ast_manager_register2() to register with help text for new manager commands */
|
||||
#define ast_manager_register(action, authority, func, synopsis) ast_manager_register2(action, authority, func, ast_module_info->self, synopsis, NULL)
|
||||
|
||||
@@ -219,8 +219,8 @@ int ast_manager_register2(
|
||||
*/
|
||||
int ast_manager_unregister(const char *action);
|
||||
|
||||
/*!
|
||||
* \brief Verify a session's read permissions against a permission mask.
|
||||
/*!
|
||||
* \brief Verify a session's read permissions against a permission mask.
|
||||
* \param ident session identity
|
||||
* \param perm permission mask to verify
|
||||
* \retval 1 if the session has the permission mask capabilities
|
||||
@@ -229,7 +229,7 @@ int ast_manager_unregister(const char *action);
|
||||
int astman_verify_session_readpermissions(uint32_t ident, int perm);
|
||||
|
||||
/*!
|
||||
* \brief Verify a session's write permissions against a permission mask.
|
||||
* \brief Verify a session's write permissions against a permission mask.
|
||||
* \param ident session identity
|
||||
* \param perm permission mask to verify
|
||||
* \retval 1 if the session has the permission mask capabilities, otherwise 0
|
||||
@@ -237,7 +237,7 @@ int astman_verify_session_readpermissions(uint32_t ident, int perm);
|
||||
*/
|
||||
int astman_verify_session_writepermissions(uint32_t ident, int perm);
|
||||
|
||||
/*! \brief External routines may send asterisk manager events this way
|
||||
/*! \brief External routines may send asterisk manager events this way
|
||||
* \param category Event category, matches manager authorization
|
||||
\param event Event name
|
||||
\param contents Contents of event
|
||||
@@ -362,7 +362,7 @@ int init_manager(void);
|
||||
/*! \brief Called by Asterisk module functions and the CLI command */
|
||||
int reload_manager(void);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Add a datastore to a session
|
||||
*
|
||||
* \retval 0 success
|
||||
@@ -372,7 +372,7 @@ int reload_manager(void);
|
||||
|
||||
int astman_datastore_add(struct mansession *s, struct ast_datastore *datastore);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Remove a datastore from a session
|
||||
*
|
||||
* \retval 0 success
|
||||
@@ -381,7 +381,7 @@ int astman_datastore_add(struct mansession *s, struct ast_datastore *datastore);
|
||||
*/
|
||||
int astman_datastore_remove(struct mansession *s, struct ast_datastore *datastore);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Find a datastore on a session
|
||||
*
|
||||
* \retval pointer to the datastore if found
|
||||
|
@@ -283,7 +283,7 @@ const char *ast_msg_get_var(struct ast_msg *msg, const char *name);
|
||||
/*!
|
||||
* \brief Get the body of a message.
|
||||
* \note The return value is valid only as long as the ast_message is valid. Hold a reference
|
||||
* to the message if you plan on storing the return value.
|
||||
* to the message if you plan on storing the return value.
|
||||
*
|
||||
* \return The body of the messsage, encoded in UTF-8.
|
||||
*/
|
||||
|
@@ -42,7 +42,7 @@ extern "C" {
|
||||
*/
|
||||
struct ast_format_def {
|
||||
char name[80]; /*!< Name of format */
|
||||
char exts[80]; /*!< Extensions (separated by | if more than one)
|
||||
char exts[80]; /*!< Extensions (separated by | if more than one)
|
||||
* this format can read. First is assumed for writing (e.g. .mp3) */
|
||||
struct ast_format *format; /*!< Format of frames it uses/provides (one only) */
|
||||
/*!
|
||||
@@ -53,11 +53,11 @@ struct ast_format_def {
|
||||
* function can be omitted.
|
||||
*/
|
||||
int (*open)(struct ast_filestream *s);
|
||||
/*!
|
||||
/*!
|
||||
* \brief Prepare a stream for output, and comment it appropriately if applicable.
|
||||
* \return 0 on success, -1 on error.
|
||||
* Same as the open, the FILE is already open so the function just needs to
|
||||
* prepare any header and other fields, if any.
|
||||
* \return 0 on success, -1 on error.
|
||||
* Same as the open, the FILE is already open so the function just needs to
|
||||
* prepare any header and other fields, if any.
|
||||
* The function can be omitted if nothing is needed.
|
||||
*/
|
||||
int (*rewrite)(struct ast_filestream *s, const char *comment);
|
||||
@@ -125,7 +125,7 @@ struct ast_filestream {
|
||||
char *write_buffer;
|
||||
};
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Register a new file format capability.
|
||||
* Adds a format to Asterisk's format abilities.
|
||||
* \retval 0 on success
|
||||
@@ -134,8 +134,8 @@ struct ast_filestream {
|
||||
int __ast_format_def_register(const struct ast_format_def *f, struct ast_module *mod);
|
||||
#define ast_format_def_register(f) __ast_format_def_register(f, ast_module_info->self)
|
||||
|
||||
/*!
|
||||
* \brief Unregisters a file format
|
||||
/*!
|
||||
* \brief Unregisters a file format
|
||||
* \param name the name of the format you wish to unregister
|
||||
* Unregisters a format based on the name of the format.
|
||||
* \retval 0 on success
|
||||
|
@@ -108,7 +108,7 @@ enum ast_module_helper_type {
|
||||
AST_MODULE_HELPER_RUNNING,
|
||||
};
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Load a module.
|
||||
* \param resource_name The name of the module to load.
|
||||
*
|
||||
@@ -120,13 +120,13 @@ enum ast_module_helper_type {
|
||||
*/
|
||||
enum ast_module_load_result ast_load_resource(const char *resource_name);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Unload a module.
|
||||
* \param resource_name The name of the module to unload.
|
||||
* \param ast_module_unload_mode The force flag. This should be set using one of the AST_FORCE flags.
|
||||
*
|
||||
* This function unloads a module. It will only unload modules that are not in
|
||||
* use (usecount not zero), unless #AST_FORCE_FIRM or #AST_FORCE_HARD is
|
||||
* use (usecount not zero), unless #AST_FORCE_FIRM or #AST_FORCE_HARD is
|
||||
* specified. Setting #AST_FORCE_FIRM or #AST_FORCE_HARD will unload the
|
||||
* module regardless of consequences (NOT RECOMMENDED).
|
||||
*
|
||||
@@ -149,7 +149,7 @@ int ast_unload_resource(const char *resource_name, enum ast_module_unload_mode);
|
||||
*/
|
||||
enum ast_module_reload_result ast_module_reload(const char *name);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Notify when usecount has been changed.
|
||||
*
|
||||
* This function calulates use counts and notifies anyone trying to keep track
|
||||
@@ -214,39 +214,39 @@ int ast_update_module_list_condition(int (*modentry)(const char *module, const c
|
||||
/*!
|
||||
* \brief Check if module with the name given is loaded
|
||||
* \param name Module name, like "chan_sip.so"
|
||||
* \retval 1 if true
|
||||
* \retval 1 if true
|
||||
* \retval 0 if false
|
||||
*/
|
||||
int ast_module_check(const char *name);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Add a procedure to be run when modules have been updated.
|
||||
* \param updater The function to run when modules have been updated.
|
||||
*
|
||||
* This function adds the given function to a linked list of functions to be
|
||||
* run when the modules are updated.
|
||||
* run when the modules are updated.
|
||||
*
|
||||
* \retval 0 on success
|
||||
* \retval 0 on success
|
||||
* \retval -1 on failure.
|
||||
*/
|
||||
int ast_loader_register(int (*updater)(void));
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Remove a procedure to be run when modules are updated.
|
||||
* \param updater The updater function to unregister.
|
||||
*
|
||||
* This removes the given function from the updater list.
|
||||
*
|
||||
*
|
||||
* \retval 0 on success
|
||||
* \retval -1 on failure.
|
||||
*/
|
||||
int ast_loader_unregister(int (*updater)(void));
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Match modules names for the Asterisk cli.
|
||||
* \param line Unused by this function, but this should be the line we are
|
||||
* matching.
|
||||
* \param word The partial name to match.
|
||||
* \param word The partial name to match.
|
||||
* \param pos The position the word we are completing is in.
|
||||
* \param state The possible match to return.
|
||||
* \param rpos The position we should be matching. This should be the same as
|
||||
@@ -322,7 +322,7 @@ struct ast_module_info {
|
||||
const char *name; /*!< name of the module for loader reference and CLI commands */
|
||||
const char *description; /*!< user friendly description of the module. */
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* This holds the ASTERISK_GPL_KEY, signifiying that you agree to the terms of
|
||||
* the Asterisk license as stated in the ASTERISK_GPL_KEY. Your module will not
|
||||
* load if it does not return the EXACT key string.
|
||||
@@ -493,37 +493,37 @@ static const __attribute__((unused)) struct ast_module_info *ast_module_info;
|
||||
|
||||
#endif /* plain C */
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Register an application.
|
||||
*
|
||||
* \param app Short name of the application
|
||||
* \param execute a function callback to execute the application. It should return
|
||||
* non-zero if the channel needs to be hung up.
|
||||
* \param synopsis a short description (one line synopsis) of the application
|
||||
* \param description long description with all of the details about the use of
|
||||
* \param description long description with all of the details about the use of
|
||||
* the application
|
||||
*
|
||||
* This registers an application with Asterisk's internal application list.
|
||||
*
|
||||
* This registers an application with Asterisk's internal application list.
|
||||
* \note The individual applications themselves are responsible for registering and unregistering
|
||||
* and unregistering their own CLI commands.
|
||||
*
|
||||
* \retval 0 success
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval -1 failure.
|
||||
*/
|
||||
#define ast_register_application(app, execute, synopsis, description) ast_register_application2(app, execute, synopsis, description, ast_module_info->self)
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Register an application using XML documentation.
|
||||
*
|
||||
* \param app Short name of the application
|
||||
* \param execute a function callback to execute the application. It should return
|
||||
* non-zero if the channel needs to be hung up.
|
||||
*
|
||||
* This registers an application with Asterisk's internal application list.
|
||||
*
|
||||
* This registers an application with Asterisk's internal application list.
|
||||
* \note The individual applications themselves are responsible for registering and unregistering
|
||||
* and unregistering their own CLI commands.
|
||||
*
|
||||
* \retval 0 success
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval -1 failure.
|
||||
*/
|
||||
#define ast_register_application_xml(app, execute) ast_register_application(app, execute, NULL, NULL)
|
||||
@@ -550,14 +550,14 @@ static const __attribute__((unused)) struct ast_module_info *ast_module_info;
|
||||
int ast_register_application2(const char *app, int (*execute)(struct ast_channel *, const char *),
|
||||
const char *synopsis, const char *description, void *mod);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Unregister an application
|
||||
*
|
||||
*
|
||||
* \param app name of the application (does not have to be the same string as the one that was registered)
|
||||
*
|
||||
*
|
||||
* This unregisters an application from Asterisk's internal application list.
|
||||
*
|
||||
* \retval 0 success
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval -1 failure
|
||||
*/
|
||||
int ast_unregister_application(const char *app);
|
||||
|
@@ -373,7 +373,7 @@ int ast_sockaddr_split_hostport(char *str, char **host, char **port, int flags);
|
||||
*
|
||||
* Host names are NOT allowed.
|
||||
*
|
||||
* \param[out] addr The resulting ast_sockaddr. This MAY be NULL from
|
||||
* \param[out] addr The resulting ast_sockaddr. This MAY be NULL from
|
||||
* functions that are performing validity checks only, e.g. ast_parse_arg().
|
||||
* \param str The string to parse
|
||||
* \param flags If set to zero, a port MAY be present. If set to
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* Asterisk -- An open source telephony toolkit.
|
||||
*
|
||||
* Paths to configurable Asterisk directories
|
||||
*
|
||||
*
|
||||
* Copyright (C) 1999-2006, Digium, Inc.
|
||||
*
|
||||
* Mark Spencer <markster@digium.com>
|
||||
|
@@ -85,7 +85,7 @@ struct ast_exten;
|
||||
struct ast_include;
|
||||
struct ast_ignorepat;
|
||||
struct ast_sw;
|
||||
|
||||
|
||||
enum ast_state_cb_update_reason {
|
||||
/*! The extension state update is a result of a device state changing on the extension. */
|
||||
AST_HINT_UPDATE_DEVICE = 1,
|
||||
|
@@ -19,7 +19,7 @@
|
||||
/*! \file
|
||||
*
|
||||
* \brief PacketCable COPS
|
||||
*
|
||||
*
|
||||
* \author Attila Domjan <attila.domjan.hu@gmail.com>
|
||||
*/
|
||||
|
||||
|
@@ -192,4 +192,3 @@ struct ast_presence_state_message {
|
||||
|
||||
int ast_presence_state_engine_init(void);
|
||||
#endif
|
||||
|
||||
|
@@ -3,7 +3,7 @@
|
||||
|
||||
/* whatever includes this, better include asterisk/lock.h and asterisk/hashtab.h */
|
||||
|
||||
typedef enum
|
||||
typedef enum
|
||||
{
|
||||
PV_WORD, /* an ident, string, name, label, etc. A user-supplied string. */ /* 0 */
|
||||
PV_MACRO, /* 1 */
|
||||
@@ -53,7 +53,7 @@ struct pval
|
||||
int startcol;
|
||||
int endcol;
|
||||
char *filename;
|
||||
|
||||
|
||||
union
|
||||
{
|
||||
char *str; /* wow, used almost everywhere! */
|
||||
@@ -62,7 +62,7 @@ struct pval
|
||||
char *for_init; /* used in FOR */
|
||||
} u1;
|
||||
struct pval *u1_last; /* to build in-order lists -- looks like we only need one */
|
||||
|
||||
|
||||
union
|
||||
{
|
||||
struct pval *arglist; /* used in macro_call, application_call, MACRO def, also attached to PWORD, the 4 timevals for includes */
|
||||
@@ -71,7 +71,7 @@ struct pval
|
||||
char *for_test; /* used in FOR */
|
||||
struct pval *goto_target; /* used in GOTO */
|
||||
} u2;
|
||||
|
||||
|
||||
union
|
||||
{
|
||||
char *for_inc; /* used in FOR */
|
||||
@@ -83,16 +83,16 @@ struct pval
|
||||
struct ael_extension *compiled_label;
|
||||
struct pval *extend; /* to link extended contexts to the 'original' */
|
||||
} u3;
|
||||
|
||||
|
||||
union
|
||||
{
|
||||
struct pval *for_statements; /* used in PV_FOR */
|
||||
int regexten; /* used in EXTENSION */
|
||||
} u4;
|
||||
|
||||
struct pval *next; /* the pval at the end of this ptr will ALWAYS be of the same type as this one!
|
||||
|
||||
struct pval *next; /* the pval at the end of this ptr will ALWAYS be of the same type as this one!
|
||||
EXCEPT for objects of the different types, that are in the same list, like contexts & macros, etc */
|
||||
|
||||
|
||||
struct pval *dad; /* the 'container' of this struct instance */
|
||||
struct pval *prev; /* the opposite of the 'next' pointer */
|
||||
} ;
|
||||
@@ -102,8 +102,8 @@ typedef struct pval pval;
|
||||
|
||||
#ifndef AAL_ARGCHECK
|
||||
/* for the time being, short circuit all the AAL related structures
|
||||
without permanently removing the code; after/during the AAL
|
||||
development, this code can be properly re-instated
|
||||
without permanently removing the code; after/during the AAL
|
||||
development, this code can be properly re-instated
|
||||
*/
|
||||
|
||||
/* null definitions for structs passed down the infrastructure */
|
||||
|
@@ -144,7 +144,7 @@ struct ast_fax_session_details {
|
||||
unsigned int pages_transferred;
|
||||
/*! session details flags for options */
|
||||
union {
|
||||
/*! dontuse dummy variable - do not ever use */
|
||||
/*! dontuse dummy variable - do not ever use */
|
||||
uint32_t dontuse;
|
||||
struct {
|
||||
/*! flag to send debug manager events */
|
||||
|
@@ -75,7 +75,7 @@ struct odbc_cache_tables {
|
||||
|
||||
/* functions */
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Executes a prepared statement handle
|
||||
* \param obj The non-NULL result of odbc_request_obj()
|
||||
* \param stmt The prepared statement handle
|
||||
@@ -120,13 +120,13 @@ struct odbc_obj *_ast_odbc_request_obj(const char *name, int check, const char *
|
||||
#define ast_odbc_request_obj2(a, b) _ast_odbc_request_obj2(a, b, __FILE__, __PRETTY_FUNCTION__, __LINE__)
|
||||
#define ast_odbc_request_obj(a, b) _ast_odbc_request_obj(a, b, __FILE__, __PRETTY_FUNCTION__, __LINE__)
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Releases an ODBC object previously allocated by ast_odbc_request_obj()
|
||||
* \param obj The ODBC object
|
||||
*/
|
||||
void ast_odbc_release_obj(struct odbc_obj *obj);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Checks an ODBC object to ensure it is still connected
|
||||
* \param obj The ODBC object
|
||||
* \retval 0 if connected
|
||||
@@ -150,12 +150,12 @@ int ast_odbc_backslash_is_escape(struct odbc_obj *obj);
|
||||
*/
|
||||
SQLHSTMT ast_odbc_direct_execute(struct odbc_obj *obj, SQLHSTMT (*exec_cb)(struct odbc_obj *obj, void *data), void *data);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Prepares, executes, and returns the resulting statement handle.
|
||||
* \param obj The ODBC object
|
||||
* \param prepare_cb A function callback, which, when called, should return a statement handle prepared, with any necessary parameters or result columns bound.
|
||||
* \param data A parameter to be passed to the prepare_cb parameter function, indicating which statement handle is to be prepared.
|
||||
* \retval a statement handle
|
||||
* \retval a statement handle
|
||||
* \retval NULL on error
|
||||
*/
|
||||
SQLHSTMT ast_odbc_prepare_and_execute(struct odbc_obj *obj, SQLHSTMT (*prepare_cb)(struct odbc_obj *obj, void *data), void *data);
|
||||
|
@@ -213,7 +213,7 @@ struct ast_sip_session_supplement {
|
||||
* This method will always be called from a SIP servant thread.
|
||||
*/
|
||||
void (*session_begin)(struct ast_sip_session *session);
|
||||
/*!
|
||||
/*!
|
||||
* \brief Notification that the session has ended
|
||||
*
|
||||
* This method may or may not be called from a SIP servant thread. Do
|
||||
@@ -243,7 +243,7 @@ struct ast_sip_session_supplement {
|
||||
* There is no guarantee that a channel will be present on the session when this is called.
|
||||
*/
|
||||
int (*incoming_request)(struct ast_sip_session *session, struct pjsip_rx_data *rdata);
|
||||
/*!
|
||||
/*!
|
||||
* \brief Called on an incoming SIP response
|
||||
* This method is always called from a SIP servant thread.
|
||||
*
|
||||
@@ -264,7 +264,7 @@ struct ast_sip_session_supplement {
|
||||
* This method is always called from a SIP servant thread.
|
||||
*/
|
||||
void (*outgoing_request)(struct ast_sip_session *session, struct pjsip_tx_data *tdata);
|
||||
/*!
|
||||
/*!
|
||||
* \brief Called on an outgoing SIP response
|
||||
* This method is always called from a SIP servant thread.
|
||||
*/
|
||||
@@ -615,7 +615,7 @@ void ast_sip_session_remove_datastore(struct ast_sip_session *session, const cha
|
||||
* Note: The on_request_creation callback may or may not be called in the same
|
||||
* thread where this function is called. Request creation may need to be delayed
|
||||
* due to the current INVITE transaction state.
|
||||
*
|
||||
*
|
||||
* \param session The session on which the reinvite will be sent
|
||||
* \param on_request_creation Callback called when request is created
|
||||
* \param on_sdp_creation Callback called when SDP is created
|
||||
|
@@ -28,7 +28,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Remove a scheduler entry
|
||||
*
|
||||
* This is a loop construct to ensure that
|
||||
@@ -39,8 +39,8 @@ extern "C" {
|
||||
*
|
||||
* Since macro expansion essentially works like pass-by-name
|
||||
* parameter passing, this macro will still work correctly even
|
||||
* if the id of the task to delete changes. This holds as long as
|
||||
* the name of the id which could change is passed to the macro
|
||||
* if the id of the task to delete changes. This holds as long as
|
||||
* the name of the id which could change is passed to the macro
|
||||
* and not a copy of the value of the id.
|
||||
*/
|
||||
#define AST_SCHED_DEL(sched, id) \
|
||||
@@ -260,8 +260,8 @@ int ast_sched_add_variable(struct ast_sched_context *con, int when, ast_sched_cb
|
||||
*/
|
||||
int ast_sched_replace_variable(int old_id, struct ast_sched_context *con, int when, ast_sched_cb callback, const void *data, int variable) attribute_warn_unused_result;
|
||||
|
||||
/*!
|
||||
* \brief Find a sched structure and return the data field associated with it.
|
||||
/*!
|
||||
* \brief Find a sched structure and return the data field associated with it.
|
||||
*
|
||||
* \param con scheduling context in which to search fro the matching id
|
||||
* \param id ID of the scheduled item to find
|
||||
|
@@ -66,7 +66,7 @@ typedef struct {
|
||||
} while (0)
|
||||
#endif /* HAVE_VARIABLE_FDSET */
|
||||
|
||||
/*! \brief Waits for activity on a group of channels
|
||||
/*! \brief Waits for activity on a group of channels
|
||||
* \param nfds the maximum number of file descriptors in the sets
|
||||
* \param rfds file descriptors to check for read availability
|
||||
* \param wfds file descriptors to check for write availability
|
||||
|
@@ -17,7 +17,7 @@
|
||||
* at the top of the source tree.
|
||||
*/
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \file
|
||||
* \brief SMDI support for Asterisk.
|
||||
* \author Matthew A. Nicholson <mnicholson@digium.com>
|
||||
@@ -46,7 +46,7 @@
|
||||
*
|
||||
* The ast_smdi_mwi_message structure contains the parsed out parts of an smdi
|
||||
* message. Each ast_smdi_interface structure has a message queue consisting
|
||||
* ast_smdi_mwi_message structures.
|
||||
* ast_smdi_mwi_message structures.
|
||||
*/
|
||||
struct ast_smdi_mwi_message {
|
||||
char name[SMDI_MESG_NAME_LEN];
|
||||
@@ -60,7 +60,7 @@ struct ast_smdi_mwi_message {
|
||||
*
|
||||
* The ast_smdi_md_message structure contains the parsed out parts of an smdi
|
||||
* message. Each ast_smdi_interface structure has a message queue consisting
|
||||
* ast_smdi_md_message structures.
|
||||
* ast_smdi_md_message structures.
|
||||
*/
|
||||
struct ast_smdi_md_message {
|
||||
char name[SMDI_MESG_NAME_LEN];
|
||||
@@ -72,7 +72,7 @@ struct ast_smdi_md_message {
|
||||
struct timeval timestamp; /* a timestamp for the message */
|
||||
};
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief SMDI interface structure.
|
||||
*
|
||||
* The ast_smdi_interface structure holds information on a serial port that
|
||||
@@ -81,7 +81,7 @@ struct ast_smdi_md_message {
|
||||
*/
|
||||
struct ast_smdi_interface;
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Get the next SMDI message from the queue.
|
||||
* \param iface a pointer to the interface to use.
|
||||
*
|
||||
@@ -164,7 +164,7 @@ AST_OPTIONAL_API(int, ast_smdi_mwi_set,
|
||||
(struct ast_smdi_interface *iface, const char *mailbox),
|
||||
{ return -1; });
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Unset the MWI indicator for a mailbox.
|
||||
* \param iface the interface to use.
|
||||
* \param mailbox the mailbox to use.
|
||||
|
@@ -68,7 +68,7 @@ struct ast_speech {
|
||||
/*! Pointer to the engine used by this speech structure */
|
||||
struct ast_speech_engine *engine;
|
||||
};
|
||||
|
||||
|
||||
/* Speech recognition engine structure */
|
||||
struct ast_speech_engine {
|
||||
/*! Name of speech engine */
|
||||
|
@@ -54,7 +54,7 @@ extern int ast_srv_lookup(struct srv_context **context, const char *service, con
|
||||
*/
|
||||
void ast_srv_cleanup(struct srv_context **context);
|
||||
|
||||
/*! \brief Lookup entry in SRV records Returns 1 if found, 0 if not found, -1 on hangup
|
||||
/*! \brief Lookup entry in SRV records Returns 1 if found, 0 if not found, -1 on hangup
|
||||
*
|
||||
* Only do SRV record lookup if you get a domain without a port. If you get a port #, it's a DNS host name.
|
||||
*
|
||||
@@ -97,7 +97,7 @@ unsigned int ast_srv_get_record_count(struct srv_context *context);
|
||||
* \param[out] priority The priority portion of the record
|
||||
* \param[out] weight The weight portion of the record
|
||||
*
|
||||
* \retval -1 Failed to retrieve information.
|
||||
* \retval -1 Failed to retrieve information.
|
||||
* Likely due to an out of range record_num
|
||||
* \retval 0 Success
|
||||
*/
|
||||
|
@@ -147,4 +147,3 @@ AST_OPTIONAL_API(void, ast_statsd_log_sample, (const char *metric_name,
|
||||
|
||||
|
||||
#endif /* _ASTERISK_STATSD_H */
|
||||
|
||||
|
@@ -27,7 +27,7 @@
|
||||
|
||||
Using this functionality is quite simple. An example structure
|
||||
with three fields is defined like this:
|
||||
|
||||
|
||||
\code
|
||||
struct sample_fields {
|
||||
int x1;
|
||||
@@ -39,14 +39,14 @@
|
||||
long x2;
|
||||
};
|
||||
\endcode
|
||||
|
||||
|
||||
When an instance of this structure is allocated (either statically or
|
||||
dynamically), the fields and the pool of storage for them must be
|
||||
initialized:
|
||||
|
||||
|
||||
\code
|
||||
struct sample_fields *x;
|
||||
|
||||
|
||||
x = ast_calloc(1, sizeof(*x));
|
||||
if (x == NULL || ast_string_field_init(x, 252)) {
|
||||
if (x)
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
ast_string_field_init(x, 0) will reset fields to the
|
||||
initial value while keeping the pool allocated.
|
||||
|
||||
|
||||
Reading the fields is much like using 'const char * const' fields in the
|
||||
structure: you cannot write to the field or to the memory it points to.
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
When the structure instance is no longer needed, the fields
|
||||
and their storage pool must be freed:
|
||||
|
||||
|
||||
\code
|
||||
ast_string_field_free_memory(x);
|
||||
ast_free(x);
|
||||
|
@@ -168,7 +168,7 @@ char *ast_trim_blanks(char *str),
|
||||
|
||||
if (work) {
|
||||
work += strlen(work) - 1;
|
||||
/* It's tempting to only want to erase after we exit this loop,
|
||||
/* It's tempting to only want to erase after we exit this loop,
|
||||
but since ast_trim_blanks *could* receive a constant string
|
||||
(which we presumably wouldn't have to touch), we shouldn't
|
||||
actually set anything unless we must, and it's easier just
|
||||
@@ -198,7 +198,7 @@ char * attribute_pure ast_skip_nonblanks(const char *str),
|
||||
return (char *) str;
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
/*!
|
||||
\brief Strip leading/trailing whitespace from a string.
|
||||
\param s The string to be stripped (will be modified).
|
||||
@@ -215,7 +215,7 @@ char *ast_strip(char *s),
|
||||
ast_trim_blanks(s);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
/*!
|
||||
@@ -305,7 +305,7 @@ enum ast_strsep_flags {
|
||||
char *ast_strsep(char **s, const char sep, uint32_t flags);
|
||||
|
||||
/*!
|
||||
\brief Strip backslash for "escaped" semicolons,
|
||||
\brief Strip backslash for "escaped" semicolons,
|
||||
the string to be stripped (will be modified).
|
||||
\return The stripped string.
|
||||
*/
|
||||
@@ -402,7 +402,7 @@ void ast_copy_string(char *dst, const char *src, size_t size),
|
||||
|
||||
/*!
|
||||
\brief Build a string in a buffer, designed to be called repeatedly
|
||||
|
||||
|
||||
\note This method is not recommended. New code should use ast_str_*() instead.
|
||||
|
||||
This is a wrapper for snprintf, that properly handles the buffer pointer
|
||||
@@ -418,7 +418,7 @@ int ast_build_string(char **buffer, size_t *space, const char *fmt, ...) __attri
|
||||
|
||||
/*!
|
||||
\brief Build a string in a buffer, designed to be called repeatedly
|
||||
|
||||
|
||||
This is a wrapper for snprintf, that properly handles the buffer pointer
|
||||
and buffer space available.
|
||||
|
||||
@@ -442,11 +442,11 @@ int ast_build_string_va(char **buffer, size_t *space, const char *fmt, va_list a
|
||||
*/
|
||||
int attribute_pure ast_true(const char *val);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Make sure something is false.
|
||||
* Determine if a string containing a boolean value is "false".
|
||||
* This function checks to see whether a string passed to it is an indication of an "false" value.
|
||||
* It checks to see if the string is "no", "false", "n", "f", "off" or "0".
|
||||
* This function checks to see whether a string passed to it is an indication of an "false" value.
|
||||
* It checks to see if the string is "no", "false", "n", "f", "off" or "0".
|
||||
*
|
||||
* \retval 0 if val is a NULL pointer.
|
||||
* \retval -1 if "true".
|
||||
@@ -754,7 +754,7 @@ char *ast_str_truncate(struct ast_str *buf, ssize_t len),
|
||||
return buf->__AST_STR_STR;
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
/*
|
||||
* AST_INLINE_API() is a macro that takes a block of code as an argument.
|
||||
* Using preprocessor #directives in the argument is not supported by all
|
||||
@@ -778,7 +778,7 @@ int _ast_str_make_space(struct ast_str **buf, size_t new_len, const char *file,
|
||||
{
|
||||
struct ast_str *old_buf = *buf;
|
||||
|
||||
if (new_len <= (*buf)->__AST_STR_LEN)
|
||||
if (new_len <= (*buf)->__AST_STR_LEN)
|
||||
return 0; /* success */
|
||||
if ((*buf)->__AST_STR_TS == DS_ALLOCA || (*buf)->__AST_STR_TS == DS_STATIC)
|
||||
return -1; /* cannot extend */
|
||||
@@ -803,7 +803,7 @@ int ast_str_make_space(struct ast_str **buf, size_t new_len),
|
||||
{
|
||||
struct ast_str *old_buf = *buf;
|
||||
|
||||
if (new_len <= (*buf)->__AST_STR_LEN)
|
||||
if (new_len <= (*buf)->__AST_STR_LEN)
|
||||
return 0; /* success */
|
||||
if ((*buf)->__AST_STR_TS == DS_ALLOCA || (*buf)->__AST_STR_TS == DS_STATIC)
|
||||
return -1; /* cannot extend */
|
||||
@@ -855,8 +855,8 @@ int ast_str_copy_string(struct ast_str **dst, struct ast_str *src),
|
||||
* \brief Retrieve a thread locally stored dynamic string
|
||||
*
|
||||
* \param ts This is a pointer to the thread storage structure declared by using
|
||||
* the AST_THREADSTORAGE macro. If declared with
|
||||
* AST_THREADSTORAGE(my_buf, my_buf_init), then this argument would be
|
||||
* the AST_THREADSTORAGE macro. If declared with
|
||||
* AST_THREADSTORAGE(my_buf, my_buf_init), then this argument would be
|
||||
* (&my_buf).
|
||||
* \param init_len This is the initial length of the thread's dynamic string. The
|
||||
* current length may be bigger if previous operations in this thread have
|
||||
@@ -1008,7 +1008,7 @@ char *__ast_str_helper2(struct ast_str **buf, ssize_t max_len,
|
||||
* va_start(fmt, ap);
|
||||
* ast_str_set_va(&buf, 0, fmt, ap);
|
||||
* va_end(ap);
|
||||
*
|
||||
*
|
||||
* printf("This is the string we just built: %s\n", buf->str);
|
||||
* ...
|
||||
* }
|
||||
|
@@ -26,7 +26,7 @@
|
||||
*
|
||||
* TLS/SSL support is basically implemented by reading from a config file
|
||||
* (currently manager.conf, http.conf and sip.conf) the names of the certificate
|
||||
* files and cipher to use, and then run ssl_setup() to create an appropriate
|
||||
* files and cipher to use, and then run ssl_setup() to create an appropriate
|
||||
* data structure named ssl_ctx.
|
||||
*
|
||||
* If we support multiple domains, presumably we need to read multiple
|
||||
@@ -44,7 +44,7 @@
|
||||
* and their setup should be moved to a more central place, e.g. asterisk.conf
|
||||
* and the source files that processes it. Similarly, ssl_setup() should
|
||||
* be run earlier in the startup process so modules have it available.
|
||||
*
|
||||
*
|
||||
* \ref AstTlsOverview
|
||||
*
|
||||
* \todo For SIP, the SubjectAltNames should be checked on verification
|
||||
@@ -246,7 +246,7 @@ struct ast_tcptls_session_instance {
|
||||
#define LEN_T size_t
|
||||
#endif
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief attempts to connect and start tcptls session, on error the tcptls_session's
|
||||
* ref count is decremented, fd and file are closed, and NULL is returned.
|
||||
*/
|
||||
|
@@ -29,7 +29,7 @@
|
||||
struct tdd_state;
|
||||
typedef struct tdd_state TDDSTATE;
|
||||
|
||||
/*! CallerID Initialization
|
||||
/*! CallerID Initialization
|
||||
* Initializes the TDD system. Mostly stuff for inverse FFT
|
||||
*/
|
||||
void tdd_init(void);
|
||||
@@ -43,7 +43,7 @@ void tdd_init(void);
|
||||
*/
|
||||
int tdd_generate(struct tdd_state *tdd, unsigned char *buf, const char *string);
|
||||
|
||||
/*! Create a TDD state machine
|
||||
/*! Create a TDD state machine
|
||||
* This function returns a malloc'd instance of the tdd_state data structure.
|
||||
* Returns a pointer to a malloc'd tdd_state structure, or NULL on error.
|
||||
*/
|
||||
@@ -60,13 +60,13 @@ struct tdd_state *tdd_new(void);
|
||||
*/
|
||||
int tdd_feed(struct tdd_state *tdd, unsigned char *ubuf, int samples);
|
||||
|
||||
/*! Free a TDD state machine
|
||||
/*! Free a TDD state machine
|
||||
* \param tdd This is the tdd_state state machine to free
|
||||
* This function frees tdd_state tdd.
|
||||
*/
|
||||
void tdd_free(struct tdd_state *tdd);
|
||||
|
||||
/*! Generate Echo Canceller disable tone (2100HZ)
|
||||
/*! Generate Echo Canceller disable tone (2100HZ)
|
||||
* \param outbuf This is the buffer to receive the tone data
|
||||
* \param len This is the length (in samples) of the tone data to generate
|
||||
* Returns 0 if no error, and -1 if error.
|
||||
@@ -74,7 +74,7 @@ void tdd_free(struct tdd_state *tdd);
|
||||
int ast_tdd_gen_ecdisa(unsigned char *outbuf, int len);
|
||||
|
||||
|
||||
/*! Generate hold tone
|
||||
/*! Generate hold tone
|
||||
* \param outbuf This is the buffer to receive the tone data
|
||||
*/
|
||||
int tdd_gen_holdtone(unsigned char* outbuf);
|
||||
|
@@ -82,9 +82,9 @@ void __ast_threadstorage_object_replace(void *key_old, void *key_new, size_t len
|
||||
* \endcode
|
||||
*/
|
||||
#define AST_THREADSTORAGE(name) \
|
||||
AST_THREADSTORAGE_CUSTOM_SCOPE(name, NULL, ast_free_ptr, static)
|
||||
AST_THREADSTORAGE_CUSTOM_SCOPE(name, NULL, ast_free_ptr, static)
|
||||
#define AST_THREADSTORAGE_PUBLIC(name) \
|
||||
AST_THREADSTORAGE_CUSTOM_SCOPE(name, NULL, ast_free_ptr,)
|
||||
AST_THREADSTORAGE_CUSTOM_SCOPE(name, NULL, ast_free_ptr,)
|
||||
#define AST_THREADSTORAGE_EXTERNAL(name) \
|
||||
extern struct ast_threadstorage name
|
||||
#define AST_THREADSTORAGE_RAW(name) \
|
||||
@@ -149,7 +149,7 @@ static void __init_##name(void) \
|
||||
* \brief Retrieve thread storage
|
||||
*
|
||||
* \param ts This is a pointer to the thread storage structure declared by using
|
||||
* the AST_THREADSTORAGE macro. If declared with
|
||||
* the AST_THREADSTORAGE macro. If declared with
|
||||
* AST_THREADSTORAGE(my_buf), then this argument would be (&my_buf).
|
||||
* \param init_size This is the amount of space to be allocated the first time
|
||||
* this thread requests its data. Thus, this should be the size that the
|
||||
|
@@ -88,7 +88,7 @@ struct ast_timing_interface {
|
||||
* \param i An instance of the \c ast_timing_interfaces structure with pointers
|
||||
* to the functions provided by the timing implementation.
|
||||
*
|
||||
* \retval NULL failure
|
||||
* \retval NULL failure
|
||||
* \retval non-Null handle to be passed to ast_unregister_timing_interface() on success
|
||||
* \since 1.6.1
|
||||
*/
|
||||
|
@@ -107,7 +107,7 @@ enum ast_trans_cost_table {
|
||||
};
|
||||
|
||||
/*! \brief
|
||||
* Descriptor of a translator.
|
||||
* Descriptor of a translator.
|
||||
*
|
||||
* Name, callbacks, and various options
|
||||
* related to run-time operation (size of buffers, auxiliary
|
||||
@@ -148,19 +148,19 @@ struct ast_translator {
|
||||
* on computation time. This cost value is computed based
|
||||
* on the time required to translate sample data. */
|
||||
|
||||
int (*newpvt)(struct ast_trans_pvt *); /*!< initialize private data
|
||||
int (*newpvt)(struct ast_trans_pvt *); /*!< initialize private data
|
||||
* associated with the translator */
|
||||
|
||||
int (*framein)(struct ast_trans_pvt *pvt, struct ast_frame *in);
|
||||
/*!< Input frame callback. Store
|
||||
/*!< Input frame callback. Store
|
||||
* (and possibly convert) input frame. */
|
||||
|
||||
struct ast_frame * (*frameout)(struct ast_trans_pvt *pvt);
|
||||
/*!< Output frame callback. Generate a frame
|
||||
/*!< Output frame callback. Generate a frame
|
||||
* with outbuf content. */
|
||||
|
||||
void (*destroy)(struct ast_trans_pvt *pvt);
|
||||
/*!< cleanup private data, if needed
|
||||
/*!< cleanup private data, if needed
|
||||
* (often unnecessary). */
|
||||
|
||||
struct ast_frame * (*sample)(void); /*!< Generate an example frame */
|
||||
@@ -296,9 +296,9 @@ int ast_translator_best_choice(struct ast_format_cap *dst_cap,
|
||||
struct ast_format **dst_fmt_out,
|
||||
struct ast_format **src_fmt_out);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Builds a translator path
|
||||
* Build a path (possibly NULL) from source to dest
|
||||
* Build a path (possibly NULL) from source to dest
|
||||
* \param dst dest destination format
|
||||
* \param src source source format
|
||||
* \return ast_trans_pvt on success, NULL on failure
|
||||
|
@@ -2,7 +2,7 @@
|
||||
* Asterisk -- An open source telephony toolkit.
|
||||
*
|
||||
* UDPTL support for T.38
|
||||
*
|
||||
*
|
||||
* Copyright (C) 2005, Steve Underwood, partly based on RTP code which is
|
||||
* Copyright (C) 1999-2004, Digium, Inc.
|
||||
*
|
||||
@@ -54,7 +54,7 @@ struct ast_udptl *ast_udptl_new_with_bindaddr(struct ast_sched_context *sched, s
|
||||
* \brief Associates a character string 'tag' with a UDPTL session.
|
||||
* \param udptl The UDPTL session.
|
||||
* \param format printf-style format string used to construct the tag
|
||||
*
|
||||
*
|
||||
* This function formats a tag for the specified UDPTL
|
||||
* session, so that any log messages generated by the UDPTL stack
|
||||
* related to that session will include the tag and the reader of
|
||||
@@ -98,15 +98,15 @@ void ast_udptl_set_error_correction_scheme(struct ast_udptl *udptl, enum ast_t38
|
||||
|
||||
void ast_udptl_set_local_max_ifp(struct ast_udptl *udptl, unsigned int max_ifp);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief retrieves local_max_datagram.
|
||||
*
|
||||
*
|
||||
* \retval positive value representing max datagram size.
|
||||
* \retval 0 if no value is present
|
||||
*/
|
||||
unsigned int ast_udptl_get_local_max_datagram(struct ast_udptl *udptl);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief sets far max datagram size. If max_datagram is = 0, the far max datagram
|
||||
* size is set to a default value.
|
||||
*/
|
||||
@@ -114,9 +114,9 @@ void ast_udptl_set_far_max_datagram(struct ast_udptl *udptl, unsigned int max_da
|
||||
|
||||
unsigned int ast_udptl_get_far_max_datagram(const struct ast_udptl *udptl);
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief retrieves far max ifp
|
||||
*
|
||||
*
|
||||
* \retval positive value representing max ifp size
|
||||
* \retval 0 if no value is present
|
||||
*/
|
||||
|
@@ -247,4 +247,3 @@ struct ast_xml_node *ast_xml_xpath_get_first_result(struct ast_xml_xpath_results
|
||||
struct ast_xml_xpath_results *ast_xml_query(struct ast_xml_doc *doc, const char *xpath_str);
|
||||
|
||||
#endif /* _ASTERISK_XML_H */
|
||||
|
||||
|
@@ -14,7 +14,7 @@
|
||||
*/
|
||||
|
||||
/*! \file
|
||||
* \brief
|
||||
* \brief
|
||||
* jitterbuf: an application-independent jitterbuffer
|
||||
* \ref jitterbuf.c
|
||||
*/
|
||||
@@ -30,14 +30,14 @@ extern "C" {
|
||||
/*! \name configuration constants */
|
||||
/*@{ */
|
||||
/*! Number of historical timestamps to use in calculating jitter and drift */
|
||||
#define JB_HISTORY_SZ 500
|
||||
#define JB_HISTORY_SZ 500
|
||||
/*! what percentage of timestamps should we drop from the history when we examine it;
|
||||
* this might eventually be something made configurable */
|
||||
#define JB_HISTORY_DROPPCT 3
|
||||
/*! the maximum droppct we can handle (say it was configurable). */
|
||||
#define JB_HISTORY_DROPPCT_MAX 4
|
||||
/*! the size of the buffer we use to keep the top and botton timestamps for dropping */
|
||||
#define JB_HISTORY_MAXBUF_SZ JB_HISTORY_SZ * JB_HISTORY_DROPPCT_MAX / 100
|
||||
#define JB_HISTORY_MAXBUF_SZ JB_HISTORY_SZ * JB_HISTORY_DROPPCT_MAX / 100
|
||||
/*! amount of additional jitterbuffer adjustment */
|
||||
#define JB_TARGET_EXTRA 40
|
||||
/*! ms between growing and shrinking; may not be honored if jitterbuffer runs out of space */
|
||||
@@ -131,10 +131,10 @@ void jb_destroy(jitterbuf *jb);
|
||||
* you will leak queued frames, and some internal structures */
|
||||
void jb_reset(jitterbuf *jb);
|
||||
|
||||
/*!\brief queue a frame
|
||||
*
|
||||
* data=frame data, timings (in ms): ms=length of frame (for voice), ts=ts (sender's time)
|
||||
* now=now (in receiver's time) return value is one of
|
||||
/*!\brief queue a frame
|
||||
*
|
||||
* data=frame data, timings (in ms): ms=length of frame (for voice), ts=ts (sender's time)
|
||||
* now=now (in receiver's time) return value is one of
|
||||
* JB_OK: Frame added. Last call to jb_next() still valid
|
||||
* JB_DROP: Drop this frame immediately
|
||||
* JB_SCHED: Frame added. Call jb_next() to get a new time for the next frame
|
||||
@@ -145,7 +145,7 @@ enum jb_return_code jb_put(jitterbuf *jb, void *data, const enum jb_frame_type t
|
||||
* JB_OK: You've got frame!
|
||||
* JB_DROP: Here's an audio frame you should just drop. Ask me again for this time..
|
||||
* JB_NOFRAME: There's no frame scheduled for this time.
|
||||
* JB_INTERP: Please interpolate an interpl-length frame for this time (either we need to grow, or there was a lost frame)
|
||||
* JB_INTERP: Please interpolate an interpl-length frame for this time (either we need to grow, or there was a lost frame)
|
||||
* JB_EMPTY: The jb is empty.
|
||||
*/
|
||||
enum jb_return_code jb_get(jitterbuf *jb, jb_frame *frame, long now, long interpl);
|
||||
@@ -153,7 +153,7 @@ enum jb_return_code jb_get(jitterbuf *jb, jb_frame *frame, long now, long interp
|
||||
/*! \brief unconditionally get frames from jitterbuf until empty */
|
||||
enum jb_return_code jb_getall(jitterbuf *jb, jb_frame *frameout);
|
||||
|
||||
/*! \brief when is the next frame due out, in receiver's time (0=EMPTY)
|
||||
/*! \brief when is the next frame due out, in receiver's time (0=EMPTY)
|
||||
* This value may change as frames are added (esp non-audio frames) */
|
||||
long jb_next(jitterbuf *jb);
|
||||
|
||||
|
@@ -117,12 +117,12 @@ struct name { \
|
||||
|
||||
#define SLIST_HEAD_INITIALIZER(head) \
|
||||
{ NULL }
|
||||
|
||||
|
||||
#define SLIST_ENTRY(type) \
|
||||
struct { \
|
||||
struct type *sle_next; /* next element */ \
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Singly-linked List functions.
|
||||
*/
|
||||
@@ -537,4 +537,3 @@ void remque __P((void *a));
|
||||
#endif /* KERNEL */
|
||||
|
||||
#endif /* !_SYS_QUEUE_H_ */
|
||||
|
||||
|
Reference in New Issue
Block a user