Commcarte.c : Différence entre versions
| (3 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
| − | + | {{RetourVers/TpII}} | |
| − | + | <source lang="c"> | |
| − | + | #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; | ||
| + | } | ||
| + | </source> | ||
| + | |||
| + | {{RetourVers/TpII}} | ||
Version actuelle datée du 15 décembre 2012 à 21:52
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;
}