Sous-routine tcsendbreak

Objectif

Envoie une interruption sur une ligne de données série asynchrone.

Bibliothèque

Bibliothèque C standard (libc.a)

Syntaxe

#include <termios.h>
int tcsendbreak( FileDescriptor,  Duration)
int FileDescriptor;
int Duration;

Descriptif

Si le terminal utilise une transmission de données en série asynchrone, le sous-programme Tcsendbreak provoque la transmission d'un flux continu de bits à valeur zéro pour une durée spécifique.

Si le terminal n'utilise pas de transmission de données en série asynchrone, le sous-programme Tcsendbreak renvoie sans prendre d'action.

Les pseudo-terminaux et LFT ne génèrent pas de condition de rupture. Ils reviennent sans aucune action.

Paramètres

Article Descriptif
FileDescriptor Indique un descripteur de fichier ouvert.
Durée Indique le nombre de millisecondes que les bits à valeur zéro sont transmis. Si la valeur du paramètre Durée est 0, elle provoque la transmission de bits de valeur zéro pendant au moins 250 millisecondes et ne dépasse pas 500 millisecondes. Si Durée n'est pas 0, il envoie des bits de valeur zéro pour Durée millisecondes.

Valeurs renvoyées

Une fois l'exécution terminée, la valeur 0 est renvoyée. Dans le cas contraire, la valeur -1 est renvoyée et la variable globale errno est définie pour indiquer l'erreur.

Codes d'erreur

La sous-routine Tcsendbreak échoue si l'une des deux suivantes est vraie:

Article Descriptif
EBADF Le paramètre FileDescriptor ne spécifie pas de descripteur de fichier ouvert valide.
EIO Le groupe de processus du processus d'écriture est orphelin et le processus d'écriture n'ignore pas ou ne bloque pas le signal SIGTTOU .
ENOTTY Le fichier associé au paramètre FileDescriptor n'est pas un terminal.

Exemples

  1. Pour envoyer une condition de rupture de 500 millisecondes, entrez:
    rc = tcsendbreak(stdout,500);
  2. Pour envoyer une condition de rupture de 25 millisecondes, entrez:
    rc = tcsendbreak(1,25);
    Cela peut également être effectué à l'aide de la valeur par défaut Durée en entrant:
    rc = tcsendbreak(1, 0);