Re: file headers (indexf.sys)

Maulis Adam <maulis@ludens.elte.hu>

Varga Tibi irta:
>>
>> a file header-ben van egy "backlink pointer"
>
> Ezt honnan szedted ?
> Ilyet nem ir sem a System Manager's Manual, sem a

--> vms 6.2 (vagy ujabb)
$ help/mess NOALIAS /facility=SET

Tudom, ez gyengus volt.

nezd meg a freeware CD-n van egy ODS2 ertelmezo 
peldaprogram.

Az indexf.sys-t ertelmezni arra volna nagyszeru
(valaki a Postabankbol  kerdezte vagy egy eve),
hogy sysuaf rendberakas utan (uic+identifier atszamozas,
vagy ket gep merging) a diszken levo file-ok security 
allapotat kijavitani. (owner, acl)

Udv,
Maulis Adam

Ps: csemege :-)

File11-ODS2 file headers structure  
(A mezok offsete byte szerint, meretuk: a kovetkezoig tart)

FH2$B_IDOFFSET	0
FH2$B_MPOFFSET	1
FH2$B_ACOFFSET	2
FH2$B_RSOFFSET	3
FH2$W_SEG_NUM	4
FH2$W_STRUCLEV	6
FH2$W_FID	8
FH2$W_EXT_FID	14		; ha a file leirasa nem fert be egy headerbe
FH2$W_RECATTR	20
FH2$L_FILECHAR	52
(RESERVED)      56
FH2$B_MAP_INUSE	58
FH2$B_ACC_MODE	59
FH2$L_FILEOWNER 60
FH2$W_FILEPROT	64
FH2$W_BACKLINK	66              ; <-- Na, itt van:
				; ha primary header, akkor 
				; a directory ID-t tertalmazza,
				; ha extension header, akkor az elozo headert.
FH2$B_JOURNAL	72
FH2$B_RU_ACTIVE	73
(RESERVED)	74
FH2$L_HIGHWATER	76
(RESERVED)	80
FH2$R_CLASS_PROT	88   ;(	20 byte hosszu)

FH2$B_IDOFFSET altal mutatott teruleten van az ident:

FI2$T_FILENAME	0
FI2$W_REVISION	20
FI2$Q_CREDATE	22
FI2$Q_REVDATE	30
FI2$Q_EXPDATE	38
FI2$Q_BAKDATE	46
FI2$T_FILENAMEXT	54	;( 66 byte hosszu)

FH2$B_MPOFFSET altal mutatott teruleten van a 
    fizikai elhelyezkedest leiro tabla, (virtual-logical konverzio)
FH2$B_ACOFFSET altal mutatott teruleten van az access control list,
    egeszen a FH2$B_RSOFFSET altal mutatott teruletig tart.

    ez eleg bonyi, meghaladja a level kereteit :-(

Ezek az offsetek (FH2$B_IDOFFSET,FH2$B_MPOFFSET,FH2$B_ACOFFSET,FH2$B_RSOFFSET)
nem byte-ban, hanem word (16 bit) -enkent szamolnak, vagyis a byte
offsetet FH2$B_IDOFFSET * 2 -vel kapod meg.