void misdn_cfg_update_ptp (void) { char misdn_init[BUFFERSIZE]; char line[BUFFERSIZE]; FILE *fp; char *tok, *p, *end; int port; misdn_cfg_get(0, MISDN_GEN_MISDN_INIT, &misdn_init, sizeof(misdn_init)); if (misdn_init) { fp = fopen(misdn_init, "r"); if (fp) { while(fgets(line, sizeof(line), fp)) { if (!strncmp(line, "nt_ptp", 6)) { for (tok = strtok_r(line,",=", &p); tok; tok = strtok_r(NULL,",=", &p)) { port = strtol(tok, &end, 10); if (end != tok && misdn_cfg_is_port_valid(port)) { misdn_cfg_lock(); ptp[port] = 1; misdn_cfg_unlock(); } } } } fclose(fp); } else { cw_log(LOG_WARNING,"Couldn't open %s: %s\n", misdn_init, strerror(errno)); } } }
void misdn_cfg_update_ptp (void) { #ifndef MISDN_1_2 char misdn_init[BUFFERSIZE]; char line[BUFFERSIZE]; FILE *fp; char *tok, *p, *end; int port; misdn_cfg_get(0, MISDN_GEN_MISDN_INIT, &misdn_init, sizeof(misdn_init)); if (misdn_init) { fp = fopen(misdn_init, "r"); if (fp) { while(fgets(line, sizeof(line), fp)) { if (!strncmp(line, "nt_ptp", 6)) { for (tok = strtok_r(line,",=", &p); tok; tok = strtok_r(NULL,",=", &p)) { port = strtol(tok, &end, 10); if (end != tok && misdn_cfg_is_port_valid(port)) { misdn_cfg_lock(); ptp[port] = 1; misdn_cfg_unlock(); } } } } fclose(fp); } else { ast_log(LOG_WARNING,"Couldn't open %s: %s\n", misdn_init, strerror(errno)); } } #else int i; int proto; char filename[128]; FILE *fp; for (i = 1; i <= max_ports; ++i) { snprintf(filename, sizeof(filename), "/sys/class/mISDN-stacks/st-%08x/protocol", i << 8); fp = fopen(filename, "r"); if (!fp) { ast_log(LOG_WARNING, "Could not open %s: %s\n", filename, strerror(errno)); continue; } if (fscanf(fp, "0x%08x", &proto) != 1) ast_log(LOG_WARNING, "Could not parse contents of %s!\n", filename); else ptp[i] = proto & 1<<5 ? 1 : 0; fclose(fp); } #endif }