
*********************************************************************************
*------------------------------------------------------------------------------	*
*		Tworzenie i porzadkowanie kolejki TODO_X (X=N, H, W)	       	*
*		     ze stosow: stos_rn, stos_rh, stos_w		       	*
*-------------------------------------------------------------------------------*
*									       	*
*										*
*										*
*-------------------------------------------------------------------------------*
*			   Proces tworzenia kolejki TODO			*
*-------------------------------------------------------------------------------*
*     kolejnosc wykonywania przeksztalcen kolejki /mnt/tmp/TODO_X (X=N,H,W)	*
*										*
*	mapstosX --> add_trig_X --> organizeX --> end_todoX (gdzie X=N,H,W)	*
*										*
*********************************************************************************

					***

-------------------------------------------------------------------------------
				     PRE_STOS/
-------------------------------------------------------------------------------
			   mapstosN, mapstosN, mapstosW
-------------------------------------------------------------------------------

pobiera dane ze stosow 
zrejestrowanych ARCHIxxxx w /home/SYSQS/ARCHI_REGISTER_X
gdzie X=(N,H,W)
  
(/home/ARCHIxxxx/001B/DOIT/yy/mm/dd/TABLE/STOS/stos_rn [stos_rh, stos_w])

max do 10 zadan przestawiane w source linia: #define NR_LINES_TO_READ 10
mozna wylaczyc filtr rdukujacy powtorzone zamowienia, przestawiajac
w Globalnych Zmiennych: swfilter=0 gdzie 0-off, 1 - on (UWAGA! Nie nalezy
tego robic w przypadku mapsotsW.c poniewaz kazde zamowienie nie powoduje
akcji i zamowienie bedzie zredukowane w po potwierdzeni (lub nie)
inforarmacji wysladnej do STATUSU. 


ostania pozycje mapowania (mmap) stosow zapisuje do pliku:
/mnt/tmp/ARCHI_REGISTER_X (X=N,H,W)
np:
ARCHI0001&258 <-- liczba oznaza ostania pozycje mamp stosu
ARCHI0002&0   
ARCHI0003&0
ARCHI0004&0
ARCHI0005&0

o godzinie 23:59 pozycje sa zerowane tzn. arlarm_clock przenosi z:
(default wartosci)/home/SYSQS/ARCHI_REGISTER_X gdzie X=N,H,W
do katalogu roboczego: /mnt/tmp/ARCHI_REGISTER_X gdzie X=N,H,W

postac danych zapisanych w kolejkach (pliki)
/mnt/tmp/TODO_X (X=N,H)
np: /mnt/tmp/TODO_N (tak samo wyglada to w /mnt/tmp/TODO_H)
ARCHI0001&1404252170:260640283:2211190:000000000002&
ARCHI0001&1404253302:683560281:2211190:000000000001&

TODO_W na tym etapie wyglada nastepujaca:
ARCHI0001&1415051665:556300286:2211194:20141103:PUB:ON:003&
ARCHI0001&1415051693:385375520:2211194:20141103:PUB:ON:003&
------------------------------------------------------------------------------
------------------------------------------------------------------------------
			add_trigN, add_trigW, add_trigH
------------------------------------------------------------------------------
dodaje TRIGGxxxx do stringow zawierajacych zarejestrowane ARCHIxxxx
np. po mastosN string wyglada nastepujaco /mnt/tmp/TODO_N:
ARCHI0001&1404252170:260640283:2211190:000000000002&
ARCHI0001&1404253302:683560281:2211190:000000000001&

po dodaniu TRIGGxxxx, plik /mnt/tmp/TODO_N (rowniez TODO_H)wyglada nastepujaco:
TRIGGxxxx&ARCHI0001&FN=000000000002&ID=2211190&ORDER=1404252170:260640283&
TRIGGxxxx&ARCHI0001&FN=000000000001&ID=2211190&ORDER=1404253302:683560281&
------------------------------------------------------------------------------
------------------------------------------------------------------------------
			organizeN, organizeH, organizeW
------------------------------------------------------------------------------
porzadkuje kolejke od najmnieszego do najwiekszego 
wzgledem ORDER=<czas zgloszenia pobierany z zegara systemowego>
------------------------------------------------------------------------------
------------------------------------------------------------------------------
OPIS:
TRIGGxxxx - 	triger (na tym etapie nie przypisuje TRIGGERA bo dzialaniem jest zapis do bufora
ARCHI0001- 	ARCHI tu jest juz ARCHI przypisane co wynika z przypisania klienta do ARCHI
FN - 		prototyp nazwy pliku, bedzie uzupelniony przez aplikacje mk_write
AT -		PUB(PUBLIC)/PRI(PRIVATE)/CON(CONFIDENTIAL) flaga dostepu do pliku
ME -		flaga ON lub OF(OFF) jesli bedzie dolaczony plik meadanych
ID - 		identyfikator klienta
ORDER - 	przypisany numer zamowienia wyznaczony przy skladaniu zamowienia (zegarowo)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------




-------------------------------------------------------------------------------
				Przeksztalcenie finalne
-------------------------------------------------------------------------------

Brak jest przeksztalceia end_todoN oraz end_todoH.
 
Dla end_todoW:
Uruchamiany jest /mnt/tmp/NUMERATOR, ktory dodaje cztery cyfry do stringu yymmdd
Jesli plik nie istnieje jeszcze w /mnt/tmp/ to end_todoW zaklada plik z numerem
stratowym --> 0001. 
Kolejne pliki do zapisu beda miay kolejne numery dodane do numerycznej daty. 
Postac finalna stringow w TODO_W wygglada np.:
TRIGGxxxx&ARCHI0001&FN=201411030013001500170001&AT=PUB&ME=ON&CP=003&ID=2211194&ORDER=1415051665:556300286&
TRIGGxxxx&ARCHI0001&FN=201411030014001600180002&AT=PUB&ME=ON&CP=003&ID=2211194&ORDER=1415051693:385375520&

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
		clear_todo - Czyszczenie kolejki TODO_X (X = N,H,W)
--------------------------------------------------------------------------------

Mechnaizm czyszcznia TODO_X (N,H,W) jest wbudowny w aplikacje queue_TODO.c

Jest rowieniez dostepna niezalezna aplikacja czyszczaca w pamieci RAM 
(/mnt/tmp/) kolejki TODO_X(N,H,W)

aplikacja usuwa pliki 
/mnt/tmp/TODO_N, 
/mnt/tmp/TODO_H, 
/mnt/tmp/TODO_W


clear_todo parametr
parametr: TODO_X (X = N,H,W)

np. clear_todo TODO_N 

-------------------------------------------------------------------------------

