Az előző program bővítésének módja az ioctl() hívással.

Vissza


Az ioctl() hívás és a lehetséges request paraméterek:
#include 

int ioctl(int fd, int request, ...);

/*
 * TIOCMGET Visszaadja a modem státusz biteket 
 * TIOCMSET Állítja a modem státusz biteket
 * FIONREAD Visszaadja a bejövő puffer byte-jainak mennyiségét
 */
A fenti paraméterek lekérdezése és állítása valamint a modem státusz bitek konstansai:
#include 
#include 

int fd;
int status;
int bytes;

/* Modem státusz bitek lekérdezése */
ioctl(fd, TIOCMGET, &status);

/* A DTR vonal lekapcsolása */
status &= ~TIOCM_DTR;

/* Modem státusz bitek beállítása */
ioctl(fd, TIOCMSET, &status);

/* A puffer byte-jainak lekérdezése */
ioctl(fd, FIONREAD, &bytes);

/*
 * TIOCM_LE   DSR (Data Set Ready - vonal engedélyezés)
 * TIOCM_DTR  DTR (Data Terminal Ready)
 * TIOCM_RTS  RTS (Request To Send)
 * TIOCM_ST   Secondary TXD (Másodlagos Transmit)
 * TIOCM_SR   Secondary RXD (Másodlagos Receive)
 * TIOCM_CTS  CTS (Clear To Send)
 * TIOCM_CAR  DCD (Data Carrier Detect)
 * TIOCM_CD   Megegyezik a TIOCM_CAR-al
 * TIOCM_RNG  RNG (ring - csöngetés) 
 * TIOCM_RI   Megegyezik a TIOCM_RNG-vel
 * TIOCM_DSR  DSR (Data Set Ready)
 */