diff options
Diffstat (limited to 'patgen.c')
-rwxr-xr-x | patgen.c | 33 |
1 files changed, 26 insertions, 7 deletions
@@ -26,16 +26,11 @@ void print_packet(unsigned char *buf, int len) int main(int argc, char *argv[]) { int fd; - int fd2; - int ires, res, x; - int i; + int res, res1, x; ZT_PARAMS tp; int bs = BLOCK_SIZE; unsigned char c=0; - unsigned char inbuf[BLOCK_SIZE]; unsigned char outbuf[BLOCK_SIZE]; - unsigned int fcs; - static int packets=0; if (argc < 2) { fprintf(stderr, "Usage: markhdlctest <tor device>\n"); exit(1); @@ -65,7 +60,31 @@ int main(int argc, char *argv[]) outbuf[x] = c; c = bit_next(c); } - res = write(fd, outbuf, res); + res1 = write(fd, outbuf, res); + if (res1 < res) { + int e; + ZT_SPANINFO zi; + res = ioctl(fd,ZT_GETEVENT,&e); + if (res == -1) + { + perror("ZT_GETEVENT"); + exit(1); + } + if (e == ZT_EVENT_NOALARM) + printf("ALARMS CLEARED\n"); + if (e == ZT_EVENT_ALARM) + { + zi.spanno = 0; + res = ioctl(fd,ZT_SPANSTAT,&zi); + if (res == -1) + { + perror("ZT_SPANSTAT"); + exit(1); + } + printf("Alarm mask %x hex\n",zi.alarms); + } + continue; + } #if 0 printf("(%d) Wrote %d bytes\n", packets++, res); #endif |