datarecord
datarecord.txt
// Release 3.02.06
// A ROOT file is mostly a suite of consecutive data records with the following format
// <Name>;<Cycle> uniquely identifies the record in a directory
// ----------TKey-(never compressed)--------------
// byte 0->3 Nbytes = Number of bytes in compressed record (Tkey+data) TKey::fNbytes
// 4->5 Version = TKey class version identifier TKey::fVersion
// 6->9 ObjLen = Number of bytes of uncompressed data TKey::fObjLen
// 10->13 Datime = Date and time when record was written to file TKey::fDatime
// | (year-1995)<<26|month<<22|day<<17|hour<<12|minute<<6|second
// 14->15 KeyLen = Number of bytes in key structure (TKey) TKey::fKeyLen
// 16->17 Cycle = Cycle of key (e.g. 1) TKey::fCycle
// 18->21 SeekKey = Byte offset of record itself (consistency check) TKey::fSeekKey
// 22->25 SeekPdir = Byte offset of parent directory record TKey::fSeekPdir
// 26->26 lname = Number of bytes in the class name TKey::fClassName
// 27->.. ClassName = Object Class Name TKey::fClassName
// 0->0 lname = Number of bytes in the object name TNamed::fName
// 1->.. Name = lName bytes with the name of the object TNamed::fName
// 0->0 lTitle = Number of bytes in the object title TNamed::fTitle
// 1->.. Title = lTitle bytes with the title of the object TNamed::fTitle
// ----------DATA---(may be compressed)-----------
// 0->.. The data object itself. For an example, see dobject.txt