/*************************************************************************************************************************************/
/* */
/* T R A N S M I S S I O N D E ' STANDARD_IN ' V E R S ' STANDARD_OUT ' : */
/* */
/* */
/* Author of '$xtc/inout.01$c' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). */
/* */
/*************************************************************************************************************************************/
#include <stdio.h>
#define STANDARD_IN \
0
#define STANDARD_OUT \
(STANDARD_IN+1)
#define STANDARD_ERREUR \
(STANDARD_OUT+1)
#define BUFFER \
10 \
/* Taille des buffers d'ecriture et de lecture de la commande distante. */
#define LWRITE \
BUFFER \
/* Nombre d'octets a ecrire par 'write(...)'. */
#define LREAD \
BUFFER \
/* Nombre d'octets a lire par 'read(...)'. */
main()
{
char buffer_du_write[LWRITE];
int longueur_du_write;
/* Buffer destine aux arguments de la commande distante. */
int iterer_le_write=0;
/* =0 : iterer le 'write(...)', #1 : ne plus iterer. */
char buffer_du_read[LREAD];
int longueur_du_read;
/* Buffer destine aux resultats de la commande distante. */
int iterer_le_read=0;
/* =0 : iterer le 'read(...)', #1 : ne plus iterer. */
while (iterer_le_write == 0)
{
longueur_du_write=read(STANDARD_IN,buffer_du_write,LREAD);
if (longueur_du_write > 0)
{
write(STANDARD_OUT,buffer_du_write,longueur_du_write);
/* Transfert de 'STANDARD_IN' vers 'STANDARD_OUT'. */
}
else
{
iterer_le_write++;
}
}
close(STANDARD_OUT);
close(STANDARD_IN);
}