_pipe |
Tuyau |
Borland C++ (cible OS/2) |
fcntl.h, io.h |
Syntaxe
int _pipe(int *handles, unsigned int size, int mode);
|
Paramètres
Nom |
Description |
handles |
Ce paramètre permet d'indiquer un tableau de deux entiers où _pipe entrepose les descripteurs de fichier : handles[0] : Descripteur du côté lecture du tube, handles[1] : Descripteur du côté écriture du tube. |
size |
Ce paramètre permet d'indiquer la taille du tampon du tube (en octets). Doit être une puissance de 2 (comme 512, 1024, 2048,...). Peut être ignoré avec 0, laissant le système choisir une taille par défaut. |
mode |
Ce paramètre permet d'indiquer le mode d'accès au tube. |
Description
Cette fonction permet de créer un tuyau de communication en lecture et écriture.
Remarques
- Cette fonction n'est pas disponible dans les programmes Win32, uniquement sous OS/2.
- La fonction _pipe crée un tube anonyme permettant de transmettre des informations entre processus. Le tube est ouvert en lecture et en écriture. Comme un
fichier disque, un tube est accessible en lecture et en écriture, mais il n'a ni nom ni entreposage permanent ; les données écrites vers et depuis le tube existent uniquement
dans une mémoire tampon gérée par le système d'exploitation.
- Le descripteur de lecture est renvoyé à handles[0] et le descripteur d'écriture à handles[1]. Le programme peut utiliser ces descripteurs lors des
appels suivants pour read, write, dup, dup2 ou close. Lorsque
tous les descripteurs de tube sont fermés, le tube est détruit.
- La taille du tampon interne du tube est size. La valeur minimale recommandée est de 512 octets.
- Le mode de traduction est spécifié par mode, comme suit :
Constante |
Description |
O_BINARY |
Le tuyau est ouvert en mode binaire |
O_TEXT |
Le tuyau est ouvert en mode texte |
- Si le mode est nul, le mode de traduction est déterminé par la variable externe _fmode.
- Valeur de retour : En cas de réussite, -pipe renvoie 0 et renvoie les identifiants du tube à handles[0] et handles[1]. Sinon, il renvoie -1 et définit
errno sur l'une des valeurs suivantes :
Constante |
Description |
EMFILE |
Trop de fichiers ouverts |
ENOMEM |
Mémoire insuffisante |
Voir également
_pclose, _popen.
Dernière mise à jour : Lundi, le 11 Mai 2020