Blame solaris_io/ioprtest.c

Packit d36e9b
#include <stdio.h>
Packit d36e9b
#include <errno.h>
Packit d36e9b
#include <unistd.h>
Packit d36e9b
#include <fcntl.h>
Packit d36e9b
Packit d36e9b
#define IOPREAD 1
Packit d36e9b
#define IOPWRITE 2
Packit d36e9b
Packit d36e9b
typedef struct iopbuf_struct {
Packit d36e9b
        unsigned int port;
Packit d36e9b
        unsigned char port_value;
Packit d36e9b
} iopbuf;
Packit d36e9b
Packit d36e9b
int
Packit d36e9b
main()
Packit d36e9b
{
Packit d36e9b
    iopbuf tmpbuf;
Packit d36e9b
    int fd=0;
Packit d36e9b
    
Packit d36e9b
    if((fd=open("/devices/pseudo/iop@0:iop", O_RDONLY)) < 0)
Packit d36e9b
    {
Packit d36e9b
        perror("OPEN failed\n");
Packit d36e9b
    }
Packit d36e9b
Packit d36e9b
    tmpbuf.port_value = 0;
Packit d36e9b
Packit d36e9b
    tmpbuf.port=0x80; 
Packit d36e9b
    if(ioctl(fd, IOPREAD, &tmpbuf))
Packit d36e9b
      perror("IOCTL failed\n");
Packit d36e9b
    printf("Port %x : %x\n", tmpbuf.port, tmpbuf.port_value);
Packit d36e9b
Packit d36e9b
    return 0;
Packit d36e9b
}
Packit d36e9b
Packit d36e9b
Packit d36e9b
Packit d36e9b
Packit d36e9b