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)
*/