iter 1470 mod_freetdm/mod_freetdm.c ftdm_iterator_t *iter = NULL; iter 1587 mod_freetdm/mod_freetdm.c iter = ftdm_channel_get_var_iterator(sigmsg->channel, NULL); iter 1588 mod_freetdm/mod_freetdm.c for (curr = iter ; curr; curr = ftdm_iterator_next(curr)) { iter 1595 mod_freetdm/mod_freetdm.c iter = ftdm_call_get_var_iterator(channel_caller_data, iter); iter 1596 mod_freetdm/mod_freetdm.c for (curr = iter ; curr; curr = ftdm_iterator_next(curr)) { iter 1602 mod_freetdm/mod_freetdm.c ftdm_iterator_free(iter); iter 65 src/ftdm_io.c static ftdm_iterator_t *get_iterator(ftdm_iterator_type_t type, ftdm_iterator_t *iter); iter 4047 src/ftdm_io.c FT_DECLARE(ftdm_iterator_t *) ftdm_call_get_var_iterator(const ftdm_caller_data_t *caller_data, ftdm_iterator_t *iter) iter 4056 src/ftdm_io.c if (!(iter = get_iterator(FTDM_ITERATOR_VARS, iter))) { iter 4059 src/ftdm_io.c iter->pvt.hashiter = hashiter; iter 4060 src/ftdm_io.c return iter; iter 4063 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_call_get_current_var(ftdm_iterator_t *iter, const char **var_name, const char **var_val) iter 4071 src/ftdm_io.c ftdm_assert_return(iter && (iter->type == FTDM_ITERATOR_VARS) && iter->pvt.hashiter, FTDM_FAIL, "Cannot get variable from invalid iterator!\n"); iter 4073 src/ftdm_io.c hashtable_this(iter->pvt.hashiter, &key, NULL, &val); iter 4147 src/ftdm_io.c static ftdm_iterator_t *get_iterator(ftdm_iterator_type_t type, ftdm_iterator_t *iter) iter 4150 src/ftdm_io.c if (iter) { iter 4151 src/ftdm_io.c if (iter->type != type) { iter 4155 src/ftdm_io.c allocated = iter->allocated; iter 4156 src/ftdm_io.c memset(iter, 0, sizeof(*iter)); iter 4157 src/ftdm_io.c iter->type = type; iter 4158 src/ftdm_io.c iter->allocated = allocated; iter 4159 src/ftdm_io.c return iter; iter 4162 src/ftdm_io.c iter = ftdm_calloc(1, sizeof(*iter)); iter 4163 src/ftdm_io.c if (!iter) { iter 4166 src/ftdm_io.c iter->type = type; iter 4167 src/ftdm_io.c iter->allocated = 1; iter 4168 src/ftdm_io.c return iter; iter 4171 src/ftdm_io.c FT_DECLARE(ftdm_iterator_t *) ftdm_channel_get_var_iterator(const ftdm_channel_t *ftdmchan, ftdm_iterator_t *iter) iter 4183 src/ftdm_io.c if (!(iter = get_iterator(FTDM_ITERATOR_VARS, iter))) { iter 4186 src/ftdm_io.c iter->pvt.hashiter = hashiter; iter 4187 src/ftdm_io.c return iter; iter 4190 src/ftdm_io.c FT_DECLARE(ftdm_iterator_t *) ftdm_span_get_chan_iterator(const ftdm_span_t *span, ftdm_iterator_t *iter) iter 4192 src/ftdm_io.c if (!(iter = get_iterator(FTDM_ITERATOR_CHANS, iter))) { iter 4195 src/ftdm_io.c iter->pvt.chaniter.index = 1; iter 4196 src/ftdm_io.c iter->pvt.chaniter.span = span; iter 4197 src/ftdm_io.c return iter; iter 4200 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_channel_get_current_var(ftdm_iterator_t *iter, const char **var_name, const char **var_val) iter 4208 src/ftdm_io.c ftdm_assert_return(iter && (iter->type == FTDM_ITERATOR_VARS) && iter->pvt.hashiter, FTDM_FAIL, "Cannot get variable from invalid iterator!\n"); iter 4210 src/ftdm_io.c hashtable_this(iter->pvt.hashiter, &key, NULL, &val); iter 4218 src/ftdm_io.c FT_DECLARE(ftdm_iterator_t *) ftdm_iterator_next(ftdm_iterator_t *iter) iter 4220 src/ftdm_io.c ftdm_assert_return(iter && iter->type, NULL, "Invalid iterator\n"); iter 4222 src/ftdm_io.c switch (iter->type) { iter 4224 src/ftdm_io.c if (!iter->pvt.hashiter) { iter 4227 src/ftdm_io.c iter->pvt.hashiter = hashtable_next(iter->pvt.hashiter); iter 4228 src/ftdm_io.c if (!iter->pvt.hashiter) { iter 4231 src/ftdm_io.c return iter; iter 4233 src/ftdm_io.c ftdm_assert_return(iter->pvt.chaniter.index, NULL, "channel iterator index cannot be zero!\n"); iter 4234 src/ftdm_io.c if (iter->pvt.chaniter.index == iter->pvt.chaniter.span->chan_count) { iter 4237 src/ftdm_io.c iter->pvt.chaniter.index++; iter 4238 src/ftdm_io.c return iter; iter 4247 src/ftdm_io.c FT_DECLARE(void *) ftdm_iterator_current(ftdm_iterator_t *iter) iter 4252 src/ftdm_io.c ftdm_assert_return(iter && iter->type, NULL, "Invalid iterator\n"); iter 4254 src/ftdm_io.c switch (iter->type) { iter 4256 src/ftdm_io.c hashtable_this(iter->pvt.hashiter, &key, NULL, &val); iter 4260 src/ftdm_io.c ftdm_assert_return(iter->pvt.chaniter.index, NULL, "channel iterator index cannot be zero!\n"); iter 4261 src/ftdm_io.c ftdm_assert_return(iter->pvt.chaniter.index <= iter->pvt.chaniter.span->chan_count, NULL, "channel iterator index bigger than span chan count!\n"); iter 4262 src/ftdm_io.c return iter->pvt.chaniter.span->channels[iter->pvt.chaniter.index]; iter 4271 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_iterator_free(ftdm_iterator_t *iter) iter 4274 src/ftdm_io.c if (!iter) { iter 4278 src/ftdm_io.c if (!iter->allocated) { iter 4279 src/ftdm_io.c memset(iter, 0, sizeof(*iter)); iter 4283 src/ftdm_io.c ftdm_assert_return(iter->type, FTDM_FAIL, "Cannot free invalid iterator\n"); iter 4284 src/ftdm_io.c ftdm_safe_free(iter); iter 1356 src/include/freetdm.h FT_DECLARE(ftdm_iterator_t *) ftdm_channel_get_var_iterator(const ftdm_channel_t *ftdmchan, ftdm_iterator_t *iter); iter 1362 src/include/freetdm.h FT_DECLARE(void *) ftdm_iterator_current(ftdm_iterator_t *iter); iter 1365 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_get_current_var(ftdm_iterator_t *iter, const char **var_name, const char **var_val); iter 1368 src/include/freetdm.h FT_DECLARE(ftdm_iterator_t *) ftdm_iterator_next(ftdm_iterator_t *iter); iter 1373 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_iterator_free(ftdm_iterator_t *iter); iter 1392 src/include/freetdm.h FT_DECLARE(ftdm_iterator_t *) ftdm_call_get_var_iterator(const ftdm_caller_data_t *caller_data, ftdm_iterator_t *iter); iter 1395 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_call_get_current_var(ftdm_iterator_t *iter, const char **var_name, const char **var_val); iter 1523 src/include/freetdm.h FT_DECLARE(ftdm_iterator_t *) ftdm_span_get_chan_iterator(const ftdm_span_t *span, ftdm_iterator_t *iter);