group 1227 mod_freetdm/mod_freetdm.c ftdm_group_t *group; group 1228 mod_freetdm/mod_freetdm.c ftdm_status_t zstatus = ftdm_group_find_by_name(span_name, &group); group 1229 mod_freetdm/mod_freetdm.c if (zstatus == FTDM_SUCCESS && group) { group 1230 mod_freetdm/mod_freetdm.c group_id = ftdm_group_get_id(group); group 1375 mod_freetdm/mod_freetdm.c hunting.mode_data.group.group_id = group_id; group 1376 mod_freetdm/mod_freetdm.c hunting.mode_data.group.direction = direction; group 1377 src/ftdm_io.c FT_DECLARE(uint32_t) ftdm_group_get_id(const ftdm_group_t *group) group 1379 src/ftdm_io.c return group->group_id; group 1382 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_group_channel_use_count(ftdm_group_t *group, uint32_t *count) group 1388 src/ftdm_io.c if (!group) { group 1392 src/ftdm_io.c for(j = 0; j < group->chan_count && group->channels[j]; j++) { group 1393 src/ftdm_io.c if (group->channels[j]) { group 1394 src/ftdm_io.c if (ftdm_test_flag(group->channels[j], FTDM_CHANNEL_INUSE)) { group 1543 src/ftdm_io.c ftdm_group_t *group = NULL; group 1549 src/ftdm_io.c ftdm_group_find(group_id, &group); group 1552 src/ftdm_io.c if (!group) { group 1558 src/ftdm_io.c ftdm_group_channel_use_count(group, &count); group 1560 src/ftdm_io.c if (count >= group->chan_count) { group 1561 src/ftdm_io.c ftdm_log(FTDM_LOG_WARNING, "All circuits are busy (%d channels used out of %d available).\n", count, group->chan_count); group 1570 src/ftdm_io.c i = rr_next(group->last_used_index, 0, group->chan_count - 1, direction); group 1572 src/ftdm_io.c i = group->chan_count-1; group 1575 src/ftdm_io.c ftdm_mutex_lock(group->mutex); group 1578 src/ftdm_io.c if (!(check = group->channels[i])) { group 1586 src/ftdm_io.c group->last_used_index = i; group 1594 src/ftdm_io.c if (i >= (group->chan_count - 1)) { group 1600 src/ftdm_io.c group->last_used_index = i; group 1602 src/ftdm_io.c i = rr_next(i, 0, group->chan_count - 1, direction); group 1615 src/ftdm_io.c ftdm_mutex_unlock(group->mutex); group 2486 src/ftdm_io.c status = _ftdm_channel_open_by_group(hunting->mode_data.group.group_id, group 2487 src/ftdm_io.c hunting->mode_data.group.direction, caller_data, &fchan); group 5254 src/ftdm_io.c ftdm_group_t* group = NULL; group 5260 src/ftdm_io.c if (ftdm_group_find_by_name(name, &group) != FTDM_SUCCESS) { group 5262 src/ftdm_io.c ftdm_group_create(&group, name); group 5266 src/ftdm_io.c for(i = 0; i < group->chan_count; i++) { group 5267 src/ftdm_io.c if (group->channels[i]->physical_span_id == ftdmchan->physical_span_id && group 5268 src/ftdm_io.c group->channels[i]->physical_chan_id == ftdmchan->physical_chan_id) { group 5272 src/ftdm_io.c group->channels[i]->physical_span_id, group 5273 src/ftdm_io.c group->channels[i]->physical_chan_id, group 5279 src/ftdm_io.c if (group->chan_count >= FTDM_MAX_CHANNELS_GROUP) { group 5285 src/ftdm_io.c group->channels[group->chan_count++] = ftdmchan; group 5290 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_channel_remove_from_group(ftdm_group_t* group, ftdm_channel_t* ftdmchan) group 5296 src/ftdm_io.c for (i=0; i < group->chan_count; i++) { group 5297 src/ftdm_io.c if (group->channels[i]->physical_span_id == ftdmchan->physical_span_id && group 5298 src/ftdm_io.c group->channels[i]->physical_chan_id == ftdmchan->physical_chan_id) { group 5301 src/ftdm_io.c while(j < group->chan_count-1) { group 5302 src/ftdm_io.c group->channels[j] = group->channels[j+1]; group 5305 src/ftdm_io.c group->channels[group->chan_count--] = NULL; group 5306 src/ftdm_io.c if (group->chan_count <=0) { group 5308 src/ftdm_io.c hashtable_remove(globals.group_hash, (void *)group->name); group 5342 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_group_find(uint32_t id, ftdm_group_t **group) group 5364 src/ftdm_io.c *group = fgroup; group 5370 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_group_find_by_name(const char *name, ftdm_group_t **group) group 5373 src/ftdm_io.c *group = NULL; group 5376 src/ftdm_io.c if ((*group = hashtable_search(globals.group_hash, (void *) name))) { group 5384 src/ftdm_io.c static void ftdm_group_add(ftdm_group_t *group) group 5392 src/ftdm_io.c grp->next = group; group 5394 src/ftdm_io.c globals.groups = group; group 5396 src/ftdm_io.c hashtable_insert(globals.group_hash, (void *)group->name, group, HASHTABLE_FLAG_NONE); group 5401 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_group_create(ftdm_group_t **group, const char *name) group 5419 src/ftdm_io.c *group = new_group; group 368 src/include/freetdm.h ftdm_group_hunt_t group; group 1172 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_remove_from_group(ftdm_group_t* group, ftdm_channel_t* ftdmchan); group 1192 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_group_find(uint32_t id, ftdm_group_t **group); group 1195 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_group_find_by_name(const char *name, ftdm_group_t **group); group 1198 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_group_create(ftdm_group_t **group, const char *name); group 1204 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_group_channel_use_count(ftdm_group_t *group, uint32_t *count); group 1207 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_group_get_id(const ftdm_group_t *group);