[Imprint][Data Privacy Statement][E-Mail]

Back to main index. View the specification. View theorem base summary, View theorem base listing, the used properties by spec, the dependency list, the symbol table,

Signature symbols in this unit

Symbol Specification Kind Type
# .stringfstring → nat
# .buffer-inffbuffer-inf → natinf
# .dir-entriesfdir-entries → nat
# .buffer-inffdatalist → nat
# .dir-entriesfstringset → nat
# .alink-setfalink-set → nat
# .dir-heapfnat-set → nat
# .pathfpath → nat
# .dir-heapfdir-heap → nat
# .file-heapffile-heap → nat
# .bufferfbuffer → nat
# .file-contentffile-content → nat
. % .nat-divpfnat × nat → nat with λ n, m. m ≠ 0
. 'buffer-inffdata → datalist
. 'stringfchar → string
. 'pathfstring → path
. * .nat-multfnat × nat → nat
. * .dir-heapf(dir-heap → bool) × (dir-heap → bool) → dir-heap → bool
. * .file-heapf(file-heap → bool) × (file-heap → bool) → file-heap → bool
. + .nat-basicfnat × nat → nat
. + .buffer-inffbuffer-inf × buffer-inf → buffer-inf
. + .stringfchar × string → string
. + .buffer-inffdata × buffer-inf → buffer-inf
. + .stringfstring × string → string
. + .nat-inffnatinf × natinf → natinf
. + .stringfstring × char → string
. + .bufferfbuffer × buffer → buffer
. + .buffer-inffdatalist × data → datalist
. + .pathfstring × path → path
. + .buffer-inffdatalist × datalist → datalist
. + .pathfpath × path → path
. + .buffer-inffdata × datalist → datalist
. + .pathfpath × string → path
. ++ .buffer-inffdatalist × data → datalist
. ++ .stringfstring × char → string
. ++ .alink-setfalink-set × alink → alink-set
. ++ .dir-entriesfstringset × string → stringset
. ++ .pathfpath × string → path
. ++ .dir-heapfnat-set × nat → nat-set
. ++ .file-heapffile-heap × nat → file-heap
. ++ .dir-heapfdir-heap × nat → dir-heap
. +1nat-basicfnat → nat
. +2 .stringfchar × char → string
. +2 .pathfstring × string → path
. +2 .buffer-inffdata × data → datalist
. - .natpfnat × nat → nat with λ n, m. n ≥ m
. -* .file-heapf(file-heap → bool) × (file-heap → bool) → file-heap → bool
. -* .dir-heapf(dir-heap → bool) × (dir-heap → bool) → dir-heap → bool
. -- .dir-entriesfdir-entries × string → dir-entries
. -- .alink-setfalink-set × alink → alink-set
. -- .dir-entriesfstringset × string → stringset
. -- .dir-heapfnat-set × nat → nat-set
. -- .file-heapffile-heap × nat → file-heap
. -- .dir-heapfdir-heap × nat → dir-heap
. -- .file-contentffile-content × nat → file-content
. -> .file-heapf(file-heap → bool) × (file-heap → bool) → file-heap → bool
. -> .dir-heapf(dir-heap → bool) × (dir-heap → bool) → dir-heap → bool
. -⊗ .dir-heapf(dir-heap → bool) × (dir-heap → bool) → dir-heap → bool
. -⊗ .file-heapf(file-heap → bool) × (file-heap → bool) → file-heap → bool
. -1nat-basicpfnat → nat with λ n. n ≠ 0
. -1l .stringfstring × char → string
. -1l .buffer-inffdatalist × data → datalist
. -1l .pathfpath × string → path
. -l .stringfstring × char → string
. -l .buffer-inffdatalist × data → datalist
. -l .pathfpath × string → path
. -p .stringfstring × nat → string
. -p .pathfpath × nat → path
. -p .buffer-inffdatalist × nat → datalist
. .bufbuffer-inf-convfbuffer-inf → buffer
. .butlastbuffer-infpfdatalist → datalist with λ dx. dx ≠ []
. .butlaststringpfstring → string with λ str. str ≠ ""
. .char1stringpfstring → char with λ str. str ≠ ""
. .contentabstract-filefabstract-file → file-content
. .content:= .abstract-filefabstract-file × file-content → abstract-file
. .dentry?dentrypdentry
. .directoryinodepinode
. .directory:= .inodefinode × bool → inode
. .entriesabstract-dirfabstract-dir → dir-entries
. .entries:= .abstract-dirfabstract-dir × dir-entries → abstract-dir
. .fbuffer-infpfbuffer-inf → nat → data with λ σ0. λ m. ∃ nf0. σ0 = ⌜nf0⌝
. .headbuffer-infpfdatalist → data with λ dx. dx ≠ []
. .headpathpfpath → string with λ p. p ≠ ε
. .inoinodefinode → nat
. .inodentrypfdentry → nat with λ dent. dent.dentry?
. .ino:= .dentrypfdentry × nat → dentry with λ dent, m. dent.dentry?
. .ino:= .inodefinode × nat → inode
. .lbuffer-infpfbuffer-inf → datalist with λ σ0. finp(σ0)
. .laststringpfstring → char with λ str. str ≠ ""
. .lastbuffer-infpfdatalist → data with λ dx. dx ≠ []
. .lastpathpfpath → string with λ p. p ≠ ε
. .metaabstract-dirfabstract-dir → metadata
. .metaabstract-filefabstract-file → metadata
. .metainodefinode → metadata
. .meta:= .inodefinode × metadata → inode
. .meta:= .abstract-dirfabstract-dir × metadata → abstract-dir
. .meta:= .abstract-filefabstract-file × metadata → abstract-file
. .nnat-infpfnatinf → nat with λ n∞. n∞ ≠ ∞
. .namealinkfalink → string
. .namedentryfdentry → string
. .name:= .dentryfdentry × string → dentry
. .negdentry?dentrypdentry
. .nlinkabstract-dirfabstract-dir → nat
. .nlinkabstract-filefabstract-file → nat
. .nlinkinodefinode → nat
. .nlink:= .inodefinode × nat → inode
. .nlink:= .abstract-dirfabstract-dir × nat → abstract-dir
. .nlink:= .abstract-filefabstract-file × nat → abstract-file
. .nsubdirsabstract-dirfabstract-dir → nat
. .nsubdirsinodefinode → nat
. .nsubdirs:= .inodefinode × nat → inode
. .nsubdirs:= .abstract-dirfabstract-dir × nat → abstract-dir
. .pinoalinkfalink → nat
. .rstringstringpfstring → string with λ str. str ≠ ""
. .sizeabstract-dirfabstract-dir → nat
. .sizeinodefinode → nat
. .sizeabstract-filefabstract-file → nat
. .size:= .abstract-dirfabstract-dir × nat → abstract-dir
. .size:= .abstract-filefabstract-file × nat → abstract-file
. .size:= .inodefinode × nat → inode
. .streamafs-streamffile-content → buffer-inf
. .tailbuffer-infpfdatalist → datalist with λ dx. dx ≠ []
. .tailpathpfpath → path with λ p. p ≠ ε
. / .nat-divpfnat × nat → nat with λ n, m. m ≠ 0
. < .nat-basicpnat × nat
. < .nat-infpnatinf × natinf
. < .pathppath × path
. < .buffer-infpdatalist × datalist
. => .dir-heapfnat × abstract-dir → dir-heap → bool
. => .file-heapfnat × abstract-file → file-heap → bool
. =>addir-heapfnat → dir-heap → bool
. =>ad?dir-heapfnat → dir-heap → bool
. =>affile-heapfnat → file-heap → bool
. =>af?file-heapfnat → file-heap → bool
. > .natpnat × nat
. [ . ]buffer-infpfbuffer-inf × nat × data → buffer-inf with λ σ, n, d. finp(σ) → ⌜n⌝ < # σ
. [ . ]dir-entriesfdir-entries × string × nat → dir-entries
. [ . ]buffer-infpfbuffer-inf × nat → data with λ σ, n. finp(σ) → ⌜n⌝ < # σ
. [ . ]buffer-infpfdatalist × nat × data → datalist with λ dx, n, d. n < # dx
. [ . ]buffer-infpfdatalist × nat → data with λ dx, n. n < # dx
. [ . ]pathpfpath × nat × string → path with λ p, n, str. n < # p
. [ . ]dir-heapfdir-heap × nat → abstract-dir
. [ . ]pathpfpath × nat → string with λ p, n. n < # p
. [ . ]dir-heapfdir-heap × nat × abstract-dir → dir-heap
. [ . ]file-contentpffile-content × nat → buffer with λ content, n. n ∈ content
. [ . ]file-contentffile-content × nat × buffer → file-content
. [ . ]bufferpfbuffer × nat × data → buffer with λ buf, n, d. n < # buf
. [ . ]file-heapffile-heap × nat → abstract-file
. [ . ]bufferpfbuffer × nat → data with λ buf, n. n < # buf
. [ . ]file-heapffile-heap × nat × abstract-file → file-heap
. [ . ]dir-entriespfdir-entries × string → nat with λ entries, str. str ∈ entries
. [ . ]stringpfstring × nat → char with λ str, n. n < # str
. [ . ]stringpfstring × nat × char → string with λ str, n, char. n < # str
. \ .dir-entriesfstringset × stringset → stringset
. \ .dir-entriesfdir-entries × stringset → dir-entries
. \ .alink-setfalink-set × alink-set → alink-set
. \ .file-heapffile-heap × file-heap → file-heap
. \ .dir-heapfnat-set × nat-set → nat-set
. \ .file-heapffile-heap × nat-set → file-heap
. \ .dir-heapfdir-heap × nat-set → dir-heap
. \ .dir-heapfdir-heap × dir-heap → dir-heap
. | .dir-entriesfdir-entries × stringset → dir-entries
. ~ .afs-streampfile-heap × file-heap
. ∈ .stringpchar × string
. ∈ .buffer-infpdata × datalist
. ∈ .dir-entriespstring × dir-entries
. ∈ .alink-setpalink × alink-set
. ∈ .dir-entriespstring × stringset
. ∈ .pathpstring × path
. ∈ .dir-entriespnat × dir-entries
. ∈ .file-heappnat × file-heap
. ∈ .dir-heappnat × nat-set
. ∈ .file-contentpnat × file-content
. ∈ .dir-heappnat × dir-heap
. ∈ .bufferpdata × buffer
. ∩ .dir-entriesfstringset × stringset → stringset
. ∩ .alink-setfalink-set × alink-set → alink-set
. ∩ .dir-heapfnat-set × nat-set → nat-set
. ∪ .dir-entriesfstringset × stringset → stringset
. ∪ .dir-heapfnat-set × nat-set → nat-set
. ∪ .dir-heapfdir-heap × dir-heap → dir-heap
. ∪ .alink-setfalink-set × alink-set → alink-set
. ∪ .file-heapffile-heap × file-heap → file-heap
. ≡ .file-heappfile-heap × file-heap
. ≡ .dir-heappdir-heap × dir-heap
. ≤ .buffer-infpbuffer-inf × buffer-inf
. ≤ .natpnat × nat
. ≥ .natpnat × nat
. ⊆ .alink-setpalink-set × alink-set
. ⊆ .dir-entriespdir-entries × dir-entries
. ⊆ .file-heapp(file-heap → bool) × (file-heap → bool)
. ⊆ .dir-entriespstringset × stringset
. ⊆ .file-heappfile-heap × file-heap
. ⊆ .dir-heappnat-set × nat-set
. ⊆ .file-contentpfile-content × file-content
. ⊆ .dir-heappdir-heap × dir-heap
. ⊆ .dir-heapp(dir-heap → bool) × (dir-heap → bool)
. ⊑ .buffer-infpdatalist × datalist
. ⊑ .stringpstring × string
. ⊑ .pathppath × path
. ⊒ .buffer-infpdatalist × datalist
. ⊒ .stringpstring × string
. ⊒ .pathppath × path
. ⊕ .dir-entriesfdir-entries × dir-entries → dir-entries
. ⊗ .dir-heapf(dir-heap → bool) × (dir-heap → bool) → dir-heap → bool
. ⊗ .file-heapf(file-heap → bool) × (file-heap → bool) → file-heap → bool
. ⊥ .file-heappfile-heap × file-heap
. ⊥ .dir-heappdir-heap × dir-heap
. and .dir-heapf(dir-heap → bool) × (dir-heap → bool) → dir-heap → bool
. and .file-heapf(file-heap → bool) × (file-heap → bool) → file-heap → bool
. from .buffer-infpfdatalist × nat → datalist with λ dx, n. n ≤ # dx
. from .buffer-infpfbuffer-inf × nat → buffer-inf with λ σ, n. finp(σ) → ⌜n⌝ < # σ ∨ ⌜n⌝ = # σ
. from .buffer-inff(nat → data) × nat → nat → data
. or .dir-heapf(dir-heap → bool) × (dir-heap → bool) → dir-heap → bool
. or .file-heapf(file-heap → bool) × (file-heap → bool) → file-heap → bool
. to .buffer-infpfdatalist × nat → datalist with λ dx, n. n ≤ # dx
. to .buffer-inff(nat → data) × nat → datalist
. to .buffer-infpfbuffer-inf × nat → buffer-inf with λ σ, n. finp(σ) → ⌜n⌝ < # σ ∨ ⌜n⌝ = # σ
. to∞ .buffer-infpfbuffer-inf × natinf → buffer-inf with λ σ, n∞. finp(σ) → n∞ < # σ ∨ n∞ = # σ
. upto .afs-baseffile-content × nat → file-content
[]buffer-infcdatalist
[]buffer-infcbuffer-inf
_∃ .file-heapf(abstract-file → file-heap → bool) → file-heap → bool
_∃ .dir-heapf(nat → dir-heap → bool) → dir-heap → bool
_∃ .file-heapf(nat × nat → file-heap → bool) → file-heap → bool
_∃ .dir-heapf(nat × nat → dir-heap → bool) → dir-heap → bool
_∃ .file-heapf(nat → file-heap → bool) → file-heap → bool
_∃ .dir-heapf(abstract-dir → dir-heap → bool) → dir-heap → bool
{ . }alink-setfalink → alink-set
{ . }dir-entriesfstring → stringset
{ . }file-heapffile-heap → file-heap → bool
{ . }dir-heapfnat → nat-set
{ . }dir-heapfdir-heap → dir-heap → bool
εpathcpath
σbuffer-infvbuffer-inf
σ⊥buffer-inf-convcbuffer-inf
σ1buffer-infvbuffer-inf
σ2buffer-infvbuffer-inf
∅dir-entriescdir-entries
∅dir-entriescstringset
∅dir-heapcnat-set
∅dir-heapcdir-heap
∅file-contentcfile-content
∅file-heapcfile-heap
∅alink-setcalink-set
∞nat-infcnatinf
⊏stringpstring × string
⌜ . ⌝dir-heapfbool → dir-heap → bool
⌜ . ⌝buffer-inf-convfbuffer → buffer-inf
⌜ . ⌝file-heapfbool → file-heap → bool
⌜ . ⌝nat-inffnat → natinf
⌜ . ⌝buffer-inffdatalist → buffer-inf
⌜ . ⌝buffer-inff(nat → data) → buffer-inf
Ddir-heapvdir-heap → bool
D0dir-heapvdir-heap → bool
D1dir-heapvdir-heap → bool
D2dir-heapvdir-heap → bool
Ffile-heapvfile-heap → bool
F0file-heapvfile-heap → bool
F1file-heapvfile-heap → bool
F2file-heapvfile-heap → bool
ROOT_INOroot-inocnat
Trueseparationpbool
VFS_PAGE_SIZEpagecnat
abstract-dirabstract-dirs
abstract-fileabstract-files
adabstract-dirvabstract-dir
ad0dir-heapvabstract-dir
ad1dir-heapvabstract-dir
adDdir-heapvabstract-dir → dir-heap → bool
adFfile-heapvabstract-file → file-heap → bool
afabstract-filevabstract-file
af0file-heapvabstract-file
af1file-heapvabstract-file
afs-consafs-basepdir-heap × file-heap
alinkalinks
alinkalinkvalink
alink-setalink-sets
alink0alink-setvalink
alink1alink-setvalink
boolvarinodevbool
boolvar0inodevbool
bufbuffervbuffer
buf0buffervbuffer
buf1buffervbuffer
buf2buffervbuffer
bufferbuffers
buffer-infbuffer-infs
butlastnbuffer-infpfnat × datalist → datalist with λ n, dx. n ≤ # dx
butlastnpathpfnat × path → path with λ n, p. n ≤ # p
butlastnstringpfnat × string → string with λ n, str. n ≤ # str
bvheap-sepvbool
charchars
charcharvchar
char0charvchar
char1charvchar
char2charvchar
cmpbufferppbuffer × data × nat × nat with λ buf, d, m, n. m + n ≤ # buf
cmpbufferppbuffer × nat × buffer × nat × nat with λ buf, m, buf0, m0, n. m + n ≤ # buf ∧ m0 + n ≤ # buf0
contentfile-contentvfile-content
content0file-contentvfile-content
content1file-contentvfile-content
content2file-contentvfile-content
copybufferpfbuffer × nat × buffer × nat × nat → buffer with λ buf, m, buf0, m0, n. m + n ≤ # buf ∧ m0 + n ≤ # buf0
ddatavdata
d0datavdata
d1datavdata
d2datavdata
datadatas
datalistbuffer-infs
dentdentryvdentry
dentrydentrys
dir-emptyafs-basepnat × dir-heap × file-heap
dir-entriesdir-entriess
dir-heapdir-heaps
dirsdir-heapvdir-heap
dirs0dir-heapvdir-heap
dirs1dir-heapvdir-heap
dirs2dir-heapvdir-heap
disjstringpstring × string
disjbuffer-infpdatalist × datalist
disjpathppath × path
dom .dir-entriesfdir-entries → stringset
dupsstringpstring
dupspathppath
dupsbuffer-infpdatalist
dxbuffer-infvdatalist
dx0buffer-infvdatalist
dx1buffer-infvdatalist
dx3buffer-infvdatalist
dx7buffer-infvdatalist
empdir-heappdir-heap
empfile-heappfile-heap
emptybuffercdata
entriesdir-entriesvdir-entries
entries0dir-entriesvdir-entries
entries1dir-entriesvdir-entries
entries2dir-entriesvdir-entries
falsedir-heappdir-heap
falsefile-heappfile-heap
file-contentfile-contents
file-heapfile-heaps
filesfile-heapvfile-heap
files0file-heapvfile-heap
files1file-heapvfile-heap
files2file-heapvfile-heap
fillbufferpfbuffer × data × nat × nat → buffer with λ buf, d, n, m. n + m ≤ # buf
fillbufferfbuffer × data → buffer
fillfirststringfnat × char × string → string
fillfirstpathfnat × string × path → path
fillfirstbuffer-inffnat × data × datalist → datalist
finpbuffer-infpbuffer-inf
firstnbuffer-infpfnat × datalist → datalist with λ n, dx. n ≤ # dx
firstnpathpfnat × path → path with λ n, p. n ≤ # p
firstnstringpfnat × string → string with λ n, str. n ≤ # str
fromestringfstring × char → string
fromepathfpath × string → path
fromebuffer-inffdatalist × data → datalist
getbyteafs-streamfnat × file-content → data
getinodeafs-basefnat × dir-heap × file-heap → inode
getpageafs-streamfnat × file-content → buffer
hdbuffer-infpfbuffer-inf → data with λ σ. σ ≠ []
id○bufferpbuffer × buffer × nat
idrangebufferppbuffer × nat × nat with λ buf, m, n. m + n ≤ # buf
inofile-heapvnat
ino0file-heapvnat
ino1file-heapvnat
ino2dir-entriesvnat
inodeinodes
inodeinodevinode
ispathafs-baseppath × nat × nat × dir-heap × file-heap
ispathafs-baseppath × nat × dir-heap × file-heap
itedir-heapfbool × (dir-heap → bool) × (dir-heap → bool) → dir-heap → bool
itefile-heapfbool × (file-heap → bool) × (file-heap → bool) → file-heap → bool
lastnbuffer-infpfnat × datalist → datalist with λ n, dx. n ≤ # dx
lastnpathpfnat × path → path with λ n, p. n ≤ # p
lastnstringpfnat × string → string with λ n, str. n ≤ # str
linksafs-basefnat × dir-heap → alink-set
lookupafs-basefpath × nat × dir-heap × file-heap → nat
lsalink-setvalink-set
ls0alink-setvalink-set
ls1alink-setvalink-set
ls2alink-setvalink-set
mnat-basicvnat
m0inodevnat
m1inodevnat
m2inodevnat
m3inodevnat
m4inodevnat
m5inodevnat
m6inodevnat
maxmin-maxfnat × nat → nat
mdmetadatavmetadata
md0inodevmetadata
metaafs-basefpath × nat × dir-heap × file-heap → metadata
metadatametadatas
minnat-inffnatinf × natinf → natinf
minmin-maxfnat × nat → nat
mkbufbufferfnat → buffer
mkdentrydentryfstring × nat → dentry
mkdirabstract-dirfnat × metadata × nat × nat × dir-entries → abstract-dir
mkempbufbufferfnat → buffer
mkfileabstract-filefnat × metadata × nat × file-content → abstract-file
mkinodeinodefnat × metadata × bool × nat × nat × nat → inode
mklinkalinkfnat × string → alink
mkliststringfchar × nat → string
mklistbuffer-inffdata × nat → datalist
mkpathpathfstring × nat → path
mkzbufbufferfnat → buffer
nnat-basicvnat
n∞nat-infvnatinf
n∞0nat-infvnatinf
n0nat-basicvnat
n1nat-basicvnat
n2file-contentvnat
n3file-contentvnat
n4file-contentvnat
nDdir-heapvnat → dir-heap → bool
nFfile-heapvnat → file-heap → bool
nameafs-basevstring
natnat-basics
nat-setdir-heaps
natinfnat-infs
negdentrydentryfstring → dentry
nfbuffer-infvnat → data
nf0buffer-infvnat → data
nnDdir-heapvnat × nat → dir-heap → bool
nnFfile-heapvnat × nat → file-heap → bool
not .dir-heapf(dir-heap → bool) → dir-heap → bool
not .file-heapf(file-heap → bool) → file-heap → bool
nsdir-heapvnat-set
ns0dir-heapvnat-set
ns1dir-heapvnat-set
ns2dir-heapvnat-set
orphansafs-basefdir-heap × file-heap → nat-set
ppathvpath
p'pathvpath
p_inoafs-basevnat
p0pathvpath
p1pathvpath
parentpathpfpath → path with λ p. p ≠ ε
pathpaths
posstringfchar × string → nat
pospathfstring × path → nat
posbuffer-inffdata × datalist → nat
precisefile-heapp(file-heap → bool)
precisedir-heapp(dir-heap → bool)
qpathvpath
range=bufferpbuffer × nat × buffer × nat × nat
resizebufferfbuffer × nat → buffer
restnbuffer-infpfnat × datalist → datalist with λ n, dx. n ≤ # dx
restnpathpfnat × path → path with λ n, p. n ≤ # p
restnstringpfnat × string → string with λ n, str. n ≤ # str
revstringfstring → string
revbufferpfbuffer × nat → buffer with λ buf, n. n ≤ # buf
revbufferfbuffer → buffer
revbuffer-inffdatalist → datalist
revpathfpath → path
rmdupstringfstring → string
rmdupbuffer-inffdatalist → datalist
rmduppathfpath → path
splicebufferfbuffer × nat × buffer × nat × nat → buffer
strstringvstring
str0stringvstring
str1stringvstring
str2stringvstring
str3stringvstring
stringstrings
stringsdir-entriesvstringset
strings0dir-entriesvstringset
strings1dir-entriesvstringset
strings2dir-entriesvstringset
stringsetdir-entriess
subarraybufferpfbuffer × nat × nat → buffer with λ buf, m, n. m + n ≤ # buf
subdirsafs-basefnat × dir-heap → stringset
sublistbuffer-infpfnat × nat × datalist → datalist with λ n, m, dx. n + m ≤ # dx
subliststringpfnat × nat × string → string with λ n, m, str. n + m ≤ # str
sublistpathpfnat × nat × path → path with λ n, m, p. n + m ≤ # p
tlbuffer-infpfbuffer-inf → buffer-inf with λ σ. σ ≠ []
truedir-heappdir-heap
truefile-heappfile-heap
valid-contentafs-basepnat × file-heap
valid-dentryafs-basepdentry × dir-heap × file-heap
valid-dentryafs-basepnat × dentry × dir-heap × file-heap
valid-dir-inoafs-basepnat × dir-heap × file-heap
valid-file-inoafs-basepnat × dir-heap × file-heap
valid-inoafs-basepnat × dir-heap × file-heap
valid-inodeafs-basepinode × dir-heap × file-heap
valid-negdentryafs-basepnat × dentry × dir-heap × file-heap
valid-pagesizeafs-basepnat × nat × file-heap
valid-parent-inoafs-basepnat × dir-heap × file-heap
zerobuffercdata
zeropagepagecbuffer