summaryrefslogtreecommitdiff
path: root/patgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'patgen.c')
-rwxr-xr-xpatgen.c33
1 files changed, 26 insertions, 7 deletions
diff --git a/patgen.c b/patgen.c
index 5c360dc..6ee48f5 100755
--- a/patgen.c
+++ b/patgen.c
@@ -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