---------------------------------------------------------------------------------------------------
					basic-test-READ.h
---------------------------------------------------------------------------------------------------
funkcja:
int check_input(char *input) 

funkcja 'basic' (patrz: opis-READ.txt) sprawdzajaca formularz READ
zwraca 0 jesli natrafi przu spradzaniu na jedna z sytuacji:
1. przekazany w formularzu string jest niepoprawny (parser)
2. klient wpisal niewlasciwe ID i PIN (uwaga klient moze zostac zablokowany jesli popelni trzy bledy
3. klient wpisal niewlasciwa date w zamowieniu 
zwraca 1 jesli formularz przejdze przez powyzsze testy poprawnie

funkcje skaldowe znajduja sie
w katalogu lib/

#include "lib/parser_read.h"
#include "lib/chkpass.h"
#inclde "lib/chdate.h"




---------------------------------------------------------------------------------------------------
					plik file-test.h
---------------------------------------------------------------------------------------------------
uwaga plik testujacy dzialanie funkcji znajduje sie w pliku file-test.c

----------
funkcja 1:
----------
int check_client_access(const char *filename, const char *clientID, const char *checkey)

jest to funkcja gowna do sprawdzania czy kilent moze miec dostep do [zasob].MS


1. czy metryczka istnieje - zwraca 0 jesli nie istnieje oraz inof w lancuchu: str_REPLY przyczne bledu
	jesli metryczka (MS) istnieje to pobiera z niej dane do dalszego testowania
2. sprawdza czy zaob jest CONFIDENTIAL i czy klient ma wazny dostep do plku,
	zwraca 1 jesli klient ma prawo pobeac ten plik z flaga CONFIDENTIAL
	zwraca 0 jesli plik nie moze byc pobrany oraz przyczne odmowy w str_REPLY
3. spradza czy plik jest PRIVATE i czy klient znajduje sie w grupie upowaznionych 
	t.j. ALL.grp lub [filename].grp, 
	odmowa jest zwracana jako 0 lub 1 jesli plik jest public
	jeli wystapi 0 to rowniez przyczyny sa prekazwyane do str_REPY

-----------
funkcja 2:
-----------
int check_client_PRIORITY(const char *clientID)

funkcja glowna sprawdzania PRIORITY 

funkcja zwraca 0 jesli oraz info w str_REPLY jesli plik flaga jest NORMAL
fukcja zwraca 0 oraz powod bledu jesli flaga HP i client nie otrzymal zezwolenia do korzystania
z wymuszenia kolejki zlecan
zwraca 1 oraz info o sukcesie w str_REPLY jesli zadanie bylo o tryb HP

---------------------------------------------------------------------------------------------------
					plik queue-READ.h
---------------------------------------------------------------------------------------------------

w pliku queue-READ.h znajduja sie dwie funkcje zbiorcze

funkcja 1:

do_stos_rn(conast  char *year, const char *month, const char*day, const char*client_ID, const char* firlname)

funkcja zapisuje na stos kolejki stos_rn zlecenia READ dla trybu NORMAL. Ponadto, funkcja kreuje sciezke oraz plik stos_rnm jesli jeszcze taki pli nie istneje. Plik stos_rn znajduje sie:
/home/ARCHI01/001B/DOIT/year/month/day/TABLE/STOS/stos_rn
Jesli plik  stos_rn juz istnieje to funkcja dopisuje zlecenie na stos kolejki.

funkcja 2:

do_stos_rh(conast  char *year, const char *month, const char*day, const char*client_ID, const char* firlname)

Funkcja dziaa dokladnie tak samo jak do_stos_rn z tym, ze jest ona przewidziania dla trybu H-P.
funkcja tworzy oraz/lub zapisuje dane do pliku stos_rh. 

format pliku stos_rn oraz stos_rh wyglada nastepujeco:
linia 1 seg_time:offset_time:clientID:filename& //na koncu jest &
linia 2              ...
  .
  .
  .
linia n-ta           ...

seg_time jest 10 bajtowym zapisem liczby sekund od 1 stycznia 1970 roku (Epoka UNIX)
offset_time jest 10 bajtowym zapisem czasu z dokladnoscia nanosekund
clientID - 7 bajtwow
filename - 12 bajtow
Uwaga na koncu zmajduje sie znak "&"




