|
|
1.1 ! root 1: ! 2: #include <stdio.h> ! 3: #include <sys/types.h> ! 4: #include <sys/buf.h> ! 5: #include <sys/drreg.h> ! 6: #include <sys/ioctl.h> ! 7: ! 8: struct dr11io drio; ! 9: ! 10: /* ! 11: * DR11 loop back test ! 12: * usage: loop [unit] ! 13: */ ! 14: main(argc,argv) ! 15: long argc; ! 16: char *argv[]; ! 17: { long fd; ! 18: char *DR11 = "/dev/dr11"; ! 19: long unit = 0; ! 20: ! 21: fd = open(DR11,2); ! 22: if (fd == -1) { ! 23: fprintf(stderr,"\nloop: cannot open %s",DR11); ! 24: perror(" : "); ! 25: exit(1); ! 26: } ! 27: if (argc > 1) ! 28: sscanf(argv[1],"%ld",&unit); ! 29: drio.arg[0] = unit; /* Unit no. */ ! 30: ioctl(fd,DR11STAT,(caddr_t)&drio); ! 31: prdrio(&drio,unit); ! 32: ! 33: printf("\n ---- Perform loopback test ----"); ! 34: drio.arg[0] = unit; /* Unit 0 */ ! 35: ioctl(fd,DR11LOOP,(caddr_t)&drio); ! 36: printf("\n Done...."); ! 37: ! 38: drio.arg[0] = unit; ! 39: ioctl(fd,DR11STAT,(caddr_t)&drio); ! 40: prdrio(&drio,unit); ! 41: ! 42: close(fd); ! 43: } ! 44: ! 45: ! 46: prdrio(drio,unit) ! 47: struct dr11io *drio; ! 48: { ! 49: printf("\n\t------------- DR11 unit %ld Status ------------",unit); ! 50: printf("\n\t dr_flags CSR istat idata modvec dmacnt hiadr loadr"); ! 51: printf("\n\t %04lx %04lx %04lx %04lx %04lx %04ld %04lx %04lx", ! 52: drio->arg[0],drio->arg[1],drio->arg[2],drio->arg[3] & 0xffff, ! 53: drio->arg[4],drio->arg[5],drio->arg[6],drio->arg[7]); ! 54: printf("\n"); ! 55: } ! 56:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.