summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xzaptel.c53
1 files changed, 34 insertions, 19 deletions
diff --git a/zaptel.c b/zaptel.c
index 4ad2715..449018b 100755
--- a/zaptel.c
+++ b/zaptel.c
@@ -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++)