blob: 66b2a2ba6a71a0be2f31939379684a709fae1546 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
};
|