20 lines
555 B
Plaintext
20 lines
555 B
Plaintext
!import "base.tri" !Local
|
|
!import "list.tri" !Local
|
|
!import "bytes.tri" !Local
|
|
!import "binary.tri" !Local
|
|
|
|
arborixMagic = [(65) (82) (66) (79) (82) (73) (88) (0)]
|
|
|
|
readArborixMagic = (bs : expectBytes arborixMagic bs)
|
|
|
|
readArborixHeader = (bs :
|
|
bindResult (readArborixMagic bs)
|
|
(_ r0 :
|
|
bindResult (readU16BEBytes r0)
|
|
(major r1 :
|
|
bindResult (readU16BEBytes r1)
|
|
(minor r2 :
|
|
bindResult (readU32BEBytes r2)
|
|
(sections r3 :
|
|
ok (pair major (pair minor sections)) r3)))))
|