/* FILE: sendfifo.c */ #include #include #include #include #include #define MSGSIZ 60 int main(argc, argv) int argc; char **argv; { int fd, i, nwrite; char msgbuf[MSGSIZ+1]; if (argc < 2) { printf ("Errore nel numero parametri\n"); exit (1); } /* Apertura FIFO */ if ((fd = open ("/tmp/fifo", O_WRONLY | O_NDELAY)) < 0) { printf("Errore in open\n"); exit(2); } /* Spedizione messaggi */ for (i = 1 ; i < argc; i++) { if (strlen(argv[i]) > MSGSIZ) { printf("Errore messaggio troppo lungo\n"); continue; } strcpy(msgbuf, argv[i]); if ((nwrite = write(fd, msgbuf, MSGSIZ+1)) <= 0) { printf("Errore in scrittura\n"); exit(3); } } exit(0); }