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.