ftmod_libpri: Add doxygen documentation for new MSN/DDI filter functions.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
This commit is contained in:
Stefan Knoblich 2012-06-27 11:23:15 +02:00
parent 6ea4c42c95
commit a5e1101302
1 changed files with 39 additions and 2 deletions

View File

@ -268,6 +268,11 @@ out:
* MSN filter
***************************************************************/
/**
* Initialize MSN filter data structures
* \param[in] isdn_data Span private data
* \return FTDM_SUCCESS, FTDM_FAIL
*/
static int msn_filter_init(ftdm_libpri_data_t *isdn_data)
{
if (!isdn_data)
@ -285,6 +290,11 @@ static int msn_filter_init(ftdm_libpri_data_t *isdn_data)
return FTDM_SUCCESS;
}
/**
* Destroy MSN filter data structures
* \param[in] isdn_data Span private data
* \return FTDM_SUCCESS, FTDM_FAIL
*/
static int msn_filter_destroy(ftdm_libpri_data_t *isdn_data)
{
if (!isdn_data)
@ -298,6 +308,12 @@ static int msn_filter_destroy(ftdm_libpri_data_t *isdn_data)
return FTDM_SUCCESS;
}
/**
* Check if the given string is a valid MSN/DDI
* (i.e.: Not empty, not longer than FDM_DIGITS_LIMIT and all numbers)
* \param[in] str String to check
* \return FTDM_SUCCESS, FTDM_FAIL
*/
static int msn_filter_verify(const char *str)
{
if (ftdm_strlen_zero(str) || strlen(str) >= FTDM_DIGITS_LIMIT)
@ -309,6 +325,12 @@ static int msn_filter_verify(const char *str)
return FTDM_TRUE;
}
/**
* Add a new MSN/DDI to the filter
* \param[in] isdn_data Span private data
* \param[in] msn New MSN/DDI to add
* \return FTDM_SUCCESS, FTDM_FAIL
*/
static int msn_filter_add(ftdm_libpri_data_t *isdn_data, const char *msn)
{
static const int value = 0xdeadbeef;
@ -345,14 +367,18 @@ out:
/**
*
* Check if a DNIS (destination number) is a valid MSN/DDI
* \param[in] isdn_data Span private data
* \param[in] msn Number to check
* \retval FTDM_TRUE \p msn is a valid MSN/DDI or filter list is empty
* \retval FTDM_FALSE \p msn is not a valid MSN/DDI
*/
static int msn_filter_match(ftdm_libpri_data_t *isdn_data, const char *msn)
{
int ret = FTDM_FALSE;
if (!isdn_data)
return FTDM_FAIL;
return FTDM_FALSE;
/* No number? return match found */
if (ftdm_strlen_zero(msn))
return FTDM_TRUE;
@ -372,6 +398,13 @@ out:
return ret;
}
/**
* Helper function to iterate over MSNs in the filter hash (handles locking)
* \param[in] isdn_data Span private data
* \param[in] func Callback function that is invoked for each entry
* \param[in] data Private data passed to callback
* \return FTDM_SUCCESS, FTDM_FAIL
*/
static int msn_filter_foreach(ftdm_libpri_data_t *isdn_data, int (* func)(const char *, void *), void *data)
{
ftdm_hash_iterator_t *iter = NULL;
@ -439,6 +472,10 @@ struct msn_list_cb_private {
unsigned int count;
};
/**
* "ftdm libpri msn <span>" API command callback
* function for msn_filter_foreach()
*/
static int msn_list_cb(const char *msn, void *priv)
{
struct msn_list_cb_private *data = priv;