Laboratorium 3
==============
Lacza FIFO
----------
Lektura podstawowa:    Rochkind, rozdz. 7.4  
                       Stevens,  rozdz. 3.5

 
1. Kompilacja: wywolaj program `make'
2. Uzytkowanie:
     - Ustalic wartosc zmiennej srodowiskowej FIFO_NAME np.
               export FIFO_NAME=plikfifo1
     - Na kilku sesjach uruchomic test_fifo i przetestowac wszystkie przypadki.
     - Mozna wykorzystac full_fifo do zapelnienia kolejki fifo.
   Nalezy pamietac by na sesjach wartosc zmiennej FIFO_NAME byla jednakowa. 

3. Pliki:

   err.c, err.h
   	Obsluga bledow.

   fifo.h
	Wspolne definicje dla programow test_fifo.c i full_fifo.c.

   test_fifo.c
   	Program testujacy kolejke fifo - tworzenie, otwieranie,
        pisanie i czytanie (blokujace i nieblokujace), zamykanie, usuwanie.
        Nowe funkcje systemowe:
        	mknod() - tworzy kolejke/plik
        	open() - otwiera kolejke/plik
                fcntl() - modyfikuje ustawienia dla kolejki/pliku
                unlink() - usuwa kolejke/plik
   full_fifo.c
   	Program zapelniajacy kolejke fifo.

4. Uwagi: 
     Tworzenie laczy nazwanych z poziomu interpretatora polecen:
	mknod <filename> p
	mkfifo <filename>

     Przyklad:
	mkfifo fifofile   
	grep ps < fifofile &
	ps | tee fifofile >> fifofile
	rm fifofile
     Co uzyskamy w wyniku?  (tee - czyta ze standardowego wejscia i zapisuje
     do plikow bedacych argumentami i na standardowe wyjscie).
