Commcarte.c

De troyesGEII
Aller à : navigation, rechercher

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;
}

retour vers la page des Tps II