ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-
Prostota a primitivnost sama / /
DoSfS / /
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Ahoj, tak jsem tu zase, abych vás opìt tro¹ku pootravoval tìmi svými
nesmysly. No, co se dá dìlat...
Kdysi jsem tu nìkterým netrpìlivcùm nechal tabulku struktury jedné
adresáøové polo¾ky. Je na èase, abych jí tro¹ku objasnil. Tak¾e
nejdøív ji sem znova strèit...
C: ³Komentáøe: ³Pascal:
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
filename[7] ³ ³ filename:array[0..7]of char
ext[2] ³ ³ ext:array[0..2]of char
char attr ³ ³ attr:byte
char reserved[8] ³ ³ reserved:array[0..8]of char
unsigned int time ³ LSB MSB ³ time:word
unsigned int date ³ LSB MSB ³ date:word
unsigned int abno ³È. Alok. Bloku L M³ abno:word
unsigned long size ³LSB(L M) MSB(L M) ³ size:longint {neznamenkovy!}
Directory entry
Tak¾e na zaèátku je jméno souboru (8 písmen), ihned za ním (¾ádné
teèky nebo tak podobnì!) následuje 3písmenná pøípona, potom
atributový byte, rezervovaný kus, èas a datum posledního pøístupu
(takové pochybné...:), èíslo prvního AB (alok. bloku, prostì
clusteru) souboru (blí¾e viz FAT) a velikost souboru. Teï podrobnì o
jednotlivých polo¾kách:
³ Jméno souboru:
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Zdálo by se není co dodat, ale to by se jenom zdálo... Ono první
písmeno jména souboru je docela dùle¾ité... Tak¾e:
00h - neobsazená polo¾ka - tou konèí pro DOS adresáø a i kdy¾ jsou
za ní nìjaké smysluplné polo¾ky, prostì jakoby nebyly...
E5h - zru¹ený soubor. Tzn. pøi jeho mazání se vlastnì pouze
modifikuje FATka a pøed polo¾ku se strèí tohle. DOS ji
mù¾e kdykoliv vymìnit za nìjaký nový soubor, ale dokud
se tak nestane, lze nìjak (kdy¾ máte ¹tìstí) polo¾ku
obnovit... (pozn. - pokud chcete nìjakou polo¾ku ruènì z adresáøe
vy¹kodit nìjakým diskeditorem, E5h dostanete kombinací ALT+229 na
numerické klávesnici)
05h - nahrazuje E5h. Tzn. pokud chcete mít na zaèátku jména souboru E5h,
máte díky 05h mo¾nost...
2Eh - (teèka) pokud je jedna, tak je to polo¾ka adresáøe, ve kterém
právì je - ukazuje "sama na sebe" a musí být v ka¾dém podadresáøi.
Pokud jsou dvì, ukazují na rodièovský adresáø a také musí být v
ka¾dém podadreesáøi.
no a cokoliv jiného je prostì 1. znak... :)
Pøípona jména je bez problémù.
³ Atributy souboru:
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-
Tak to u¾ je opìt zajímavé. Co bit to atribut, tak sledujte:
Bit 0 - ReadOnly soubor - jenom pro ètení. Kdy¾ ho otevøete DOSem pro
zápis, zaène nadávat.
Bit 1 - Hidden soubor - skrytý soubor. Nejni zahrnut do norm. DOSového
hledání v adresáøi.
Bit 2 - System soubor - toté¾ co Hidden, System soubor je vìt¹inou toti¾
i Hidden...
Bit 3 - Polo¾ka (jméno+pøípona) oznaèuje název disku (proto je omezen
11ti písmeny, pokud jste si øíkali proè zrovna takhle blbì...).
Kdy¾ existuje jinde ne¾ v koøenovém adresáøi, nedìlá to
dobrotu...
Bit 4 - Polo¾ka ukazuje na podadresáø (vìt¹. size=0!)
Bit 5 - Archivní bit - viz dokumentace k pøíkazùm BACKUP a RESTORE.
Pokud je nepou¾íváte, mù¾ete si ho vyu¾ít k vlastním úèelùm - je
nastaven pøi ka¾dém zápisu do souboru a nulován právì BACKUPem -
potom pozná který soubor se od posl. zálohování zmìnil.
Pozn.: ne, není to náhoda, ¾e tato maska shoduje s konstantami v Ccku i v
TurboPascalu :)
³ Èas souboru:
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Urèuje èas poslední modifikace souboru:
³ MSB ³ LSB ³ hh=bin. èíslo 0-23 (hodiny)
ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´ mm=bin. èíslo 0-59 (minuty)
³hhhhhmmm³mmmsssss³ ss=bin. èíslo sekund ve dvousekundových
ÃÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄ´ pøírustcích
³15 0³ Èas je ulo¾en v poøadí LSB MSB
³ Datum souboru:
+ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Urèuje datum poslední modifikace souboru:
³ MSB ³ LSB ³ rr=rok, 0-119 (1980-2099)
ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´ mm=mìsíc, 1-12
³rrrrrrrm³mmmddddd³ dd=den, 1-31
ÃÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄ´
³15 0³ Datum je ulo¾en v poøadí LSB MSB
³ Èíslo prvního AB:
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-
Urèuje èíslo prvního alokaèního bloku (clusteru) ve kterém je ulo¾en
soubor (min. è. 2) - blí¾e viz FATka.
Velikost souboru v je v bytech, není co dodat.
Tak, to bychom mìli toto. Pøí¹tì se koukneme na poslední èást, a to
na FAT tabulku. Pokud nìkdo nìèemu nerozumíte, neostýchejte se a v
pohodì mailujte na pasky@pruvodce.cz, ceres@post.cz nebo
pasky@libra.sinus.cz nebo na nìjaký jiný mùj e-mail
(pasky@cyberspace.cz, kkcc@poboxes.com, apod...), pokud je vám jedno
¾e si toho v¹imnu tak do jednoho roku...
Tak pac a pusu, pasky.
Jakmile sesmolím tøetí èást, dopøedu ji najdete na adrese
http://fly.to/pasky
nebo pokud se vám nelíbí reklama tak
http://lide.pruvodce.cz/pasky
Hodnì ¹tìstí!
(definitivnì dokonèeno, zformátováno a pøipraveno k odeslání v hvìzdné
datum 31081999/2025)
ÄÄ
- (:c:) Pasky 1999 - http://fly.to/pasky
- ceres@post.cz - pasky@libra.sinus.cz
ÄÄ-
PostScriptum: Omlouvám se za prùbì¾né mìnìní háèkování znakù, mùj nenapra-
vitelný zlozvyk :)