12345678910111213141516171819 |
- 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;
- };
|