diff options
-rwxr-xr-x | zaptel.c | 53 |
1 files changed, 34 insertions, 19 deletions
@@ -28,6 +28,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * + * $Id$ */ #include <linux/kernel.h> @@ -458,28 +459,39 @@ static int zaptel_proc_read(char *page, char **start, off_t off, int count, int if (spans[span]->syncsrc && (spans[span]->syncsrc == spans[span]->spanno)) len += sprintf(page + len, "ClockSource "); len += sprintf(page + len, "\n"); + if (spans[span]->bpvcount) + len += sprintf(page + len, "\tBPV count: %d\n", spans[span]->bpvcount); + if (spans[span]->crc4count) + len += sprintf(page + len, "\tCRC4 error count: %d\n", spans[span]->crc4count); + if (spans[span]->ebitcount) + len += sprintf(page + len, "\tE-bit error count: %d\n", spans[span]->ebitcount); + if (spans[span]->fascount) + len += sprintf(page + len, "\tFAS error count: %d\n", spans[span]->fascount); + if (spans[span]->irqmisses) + len += sprintf(page + len, "\tIRQ misses: %d\n", spans[span]->irqmisses); + len += sprintf(page + len, "\n"); for (x=1;x<ZT_MAX_CHANNELS;x++) { if (chans[x]) { if (chans[x]->span && (chans[x]->span->spanno == span)) { - - if (chans[x]->name) - len += sprintf(page + len, "\t%d %s ", x, chans[x]->name ); - - if (chans[x]->sig) { - if (chans[x]->sig == ZT_SIG_SLAVE) - len += sprintf(page + len, "%s", sigstr(chans[x]->master->sig)); - else { - len += sprintf(page + len, "%s", sigstr(chans[x]->sig)); - if (chans[x]->nextslave && chans[x]->master->channo == x) - len += sprintf(page + len, "Master "); - } + if (chans[x]->name) + len += sprintf(page + len, "\t%4d %s ", x, chans[x]->name); + if (chans[x]->sig) { + if (chans[x]->sig == ZT_SIG_SLAVE) + len += sprintf(page + len, "%s ", sigstr(chans[x]->master->sig)); + else { + len += sprintf(page + len, "%s ", sigstr(chans[x]->sig)); + if (chans[x]->nextslave && chans[x]->master->channo == x) + len += sprintf(page + len, "Master "); + } + } + if ((chans[x]->flags & ZT_FLAG_OPEN)) { + len += sprintf(page + len, "(In use) "); } len += sprintf(page + len, "\n"); } - } } return len; @@ -2541,12 +2553,15 @@ static int zt_common_ioctl(struct inode *node, struct file *file, unsigned int c if (maxspans) span.totalspans = maxspans - 1; /* put total number of spans here */ strncpy(span.desc, spans[i]->desc, sizeof(span.desc) - 1); strncpy(span.name, spans[i]->name, sizeof(span.name) - 1); - span.alarms = spans[i]->alarms; /* get alarm status */ - span.bpvcount = spans[i]->bpvcount; /* get BPV count */ - span.rxlevel = spans[i]->rxlevel; /* get rx level */ - span.txlevel = spans[i]->txlevel; /* get tx level */ - span.irqmisses = spans[i]->irqmisses; /* get BPV count */ - span.syncsrc = spans[i]->syncsrc; /* get active sync source */ + span.alarms = spans[i]->alarms; /* get alarm status */ + span.bpvcount = spans[i]->bpvcount; /* get BPV count */ + span.rxlevel = spans[i]->rxlevel; /* get rx level */ + span.txlevel = spans[i]->txlevel; /* get tx level */ + span.crc4count = spans[i]->crc4count; /* get CRC4 error count */ + span.ebitcount = spans[i]->ebitcount; /* get E-bit error count */ + span.fascount = spans[i]->fascount; /* get FAS error count */ + span.irqmisses = spans[i]->irqmisses; /* get IRQ miss count */ + span.syncsrc = spans[i]->syncsrc; /* get active sync source */ span.totalchans = spans[i]->channels; span.numchans = 0; for (j=0; j < spans[i]->channels; j++) |