ref: babf901b4a508c3ec5d1f89655f10377bbdf9637
dir: /appl/acme/xfid.m/
Xfidm : module {
PATH : con "/dis/acme/xfid.dis";
Xnil, Xflush, Xwalk, Xopen, Xclose, Xread, Xwrite : con iota;
init : fn(mods : ref Dat->Mods);
newxfid : fn() : ref Xfid;
xfidkill : fn();
Xfid : adt {
tid : int;
fcall : ref Styx->Tmsg;
next : cyclic ref Xfid;
c : chan of int;
f : cyclic ref Dat->Fid;
buf : array of byte;
flushed : int;
ctl : fn(x : self ref Xfid);
flush: fn(x : self ref Xfid);
walk: fn(x : self ref Xfid, c: chan of ref Windowm->Window);
open: fn(x : self ref Xfid);
close: fn(x : self ref Xfid);
read: fn(x : self ref Xfid);
write: fn(x : self ref Xfid);
ctlwrite: fn(x : self ref Xfid, w : ref Windowm->Window);
eventread: fn(x : self ref Xfid, w : ref Windowm->Window);
eventwrite: fn(x : self ref Xfid, w : ref Windowm->Window);
indexread: fn(x : self ref Xfid);
utfread: fn(x : self ref Xfid, t : ref Textm->Text, m : int, n : int, qid : int);
runeread: fn(x : self ref Xfid, t : ref Textm->Text, m : int, n : int) : int;
};
};