Commcarte.c
retour vers la page des Tps II
#include "commcarte.h"
int openParPort(char * parport)
{
int errno, device;
if ((device = open(parport, O_RDWR)) < 0)
{
fprintf(stderr,"Erreur à l'ouverture : %s (%d)\n",
strerror(errno),errno);
return -1;
}
if (ioctl(device, PPCLAIM) < 0)
{
fprintf(stderr,"Erreur d'accès : %s (%d)\n",
strerror(errno),errno);
return -1;
}
unsigned char val=4;
if (ioctl (device, PPWCONTROL, &val) < 0)
{
fprintf(stderr,"erreur de configuration : %s (%d)\n",
strerror(errno),errno);
return -1;
}
return device;
}
int ecrireParPortp(int device,unsigned char *val)
{
if (ioctl (device, PPWDATA, val) < 0)
{
fprintf(stderr,"erreur d'écriture : %s (%d)\n",
strerror(errno),errno);
return -1;
}
return 0;
}
int ecrireParPort(int device,unsigned char val)
{
if (ioctl (device, PPWDATA, &val) < 0)
{
fprintf(stderr,"erreur d'écriture : %s (%d)\n",
strerror(errno),errno);
return -1;
}
return 0;
}
int closeParPort(int device)
{
unsigned char val=3;
if (ioctl (device, PPWCONTROL, &val) < 0)
{
fprintf(stderr,"erreur de configuration : %s (%d)\n",
strerror(errno),errno);
return -1;
}
if (ioctl(device, PPRELEASE) < 0)
{
fprintf(stderr,"Erreur : %s (%d)\n",
strerror(errno),errno);
return -1;
}
if(close(device) < 0)
{
fprintf(stderr,"Erreur de fermeture : %s (%d)\n",
strerror(errno),errno);
return -1;
}
return 0;
}