Re: Indexf.sys koszonet

Maulis Adam <maulis@ludens.elte.hu>


Szia,


eleresi utvonal az indexf.sys -bol:

a file header-ben van egy "backlink pointer" 
ami az ot tartalmazo directory FID-je.
Abban szinten van, etc egeszen a (4,4,0) -ig,
(volume set eseten a (4,4,1) -ig) ami a master file dir.
Egy kis rekurzioval tehat megkaphato az utvonal.


Udv,
Adam

Egyebkent, erdekessegkeppen DCL megoldas kilistazza
a file headereket formazva, ha a disk 
a sztenderd INIT paranccsal lett inicializalva:
$!
$!  virtual block (1 -tol szamozodik!)
$!           start: 0+1		len: 2*vcf	(boot+)home block
$!           start: 2*vcf+1	len: vcf	backup home block
$!           start: 3*vcf+1	len: vcf	backup header of indexf.sys
$!           start: 4*vcf+1			bitmap of indexf.sys
$ vcf =  ( f$gedvi("SYS$DISK","CLUSTER") ! volume cluster factor
$! home block felepites (ami kell)
$ HM2W_IBMAPSIZE = 32 ! 16 bit, tartalmazza a bitmap meretet block-ban
$ open /read/share=write inf indexf.sys
$ read inf dummy
$ read inf record
$ close inf
$! a home block -bol kiszedem a bitmap meretet
$ mapsize = F$cvui(0,16,f$extract(HM2W_IBMAPSIZE,2, record))
$!
$ headerstart = mapsize + 4 * vcf +1
$ dump/file_header /block=(start='headerstart') indexf.sys