/* simple(!) sample program that opens ihpc0, calls ioctl to set the dma timeout to 10 seconds, calls write to output a repeating message, calls write again to do a form feed, and then dumps the registers. */ #include #include #include #include "./ihcp_io.h" main() { int i,ii,filedes ; char devname[31] ; int argarray[11] ; strcpy(devname,"/dev/ihcp0\0") ; filedes = open(devname,O_RDWR) ; printf("filedes = 0x%x\n",filedes) ; argarray[0] = 10 ; ii = ioctl(filedes,IHCPIO_SET_DMATIME,argarray) ; if(ii == -1)printf("error on SET_DMATIME ioctl, errno = 0x%x\n",errno) ; for(i=0;i<10;i++) { ii = write(filedes,"hello world!\r\n",14) ; if(ii == -1)printf("error on write call #1, errno = 0x%x\n",errno) ; } ii = write(filedes,"\r\f",2) ; if(ii == -1)printf("error on write call #2, errno = 0x%x\n",errno) ; ii = ioctl(filedes,IHCPIO_GET_REGS,argarray) ; if(ii == -1)printf("error on GET_REGS ioctl, errno = 0x%x\n",errno) ; for(i=0;i<11;i++) printf("arg[%d] = 0x%x\n",i,argarray[i]) ; printf("DONE\n") ; }