#include <fcntl.h>
#include <sys/qioctl.h>
#include "AcousticAbort.h"

main()
{
int fd;
unsigned long status = 0;
unsigned long flag[2]={0,0};
unsigned long edge_status = 0;

    fd = open("/dev/par1",O_RDONLY);
    while (1) {
    flag[0] = flag[1] = 0;
    status = 0;
    qnx_ioctl(fd, QCTL_DEV_CTL, &flag, 8, &status, 4);
    edge_status = status & EDGE_BITS;
    switch (edge_status)
    {
     case EDGE_CLEAR:
         printf ("Acoustic abort is CLEAR. status=0x%x", status);
         break;
     case EDGE_ABORT:
         printf ("Acoustic abort is ABORT. status=0x%x", status);
         break;
     default:
         printf ("Acoustic abort is UNKNOWN. status=0x%x", status);
    }
   switch (edge_status)
   {
    case EDGE_00 : printf (" EdgeTech STATE = 00\n"); break;
    case EDGE_01 : printf (" EdgeTech STATE = 01\n"); break;
    case EDGE_10 : printf (" EdgeTech STATE = 10\n"); break;
    case EDGE_11 : printf (" EdgeTech STATE = 11\n"); break;
    default : printf (" EdgeTech STATE = UNKNOWN\n"); break;
   }
    sleep(1);
    }
}

