Fichier termiox.h

Objectif

Définit la structure du fichier Termiox , qui fournit l'interface de terminal étendu.

Descriptif

Le fichier termiox.h contient une interface de terminal étendue pour la prise en charge du contrôle de flux matériel asynchrone. Il définit la structure Termiox et les opérations ioctl à l'aide de cette structure. La structure termiox du fichier termiox.h contient les zones suivantes:

  • x_hflag
  • x_cflag
  • x_rflag
  • x_sflag

Le fichier termiox.h prend également en charge les opérations de contrôle de flux matériel ioctl.

Zone Descriptions
x_hflag Décrit le mode de contrôle du flux matériel. Les modes possibles sont les suivants:
CDR
Active le contrôle du flux de matériel CD sur la sortie. Lorsqu'elle est définie, la sortie ne se produit que si la ligne "receive ligne signal détecteur" (CD) est élevée par l'unité connectée. Si la ligne CD est supprimée par l'unité connectée, la sortie est suspendue jusqu'à ce que la ligne CD soit levée.
CTSXON
Active le contrôle de flux matériel CTS sur la sortie. Lorsqu'il est défini, la sortie ne se produit que si la ligne "clear to send" (CTS) est élevée par l'unité connectée. Si la ligne CTS est supprimée par l'unité connectée, la sortie est suspendue jusqu'à ce que la ligne CTS soit élevée.
DTRXOFF
Active le contrôle des flux de matériel DTR sur les entrées. Lorsqu'elle est définie, la ligne "Data Terminal ready" (DTR) est élevée. Si le port doit être arrêté, il va supprimer la ligne DTR. Il est supposé que l'unité connectée arrêtera sa sortie jusqu'à ce que DTR soit élevé.
RTSXOFF
Active le contrôle des flux de matériel RTS sur les entrées. Lorsqu'elle est définie, la ligne "request to send" (RTS) est élevée. Si le port doit être arrêté, il va supprimer la ligne RTS. Il est supposé que l'unité connectée arrêtera sa sortie jusqu'à ce que RTS soit élevé.

Il n'est pas possible d'utiliser simultanément les modes de contrôle de flux suivants:

  • RTS et DTR
  • CTS et CD.

Différents modes de contrôle du flux matériel peuvent être sélectionnés en définissant les indicateurs appropriés. Par exemple :

  • Contrôle de flux RTS/CTS bidirectionnel en définissant RTSXOFF et CTSXON
  • Contrôle de flux DTR/CTS bidirectionnel en définissant DTRXOFF et CTSXON
  • Contrôle du modem ou contrôle de flux CTS unidirectionnel en définissant CTSXON.
x_cflag Réservé pour une utilisation future.
x_rflag Réservé pour une utilisation future.
x_sflag Décrit la discipline ouverte. Cette zone doit être définie avant la première ouverture ; elle est généralement effectuée lors de la configuration. Les disciplines possibles sont les suivantes:
DTR_OPEN
La discipline ouverte à DTR. En ouverture, la discipline lève les lignes "data terminal ready" (DTR) et "request to send" (RTS), et attend que la ligne de détection de transmission de données (DCD) soit élevée. Si le port est ouvert avec les indicateurs O_NDELAY ou O_NONBLOCK , l'attente n'est pas effectuée. Les lignes DTR et RTS sont supprimées à temps.
WT_OPEN
La discipline du commerce mondial est ouverte. En ouverture, la discipline se comporte comme la discipline ouverte DTR si elle n'est pas en mode CDSTL. En mode CDSTL, la discipline n'augmente pas la ligne DTR jusqu'à ce que la ligne "ring indication" (RI) soit élevée. La ligne DTR est supprimée lorsque la ligne DSR sera en baisse pendant plus de 20 millisecondes.

Opérations de contrôle du flux matériel

Les opérations ioctl suivantes sont utilisées pour le contrôle de flux matériel. Pour utiliser ces opérations dans un programme, le programme doit contenir une instruction #include pour le fichier ioctl.h . L'argument de ces opérations est un pointeur vers une structure Termiox .

Article Descriptif
TCGETX Extrait les paramètres du terminal. Les paramètres de terminal en cours sont stockés dans la structure.
TCSETX Définit immédiatement les paramètres du terminal. Les paramètres de terminal actuels sont définis en fonction de la structure. Le changement est immédiat.
TCSETXW Définit les paramètres du terminal après la fin de la sortie. Les paramètres de terminal actuels sont définis en fonction de la structure. La modification se produit une fois que tous les caractères mis en file d'attente pour la sortie ont été transmis. Cette opération doit être utilisée lorsque l'évolution des paramètres affecte la sortie.
TCSETXF Définit les paramètres du terminal après la fin de la sortie et vide l'entrée. Les paramètres de terminal actuels sont définis en fonction de la structure. Tous les caractères mis en file d'attente pour la sortie sont d'abord transmis, alors tous les caractères placés en file d'attente pour l'entrée sont supprimés, puis le changement se produit.