path .str" test.tmp[RET] ok.
fil path FA_WRITE FA_OPEN_ALWAYS + f_open .[RET] 0 ok.
fil stdout ![RET]
hook-emit @ ' fs-emit hook-emit ! ls -l[RET]
hook-emit ! [RET] ok.
fil f_close .[RET] 0 ok.
cat test.tmp[RET]
drw- 0 2021-03-06T14:36:40 man
drw- 0 2021-03-06T14:36:40 fsr
-rwa 7219 2021-03-06T14:04:12 README.md
drw- 0 2021-03-26T18:47:12 boot
drw- 0 2021-04-18T17:40:14 etc
drw- 0 2021-03-06T14:36:40 home
-rwa 0 2000-01-01T00:11:12 test.tmp
ok.
hook-emit ! ok.
: >file ( addr c-addr -- addr )
swap dup stdout ! swap
FA_WRITE FA_OPEN_ALWAYS + f_open drop
hook-emit @
['] fs-emit hook-emit !
;
: >term ( addr -- )
hook-emit !
stdout @ f_close drop
;
: <file ( addr c-addr -- addr )
swap dup stdin ! swap
FA_READ f_open drop
hook-key @
['] fs-key hook-key !
;
: <term ( addr -- )
hook-key !
stdin @ f_close drop
; |