我是靠谱客的博主 花痴斑马,最近开发中收集的这篇文章主要介绍dahdi_tools 分析(四) dahdi_cfgdahdi_tools 分析(四) dahdi_cfg,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
dahdi_tools 分析(四) dahdi_cfg
dahdi_cfg 的使用
dahdi_cfg -h
DAHDI Tools Version - 2.11.1
Usage: dahdi_cfg [options]
Valid options are:
-c <filename>
-- Use <filename> instead of /etc/dahdi/system.conf
-d [level]
-- Generate debugging output. (Default level is 1.)
-f
-- Always reconfigure every channel
-h
-- Generate this help statement
-s
-- Shutdown spans only
-t
-- Test mode only, do not apply
-C <chan_list>
-- Only configure specified channels
-S <spanno>
-- Only configure specified span
-v
-- Verbose (more -v's means more verbose)
作用
用于对dahdi 驱动进行相关参数配置。默认从 /etc/dahdi/system.conf 中读取配置。
/etc/dahdi/system.conf 示例
loadzone=cn
defaultzone=cn
fxsks=1
echocanceller=OSLEC,1
代码分析
#define CONFIG_FILENAME "/etc/dahdi/system.conf"
#define MASTER_DEVICE
"/dev/dahdi/ctl"
static FILE *cf;
static char *filename=CONFIG_FILENAME;
int main(int argc, char *argv[])
{
if (fd == -1) fd = open(MASTER_DEVICE, O_RDWR);
// 打开 /dev/dahdi/ctl
if (strcmp(filename, "-") == 0)
cf = fdopen(STDIN_FILENO, "r");
else
cf = fopen(filename, "r");
// 打开 /etc/dahdi/system.conf
if (cf) {
while((buf = readline())) {
// 按行读取
if (*buf == 10) /* skip new line */
continue;
if ((value = strchr(buf, '='))) {
*value++ = '