For MTE formats for other versions of OS/2 see:
Pointers
SAS field SAS_file_MFT points to the PTREE head for the MFT PTREE.
┌─────────────┬──────┬──────┬────┬────────────────────────────────────────┐│Field Name │Offset│Length│Type│Description │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_ksem │+0 │10 │S │multi read/single write semaphore │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_lptr │+10 │2 │W │16 bit offset to first LOCK record │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_sptr │+12 │4 │D │16 bit FAR pointer to first SFT in chain│ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_pCMap │+16 │4 │D │32 bit FLAT pointer to cluster map │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_CMapKSem │+1a │10 │S │semaphore for access to pCMap │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_opflags │+2a │2 │W │oplock flags │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_serl │+2c │2 │W │serial number for FCB checking │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_flags │+2e │2 │W │general purpose MFT flags │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_signature│+30 │2 │W │for sanity check │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_hvpb │+32 │2 │W │handle of vpb │ ├─────────────┼──────┼──────┼────┼────────────────────────────────────────┤ │mft_name │+34 │1 │B │start of name string (zero terminated) │ └─────────────┴──────┴──────┴────┴────────────────────────────────────────┘
mft_flags flag definitions
┌───────────────┬────────┬────────────────────────────────────────┐ │Name │Bit Mask│Description │ ├───────────────┼────────┼────────────────────────────────────────┤ │mft_pagerheap │0x0001 │MFT is allocated on pager heap │ ├───────────────┼────────┼────────────────────────────────────────┤ │MFT_DEFAULTHEAP│0x0 │MFT is allocated on kernel (heap default│ │ │ │MFT heap) │ └───────────────┴────────┴────────────────────────────────────────┘
mft_opflags flag definitions
┌─────────────────┬────────┬───────────────────────────────┐ │Name │Bit Mask│Description │ ├─────────────────┼────────┼───────────────────────────────┤ │mft_opnolock │0 │no oplock or opbatch on file │ ├─────────────────┼────────┼───────────────────────────────┤ │mft_oplock │1 │oplock on file │ ├─────────────────┼────────┼───────────────────────────────┤ │mft_opbatch │2 │opbatch on file │ ├─────────────────┼────────┼───────────────────────────────┤ │mft_opbreak │4 │oplock/batch cleanup in process│ ├─────────────────┼────────┼───────────────────────────────┤ │mft_opbreakfailed│8 │oplock/batch cleanup failed │ └─────────────────┴────────┴───────────────────────────────┘