|
|
default: | default: |
return 0; | return 0; |
} | } |
if (ioctl(linuxDevFd, _IOR('3', 3, sizeof(struct pioData)), &desc)==-1) |
if (ioctl(linuxDevFd, _IOR('3', 3, struct pioData), &desc)==-1) |
return 0; | return 0; |
switch (size) { | switch (size) { |
case 1: | case 1: |
|
|
desc.size=size; | desc.size=size; |
desc.device=device; | desc.device=device; |
desc.value=&data; | desc.value=&data; |
if (ioctl(linuxDevFd, _IOW('3', 4, sizeof(struct pioData)), &desc)==-1) |
if (ioctl(linuxDevFd, _IOW('3', 4, struct pioData), &desc)==-1) |
return FXFALSE; | return FXFALSE; |
return FXTRUE; | return FXTRUE; |
} | } |
|
|
desc.size=sizeof(tmp); | desc.size=sizeof(tmp); |
desc.value=&tmp; | desc.value=&tmp; |
/* fprintf(stderr, "Read byte desc at %x tmp at %x\n", &desc, &tmp); */ | /* fprintf(stderr, "Read byte desc at %x tmp at %x\n", &desc, &tmp); */ |
ioctl(linuxDevFd, _IOR(0, 0, sizeof(struct pioData)), &desc); |
ioctl(linuxDevFd, _IOR(0, 0, struct pioData), &desc); |
/* fprintf(stderr, "Got byte %d versus %d\n", tmp, inb(port)); */ | /* fprintf(stderr, "Got byte %d versus %d\n", tmp, inb(port)); */ |
return tmp; | return tmp; |
} | } |
|
|
desc.size=sizeof(tmp); | desc.size=sizeof(tmp); |
desc.value=&tmp; | desc.value=&tmp; |
/* fprintf(stderr, "Read word desc at %x tmp at %x\n", &desc, &tmp); */ | /* fprintf(stderr, "Read word desc at %x tmp at %x\n", &desc, &tmp); */ |
ioctl(linuxDevFd, _IOR(0, 0, sizeof(struct pioData)), &desc); |
ioctl(linuxDevFd, _IOR(0, 0, struct pioData), &desc); |
/* fprintf(stderr, "Got word %d versus %d\n", tmp, inw(port)); */ | /* fprintf(stderr, "Got word %d versus %d\n", tmp, inw(port)); */ |
return tmp; | return tmp; |
} | } |
|
|
desc.size=sizeof(tmp); | desc.size=sizeof(tmp); |
desc.value=&tmp; | desc.value=&tmp; |
/* fprintf(stderr, "Read long desc at %x tmp at %x\n", &desc, &tmp); */ | /* fprintf(stderr, "Read long desc at %x tmp at %x\n", &desc, &tmp); */ |
ioctl(linuxDevFd, _IOR(0, 0, sizeof(struct pioData)), &desc); |
ioctl(linuxDevFd, _IOR(0, 0, struct pioData), &desc); |
/* fprintf(stderr, "Got long %x versus %x\n", tmp, inl(port)); */ | /* fprintf(stderr, "Got long %x versus %x\n", tmp, inl(port)); */ |
return tmp; | return tmp; |
} | } |
|
|
desc.port=port; | desc.port=port; |
desc.size=sizeof(data); | desc.size=sizeof(data); |
desc.value=&data; | desc.value=&data; |
return ioctl(linuxDevFd, _IOW(0, 1, sizeof(struct pioData)), &desc)!=-1; |
return ioctl(linuxDevFd, _IOW(0, 1, struct pioData), &desc)!=-1; |
} | } |
| |
static FxBool | static FxBool |
|
|
desc.port=port; | desc.port=port; |
desc.size=sizeof(data); | desc.size=sizeof(data); |
desc.value=&data; | desc.value=&data; |
return ioctl(linuxDevFd, _IOW(0, 1, sizeof(struct pioData)), &desc)!=-1; |
return ioctl(linuxDevFd, _IOW(0, 1, struct pioData), &desc)!=-1; |
} | } |
| |
static FxBool | static FxBool |
|
|
desc.port=port; | desc.port=port; |
desc.size=sizeof(data); | desc.size=sizeof(data); |
desc.value=&data; | desc.value=&data; |
return ioctl(linuxDevFd, _IOW(0, 1, sizeof(struct pioData)), &desc)!=-1; |
return ioctl(linuxDevFd, _IOW(0, 1, struct pioData), &desc)!=-1; |
} | } |
| |
static FxBool | static FxBool |