Fichier termios.h
Objectif
Définit la structure du fichier termios , qui fournit l'interface de terminal pour la compatibilité POSIX .
Descriptif
Le fichier /usr/include/termios.h contient des informations utilisées par les sous-routines qui s'appliquent aux fichiers de terminal. Les définitions, les valeurs et les structures de ce fichier sont requises pour la compatibilité avec la norme POSIX . Le fichier termios.h prend également en charge les opérations de contrôle du modemioctl.
Les informations générales de l'interface de terminal sont contenues dans le fichier termio.h . La structure termio du fichier termio.h définit les modes d'entrée, de sortie, de contrôle et de discipline de ligne de base. Si un programme appelant est identifié comme nécessitant la compatibilité POSIX , la structure termios et des informations supplémentaires sur les paquets de contrôle POSIX dans le fichier termios.h sont implémentées. Les opérations de taille de fenêtre et de terminal utilisent la structure winsize , qui est définie dans le fichier ioctl.h . La structure termios du fichier termios.h contient les zones suivantes:
- c_iflag
- c_oflag
- c_cflag
- c_lflag
- c_cc
Le fichier termios.h définit également les valeurs pour les paramètres suivants de la sous-routine tcsetattr :
- OptionalActions
- QueueSelector
- Opération
Le fichier termios.h prend également en charge les opérations de contrôle du modemioctl.
- Descriptions de zone
- c_iflag
- Décrit le contrôle d'entrée du terminal de base. La valeur initiale du contrôle d'entrée est très claire. Les modes d'entrée possibles sont les suivants:
- IGNORENT
- Ignore la condition de rupture. Dans le contexte de la transmission de données en série asynchrone, un Condition de rupture est défini comme une séquence de bits de valeur zéro qui continue pendant plus de temps à envoyer un octet. La séquence entière des bits de valeur zéro est interprétée comme une condition de rupture unique, même si elle continue pour une quantité de temps équivalente à plus d'un octet. Si l'indicateur IGNORENT est défini, une condition de rupture détectée sur l'entrée est ignorée, ce qui signifie qu'elle n'est pas mise dans la file d'entrée et n'est donc pas lue par un processus quelconque.
- BRKINT
- Signal d'interruption sur la condition de rupture. Si l'indicateur IGNORENT n'est pas défini et que l'indicateur BRKINT est défini, la condition de rupture vide les files d'attente d'entrée et de sortie. Si le terminal est le terminal de contrôle d'un groupe de processus de premier plan, la condition de rupture génère un signal SIGINT sur ce groupe de processus de premier plan. Si ni l'indicateur IGNORENT ni l'indicateur BRKINT n'est défini, une condition de rupture est lue en tant qu'unique \0, ou si l'indicateur PARMRK est défini, sous la forme \377, \0, \0.
- IGNAL
- Ignore les caractères avec des erreurs de parité. Si cet indicateur est défini, un octet avec un cadrage ou une erreur de parité (autre que la rupture) est ignoré.
- PARMRK
- Marque les erreurs de parité. Si l'indicateur PARMRK est défini, et que l'indicateur IGNAL n'est pas défini, un octet avec une erreur d'encadrement ou de parité (autre que la rupture) est attribué à l'application en tant que séquence à trois caractères \377, \0, X, où \377, \0 est un indicateur à deux caractères qui précède chaque séquence et X est les données du caractère reçu par erreur. Pour éviter toute ambiguïté dans ce cas, si l'indicateur ISTRIP n'est pas défini, un caractère valide \377 est attribué à l'application sous la forme \377, \377. Si ni l'indicateur IGNAL ni l'indicateur PARMRK n'est défini, une erreur d'encadrement ou de parité (autre que la rupture) est donnée à l'application sous la forme d'un caractère unique \0.
- PILE
- Active le contrôle de parité d'entrée. Si cet indicateur est défini, la vérification de parité d'entrée est activée. Si ce n'est pas le cas, la vérification de parité d'entrée est désactivée. Cela permet la génération de parité de sortie sans erreurs de parité d'entrée.
- ISTRIP
- Svoyage les caractères. Si cet indicateur est défini, les caractères d'entrée valides sont d'abord supprimés sur 7 bits. Sinon, les 8 bits sont traités.
- INLCR
- Mappes un caractère de nouvelle ligne (NL) à un retour chariot (CR) en entrée. Si cet indicateur est défini, un caractère NL reçu est converti en caractère CR.
- IGNCR
- Ignore le caractère CR. Si cet indicateur est défini, un caractère CR reçu est ignoré et non lu.
- ICRNL
- Mappe un caractère CR au caractère NL en entrée. Si l'indicateur ICRNL est défini et que l'indicateur IGNCR n'est pas défini, un caractère CR reçu est converti en caractères NL.
- IUCLC
- Mappes en majuscules en minuscules sur les entrées. Si cet indicateur est défini, un caractère alphabétique reçu est traduit dans le caractère en minuscules correspondant.
- IXON
- Active le démarrage et l'arrêt de la commande de sortie. Si cet indicateur est défini, un caractère STOP reçu suspend la sortie et un caractère START reçu redémarre la sortie. Lorsque l'indicateur IXON est défini, les caractères START et STOP ne sont pas lus, mais exécutent simplement des fonctions de contrôle de flux. Lorsque l'indicateur IXON n'est pas défini, les caractères START et STOP sont lus.
- IXANY
- Permet à n'importe quel caractère de redémarrer la sortie. Si cet indicateur est défini, tout caractère d'entrée redémarre la sortie suspendue.
- IXOFF
- Active le contrôle des entrées de démarrage et d'arrêt. Si cet indicateur est défini, le système transmet un caractère STOP lorsque la file d'attente d'entrée est presque complète et un caractère START lorsqu'une entrée suffisante a été lue que la file d'attente est à nouveau vide.
- IMAXBEL
- Echoque le caractère ASCII BEL si le flux d'entrée s'écoule. L'entrée supplémentaire n'est pas stockée, mais l'entrée déjà présente dans le flux d'entrée n'est pas perdue. Si cette option n'est pas définie, aucun caractère BEL n'est répercutant ; l'entrée de la file d'entrée est supprimée si le flux d'entrée s'écoule. Cette fonction requiert également la définition du bit IEXTEN .
- c_oflag
- Indique comment le système traite la sortie. La valeur initiale de la commande de sortie est "all bits clear". Les modes de sortie possibles sont les suivants:
- OMISSION
- Sortie post-processus. Si cet indicateur est défini, les caractères de sortie sont post-traités comme indiqué par les autres indicateurs. Sinon, les caractères sont transmis sans modification.
- OLCUC
- Mappes en minuscules en majuscules sur la sortie. Si cet indicateur est défini, un caractère alphabétique en minuscules est transmis en tant que caractère majuscules correspondant. Cet indicateur est souvent utilisé en conjonction avec le mode d'entrée IUCLC .
- ONLCR
- Mappes NL à CR-NL sur la sortie. Si cet indicateur est défini, le caractère NL est transmis en tant que paire de caractères CR-NL.
- OCRNL
- Cartes CR à NL sur la sortie. Si cet indicateur est défini, le caractère CR est transmis en tant que caractère NL.
- ONOCR
- Indique qu'il n'y a pas de sortie CR à la colonne 0. Si cet indicateur est défini, aucun caractère CR n'est transmis lors de la colonne 0 (première position).
- ONLRET
- NL exécute une fonction CR. Si cet indicateur est défini, le caractère NL est supposé faire la fonction de retour chariot. Le pointeur de colonne est défini sur 0 et le délai indiqué pour le retour chariot est utilisé. Si ni l'indicateur ONLCR, OCRNL, ONOCR, ni ONLRET n'est défini, le caractère NL est supposé faire uniquement la fonction de flux de ligne. Le pointeur de colonne reste inchangé. Le pointeur de colonne est défini sur 0 si le caractère CR est effectivement transmis.
Les bits de retard indiquent la durée pendant laquelle une transmission s'arrête pour permettre un mouvement mécanique ou autre lorsque certains caractères sont envoyés au terminal. Les retards réels dépendent de la vitesse de la ligne et de la charge du système.
- REMPLOCE
- Utilise les caractères de remplissage pour le retard. Si cet indicateur est défini, les caractères de remplissage sont transmis pour un retard au lieu d'un retard chronométré. Ceci est utile pour les terminaux à débit élevé en bauds qui n'ont besoin que d'un délai minimal.
- OFDEL
- Si cet indicateur est défini, le caractère de remplissage est DEL. Si cette option n'est pas définie, le caractère de remplissage est NULL.
- NLDLY
- Sélectionne les retards des caractères de nouvelle ligne. Il s'agit du masque à utiliser avant la comparaison avec NL0 et NL1:
- NL0
- Indique un délai.
- NL1
- Indique un délai d'environ 0.10 secondes. Si l'indicateur ONLRET est défini, les retards de retour chariot sont utilisés à la place des retards de la nouvelle ligne. Si l'indicateur REMPLOCE est défini, deux caractères de remplissage sont transmis.
- CREMENT
- Sélectionne les retards de retour chariot. Il s'agit du masque à utiliser avant de comparer à CR0, CR1, CR2et CR3:
- CR0
- Indique un délai.
- CR1
- Indique que le délai dépend de la position de la colonne en cours. Si l'indicateur REMPLOCE est défini, ce délai transmet deux caractères de remplissage.
- CR2
- Indique un délai d'environ 0.10 secondes. Si l'indicateur REMPLOCE est défini, ce délai transmet quatre caractères de remplissage.
- CR3
- Indique un délai d'environ 0.15 secondes.
- TABEMENT
- Sélectionne les retards de l'onglet horizontal. Il s'agit du masque à utiliser avant de comparer à TAB0, TAB1, TAB2et TAB3. Si l'indicateur REMPLOCE est défini, l'un de ces retards (sauf TAB3) transmet deux caractères de remplissage.
- TAB0
- Indique un délai.
- TAB1
- Indique que le délai dépend de la position de la colonne en cours. Si l'indicateur REMPLOCE est défini, deux caractères de remplissage sont transmis.
- TAB2
- Indique un délai d'environ 0.10 secondes.
- TAB3
- Indique que les onglets doivent être étendus dans des espaces.
- BSDLY
- Sélectionne les retards de l'espace arrière. Il s'agit du masque à utiliser avant la comparaison avec BS0 et BS1:
- BS0
- Indique un délai.
- BS1
- Indique un délai d'environ 0.05 secondes. Si l'indicateur REMPLOCE est défini, ce délai transmet un caractère de remplissage.
- VTREMENT
- Sélectionne les retards de l'onglet vertical. Il s'agit du masque à utiliser avant la comparaison avec VT0 et VT1:
- VT0
- Indique un délai.
- VT1
- Indique un délai d'environ 2 secondes.
- FÉVEMENT
- Sélectionne les retards du flux de formulaires. Il s'agit du masque à utiliser avant la comparaison avec FF0 et FF1:
- FF0
- Indique un délai.
- FF1
- Indique un délai d'environ 2 secondes.
- c_cflag
- Décrit le contrôle matériel du terminal. Outre les modes de contrôle de base, cette zone utilise les caractères de contrôle suivants:
- CBAUD
- Indique le débit en bauds. Ces bits indiquent le débit en bauds pour une connexion. Pour tout matériel particulier, les changements de vitesse impossibles sont ignorés.
- B50
- 50 bauds.
- B75
- 75 bauds.
- B110
- 110 bauds.
- B134
- 134.5 bauds.
- B150
- 150 bauds.
- B200
- 200 bauds.
- B300
- 300 bauds.
- B600
- 600 bauds.
- B1200
- 1200 bauds.
- B1800
- 1800 bauds.
- B2400
- 2400 bauds.
- B4800
- 4800 bauds.
- B9600
- 9600 bauds.
- B19200
- 19200 bauds.
- B38400
- 38400 bauds.
- EXTA
- Externe A.
- EXTB
- Externe B.
- TAILLE
- Indique la taille du caractère. Ces bits indiquent la taille des caractères, en bits, pour les opérations de transmission et de réception. La taille de caractère n'inclut pas le bit de parité, le cas échéant:
- CS5
- 5 bits
- CS6
- 6 bits
- CS7
- 7 bits
- CS8
- 8 bits.
- CSTOPB
- Indique le nombre de bits d'arrêt. Si cet indicateur est défini, 2 bits d'arrêt sont envoyés ; sinon, seul un bit d'arrêt est envoyé.
- CREAD
- Active le récepteur. Si cet indicateur est défini, le récepteur est activé. Sinon, les caractères ne sont pas reçus.
- PARENB
- Active la parité. Si cet indicateur est défini, la génération et la détection de parité sont activées et un bit de parité est ajouté à chaque caractère.
- PARODD
- Indique une parité impaire. Si la parité est activée, l'indicateur PARODD spécifie la parité impaire si elle est définie. Si la parité est activée et que l'indicateur PARODD n'est pas défini, même la parité est utilisée.
- HUPCL
- Il s'accrochez à la dernière fermeture. Si cet indicateur est défini, la ligne est déconnectée lorsque le dernier processus ferme la ligne ou lorsque le processus se termine (lorsque le signal "data terminal ready" est en baisse).
- CLOCAL
- Indique une ligne locale. Si cette option est définie, la ligne est supposée avoir une connexion directe locale sans contrôle de modem. Si ce n'est pas le cas, le contrôle du modem (accès commuté) est pris en charge.
- CIBAUD
- Indique le débit en bauds d'entrée si différent du débit de sortie.
- PAREXT
- Indique la parité étendue pour la parité espace et espace.
- c_lflag
- Contrôle différentes fonctions de terminal. La valeur initiale après une ouverture est "tous les bits clairs". Outre les modes de base, cette zone utilise les symboles de nom de masque suivants:
- ISIG
- Active les signaux. Si cet indicateur est défini, chaque caractère d'entrée est vérifié par rapport aux caractères de contrôle spécial INTR, QUIT, SUSP et DSUSP. Si un caractère d'entrée correspond à l'un de ces caractères de contrôle, la fonction associée à ce caractère est exécutée. Si l'indicateur ISIG n'est pas défini, la vérification n'est pas effectuée.
- ICANONS
- Active l'entrée canonique. Si cet indicateur est défini, il active le traitement canonique, qui active les fonctions d'effacement et de suppression, ainsi que l'assemblage des caractères d'entrée dans les lignes délimitées par les caractères NL, EOF et EOL. Si l'indicateur ICANONS n'est pas défini, les demandes de lecture sont satisfaites directement à partir de la file d'entrée. Dans ce cas, une demande de lecture n'est pas satisfaite tant que l'une des conditions suivantes n'est pas remplie:
- Le nombre minimal de caractères spécifié par MIN est reçu.
- La valeur d'expiration spécifiée par HEURE est arrivée à expiration depuis la réception du dernier caractère. Cela permet de lire des rafales d'entrée, tout en permettant une entrée à un seul caractère.
Les valeurs MIN et HEURE sont stockées dans les positions des caractères EOF et EOL, respectivement. Les valeurs de caractères de MIN et HEURE sont converties en équivalents ascii pour obtenir la valeur numérique. La valeur d'heure représente les dixièmes de secondes.
- XCASE
- Active la présentation canonique en majuscules et en minuscules. Si cet indicateur est défini avec l'indicateur ICANONS , une lettre majuscules (ou la lettre majuscules traduite en minuscules par le mode d'entrée IUCLC ) est acceptée sur l'entrée en le précédant avec un caractère \ (barre oblique inversée). La sortie est ensuite précédée d'une barre oblique inversée. Dans ce mode, la sortie génère et l'entrée accepte les séquences d'échappement suivantes:
- Pour
- Utilisation
- ` (tombe)
- \ `
- |
- \ !
- ~
- \ ^
- {
- \ (
- }
- \ )
- \
- \ \
Par exemple, A est entrée en tant que\a, \n comme\\n, et \N comme\\\n.
- NOFLSH
- Désactive le vidage de la file d'attente. Si cet indicateur est défini, le vidage normal des files d'attente d'entrée et de sortie associées aux caractères INTR, QUIT et SUSP n'est pas effectué.
- FLUSHO
- Va la sortie. Lorsque ce bit est défini en tapant le caractère FLUSH, les données écrites sur le terminal sont supprimées. Un terminal peut annuler l'effet de saisir le caractère FLUSH en nettoyant ce bit.
- PENDIN
- Réimpression en attente d'entrée. Si cette option est définie, toute entrée en attente après un passage du mode brut au mode canonique est à nouveau saisie lors de la prochaine opération de lecture en attente ou lors de l'arrivée de la prochaine entrée. L'indicateur PENDIN est un bit d'état interne.
- IEXTEN
- Active les fonctions étendues (définies par la mise en oeuvre) à reconnaître à partir des données d'entrée. Si cette option n'est pas définie, les fonctions définies par l'implémentation ne sont pas reconnues et les caractères d'entrée correspondants sont traités comme indiqué pour les indicateurs ICANONS, ISIG, IXONet IXOFF . La reconnaissance des caractères de contrôle spéciaux suivants nécessite que l'indicateur IEXTEN soit défini:
- VEOL2
- VDSUSP
- VRÉIMPRESSION
- VIDE
- VWERSE
- VLNEXT
Les fonctions associées aux bits suivants requièrent également la définition de l'indicateur IEXTEN :
- IMAXBEL
- ECHOKE
- ECHOPRT
- ECHOCTL
- TOSHAUT
- Envoie un signal SIGTTOU lorsqu'un processus d'un groupe de processus d'arrière-plan tente d'écrire sur son terminal de contrôle. Le signal SIGTTOU arrête les membres du groupe de processus.
- Echo
- Active l'écho. Si cet indicateur est défini, les caractères sont répercutant qu'ils sont reçus.
Lorsque ICANONS est défini, les fonctions d'écho suivantes sont également possibles:
- ECHOE
- Echoit le caractère d'effacement en tant que Backspace-Space-Backspace. Si les indicateurs ECHO et ECHOE sont tous les deux définis et que l'indicateur ECHOPRT n'est pas défini, les caractères ERASE et WERASE sont repris sous la forme d'une ou de plusieurs séquences ASCII Backspace-Space-Backspace, qui efface les derniers caractères de l'écran.
- ECHOPRT
- Si les indicateurs ECHO et ECHOPRT sont tous deux définis, le premier caractère ERASE et WERASE dans une séquence sont repris sous la forme d'un \ (barre oblique inversée), suivi des caractères effacés. Les caractères ERASE et WERASE ultérieurs font écho aux caractères effacés, dans l'ordre inverse. Le caractère non effacé suivant provoque la saisie d'une / (barre oblique) avant que le caractère non effacé ne soit répercutant. Cette fonction requiert également la définition du bit IEXTEN .
- ECHOKE
- Backspace-Espace-Ligne complète de l'arrière-plan sur la ligne kill. Si cet indicateur est défini, le caractère d'arrêt est répercutant l'effacement de la ligne entière à partir de l'écran (à l'aide du mécanisme sélectionné par les indicateurs ECHOE et ECHOPRT ). Cette fonction requiert également la définition de l'indicateur IEXTEN .
- ECHOK
- Echoit le caractère NL après la mort. Si l'indicateur ECHOK est défini et que l'indicateur ECHOKE n'est pas défini, le caractère NL est repris après réception du caractère d'arrêt. Cela souligne que la ligne est supprimée.
- ECHONL
- Echoque le caractère NL. Si l'indicateur ECHONL est défini, le caractère NL est repris même si l'indicateur ECHO n'est pas défini. Ceci est utile pour les terminaux qui sont définis sur "echo local" (également appelé "demi-duplex").
- ECHOCTL
- Echoque les caractères de contrôle (avec des codes compris entre 0 et 37 octal) sous la forme ^X, où X est le caractère qui résulte de l'ajout de 100 octal au code du caractère de contrôle. (Par exemple, le caractère avec le code octal 1 est répercuté comme^A). Le caractère ASCII DEL (code 177 octal) est répercuté comme^?. Les caractères ASCII TAB, NL et START ne sont pas repris. A moins d'un échappement (précédé d'une barre oblique inversée), le caractère EOF n'est pas répercutant. Par conséquent, parce que l'EOT est le caractère par défaut de l'EOF, les terminaux qui répondent à l'EOT sont empêchés de s'accroché. Cette fonction requiert également la définition de l'indicateur IEXTEN .
- c_cc
- Indique un tableau qui définit les caractères de contrôle spéciaux. Les positions relatives et les valeurs initiales de chaque fonction sont les suivantes:
- VINTR
- Indexe le caractère spécial INTR (Ctrl-c), qui est reconnu en entrée si l'indicateur ISIG est défini. Le caractère INTR génère un signal SIGINT , qui est envoyé à tous les processus du groupe de processus de premier plan pour lequel le terminal est le terminal de contrôle. Si l'indicateur ISIG est défini, le caractère INTR est supprimé lors du traitement.
- VDÉMISSION
- Indexe le caractère spécial QUIT (Ctrl-\), qui est reconnu sur l'entrée si l'indicateur ISIG est défini. Le caractère QUIT génère un signal SIGDÉMISSION , qui est envoyé à tous les processus du groupe de processus d'avant-plan pour lequel le terminal est le terminal de contrôle, et écrit un fichier image Coeur dans le répertoire de travail en cours. Si l'indicateur ISIG est défini, le caractère QUIT est supprimé lors du traitement.
- VERASE
- Indexe le caractère spécial ERASE (Backspace), qui est reconnu en entrée si l'indicateur ICANONS est défini. Le caractère ERASE ne supprime pas le début de la ligne comme étant délimité par un caractère NL, EOL, EOF ou EOL2 . Si l'indicateur ICANONS est défini, le caractère ERASE est supprimé lors du traitement.
- VKILL
- Indexe le caractère spécial KILL (Ctrl-u), qui est reconnu en entrée si l'indicateur ICANONS est défini. Le caractère KILL supprime la totalité de la ligne, délimitée par un caractère NL, EOL, EOF ou EOL2 . Si l'indicateur ICANONS est défini, le caractère KILL est supprimé lors du traitement.
- VEOF
- Indexe le caractère spécial EOF (Ctrl-d), qui est reconnu en entrée si l'indicateur ICANONS est défini. Lorsque EOF est reçu, tous les caractères en attente de lecture sont immédiatement transmis au processus, sans attendre une nouvelle ligne, et l'EOF est supprimé. Si l'EOF est reçu au début d'une ligne (aucun caractère n'est en attente), un nombre de caractères de zéro est renvoyé de la lecture, indiquant un fin de fichier. Si l'indicateur ICANONS est défini, le caractère EOF est supprimé lors du traitement.
- VEOL
- Indexe le caractère spécial EOL (Ctrl-@ ou ASCII NULL), qui est reconnu en entrée si l'indicateur ICANONS est défini. EOL est un délimiteur de ligne supplémentaire, comme NL, et n'est pas utilisé normalement.
- VEOL2
- Indexe le caractère spécial EOL2 (Ctrl-@ ou ASCII NULL), qui est reconnu en entrée si les indicateurs ICANONS et IEXTEN sont définis. EOL2 est un délimiteur de ligne supplémentaire, comme NL, et n'est pas utilisé normalement.
- VSTART
- Indexe le caractère spécial START (Ctrl-q), qui est reconnu en entrée si l'indicateur IXON est défini et généré sur la sortie si l'indicateur IXOFF est défini. Le caractère START peut être utilisé pour reprendre la sortie suspendue par un caractère STOP. Si l'indicateur IXON est défini, le caractère START est supprimé lors du traitement. Alors que la sortie n'est pas suspendue, les caractères START sont ignorés et ne sont pas lus. VSTRT est un alias pour VSTART.
- ARRÊT
- Indexe le caractère spécial STOP (Ctrl-s), qui est reconnu en entrée si l'indicateur IXON est défini et généré sur la sortie si l'indicateur IXOFF est défini. Le caractère STOP peut être utilisé avec des terminaux pour empêcher la sortie de la sortie avant qu'elle ne puisse être lue. Si l'indicateur IXON est défini, le caractère STOP est supprimé lors du traitement. Alors que la sortie est suspendue, les caractères STOP sont ignorés et ne sont pas lus.
- VA
- Indexe le caractère spécial SUSP (Ctrl-z), qui est reconnu en entrée si l'indicateur ISIG est défini. Le caractère SUSP génère un signal SIGTSTP , qui est envoyé à tous les processus du groupe de processus de premier plan pour lequel le terminal est le terminal de contrôle. Si l'indicateur ISIG est défini, le caractère SUSP est supprimé lors du traitement.
- VDSUSP
- Indexe le caractère spécial DSUSP (Ctrl-y), qui est reconnu en entrée si les indicateurs ISIG et IEXTEN sont définis. Le caractère DSUSP génère un signal SIGTSTP en tant que caractère SUSP, mais le signal est envoyé lorsqu'un processus du groupe de processus de premier plan tente de lire le caractère DSUSP plutôt que lorsque DSUSP est entré. Si les indicateurs ISIG et IEXTEN sont définis, le caractère DSUSP est supprimé lors du traitement.
- VRÉIMPRESSION
- Indexe le caractère spécial REPRINT (Ctrl-r), qui est reconnu sur l'entrée si les indicateurs ICANONS et IEXTEN sont définis. Le caractère REPRINT réimprime tous les caractères, précédé d'une nouvelle ligne, qui n'ont pas été lus. Si les indicateurs ICANONS et IEXTEN sont définis, le caractère REPRINT est supprimé lors du traitement.
- VIDE
- Indexe le caractère spécial DISCARD (Ctrl-o), qui est reconnu sur l'entrée si les indicateurs ICANONS et IEXTEN sont définis. Le caractère DISCARD entraîne la suppression de la sortie suivante jusqu'à ce qu'un autre caractère DISCARD soit saisi, qu'un plus grand nombre d'entrées arrive ou que la condition soit effacée par un programme. Si les indicateurs ICANONS et IEXTEN sont définis, le caractère DISCARD est supprimé lors du traitement.
- VWERSE
- Indexe le caractère spécial WERASE (Ctrl-w), qui est reconnu sur l'entrée si les indicateurs ICANONS et IEXTEN sont définis. Le caractère WERASE entraîne l'effacé du mot précédent. Le caractère WERASE n'efface pas au-delà du début de la ligne, délimité par un caractère NL, EOL, EOF ou EOL2 . Si les indicateurs ICANONS et IEXTEN sont définis, le caractère WERASE est supprimé lors du traitement.
- VLNEXT
- Indexe le caractère spécial LNEXT (littéral suivant) (Ctrl-v), qui est reconnu sur l'entrée si les indicateurs ICANONS et IEXTEN sont définis. Le caractère LNEXT permet d'ignorer la signification spéciale du caractère suivant afin que les caractères puissent être en entrée sans être interprétés par le système. Si les indicateurs ICANONS, ECHOet IEXTEN sont définis, le caractère LNEXT est remplacé par une séquence ^ -Backspace lors du traitement.
- VMIN
- Index la valeur MIN , qui n'est pas un caractère spécial. L'utilisation de la valeur MIN est décrite dans la discussion sur le traitement des entrées en mode non canonique dans "ldterm Line Discipline" Dans Concepts généraux de programmation: écriture et débogage de programmes.
- HEURE
- Index la valeur HEURE , qui n'est pas un caractère spécial. L'utilisation de la valeur HEURE est décrite dans la discussion sur le traitement des entrées en mode non canonique dans "ldterm Line Discipline" Dans Concepts généraux de programmation: écriture et débogage de programmes.
Les valeurs de caractères des caractères de contrôle suivants peuvent être modifiées:
Article Descriptif Valeur Valeur Intr fin de fichier ARRET DISCARD quit Fin de vie Sup Werase ERASE EOL2 DSusp Lnext kill LANCEZ Réimpression Réimpression Les caractères ERASE, KILL et EOF peuvent également être échappés (précéd d'une barre oblique inversée) de sorte qu'aucun traitement spécial n'est effectué.
Définitions de valeur de paramètre
Les valeurs suivantes du paramètre OptionalActions de la sous-routine tcsetattr sont également définies dans le fichier termios.h :
| Article | Descriptif |
|---|---|
| TCSANOW | Définit immédiatement les paramètres associés au terminal à partir de la structure Termios référencée. |
| TCSADRAIN | Les attentes jusqu'à ce que toutes les sorties écrites dans le fichier objet aient été transmises avant de définir les paramètres de terminal à partir de la structure Termios . |
| TCSAFLUSH | Les attentes jusqu'à ce que toutes les sorties écrites dans le fichier objet aient été transmises et jusqu'à ce que toutes les entrées reçues mais non lues aient été supprimées avant de définir les paramètres de terminal à partir de la structure Termios . |
Les valeurs suivantes pour le paramètre QueueSelector de la sous-routine tcflush sont également définies dans ce fichier d'en-tête:
| Article | Descriptif |
|---|---|
| TCIFLUSH | Vidages des données reçues mais non lues. |
| TCOFLUSH | Vidages des données écrites mais non transmises. |
| TCIOFLUSH | Vidages des données reçues mais non lues, ainsi que des données écrites mais non transmises. |
Les valeurs suivantes du paramètre Action de la sous-routine tcflow sont également définies dans le fichier termios.h :
| Article | Descriptif |
|---|---|
| TCOOFF | Suspende la sortie des données par le fichier objet nommé dans le sous-programme Tcflow . |
| TCOON | Redémarre la sortie de données suspendue par l'action TCOOFF . |
| TCIOFF | Transmet un caractère d'arrêt pour arrêter la transmission de données par l'unité de terminal. |
| TCION | Transmet un caractère de début pour démarrer ou redémarrer la transmission de données par l'unité de terminal. |
Opérations de contrôle du modem
Les opérations ioctl suivantes, utilisées pour le contrôle du modem, sont une extension de l'interface de discipline de ligne POSIX . Pour utiliser ces opérations dans un programme, le programme doit contenir une instruction #include pour le fichier ioctl.h .
| Article | Descriptif |
|---|---|
| TIOCMBIS | L'argument de cette commande est un pointeur vers un entier qui active les lignes de contrôle spécifiées par la valeur de masque d'entier. Aucune autre ligne de contrôle n'est affectée. |
| TIOCMBIQUE | L'argument de cette commande est un pointeur vers un entier qui désactive les lignes de contrôle spécifiées par la valeur de masque d'entier. Aucune autre ligne de contrôle n'est affectée. |
| TIOCMGET | Extrait tous les bits de modem. L'argument de cette commande est un pointeur vers un entier où l'état en cours des lignes d'état du modem est stocké. Le statut du modem et les lignes de contrôle du modem sont pris en charge en fonction des capacités du matériel et du pilote de périphérique du matériel. |
| TIOCMSET | Définit tous les bits de modem. L'argument de cette commande est un pointeur vers un entier contenant un nouvel ensemble de bits de modem. Les bits de contrôle du modem utilisent ces bits pour activer ou désactiver les lignes de contrôle du modem, selon que le bit de cette ligne est défini ou clair. Les bits d'état du modem sont ignorés. Les lignes de contrôle du modem qui sont prises en charge dépendent des capacités du matériel et du pilote de périphérique du matériel. L'entier spécifie l'une des lignes de contrôle ou de statut du modem suivantes sur lesquelles fonctionne la commande Ioctl de contrôle du modem:
|
| TIOCMIATTENTE | Attendre la modification du statut de la ligne d'état du modem. L'argument est un pointeur vers une valeur de masque d'entier spécifiant la ou les lignes d'état du modem sur lesquelles il faut attendre un changement de statut et peut se composer d'une ou de plusieurs des valeurs suivantes:
Si aucune des lignes spécifiées ne change de statut, le Ioctl peut bloquer indéfiniment, de sorte qu'il doit être utilisé conjointement avec un temporisateur Alarme () . Si TIOCM_RNG ou TIOCM_RI est spécifié, la transition est signalée uniquement lorsque la ligne de statut passe de
on à off en raison de restrictions matérielles.Remarque: L'opération correcte de cette Ioctl dépend du câblage approprié.
|