diff options
Diffstat (limited to 'appl/acme/disk.m')
| -rw-r--r-- | appl/acme/disk.m | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/appl/acme/disk.m b/appl/acme/disk.m new file mode 100644 index 00000000..66b2a2ba --- /dev/null +++ b/appl/acme/disk.m @@ -0,0 +1,19 @@ +Diskm : module { + PATH : con "/dis/acme/disk.dis"; + + init : fn(mods : ref Dat->Mods); + + Disk : adt { + fd : ref Sys->FD; + addr : int; # length of temp file + free : array of ref Dat->Block; + + init : fn() : ref Disk; + new : fn(d : self ref Disk, n : int) : ref Dat->Block; + release : fn(d : self ref Disk, b : ref Dat->Block); + read : fn(d : self ref Disk, b : ref Dat->Block, s : ref Dat->Astring, n : int); + write : fn(d : self ref Disk, b : ref Dat->Block, s : string, n : int) : ref Dat->Block; + }; + + tempfile: fn() : ref Sys->FD; +}; |
