diff options
Diffstat (limited to 'module')
| -rw-r--r-- | module/rabin.m | 28 | ||||
| -rw-r--r-- | module/styxservers.m | 1 |
2 files changed, 29 insertions, 0 deletions
diff --git a/module/rabin.m b/module/rabin.m new file mode 100644 index 00000000..ba613fab --- /dev/null +++ b/module/rabin.m @@ -0,0 +1,28 @@ +Rabin: module +{ + PATH: con "/dis/lib/rabin.dis"; + init: fn(bufio: Bufio); + + debug: int; + + open: fn(rcfg: ref Rcfg, b: ref Iobuf, min, max: int): (ref Rfile, string); + + Rcfg: adt { + prime, width, mod: int; + tab: array of int; + + mk: fn(prime, width, mod: int): (ref Rcfg, string); + }; + + Rfile: adt { + b: ref Iobuf; + rcfg: ref Rcfg; + min, max: int; + buf: array of byte; + n: int; + state: int; + off: big; + + read: fn(r: self ref Rfile): (array of byte, big, string); + }; +}; diff --git a/module/styxservers.m b/module/styxservers.m index b9b47cf7..28831bfa 100644 --- a/module/styxservers.m +++ b/module/styxservers.m @@ -53,6 +53,7 @@ Styxservers: module new: fn(fd: ref Sys->FD, t: ref Navigator, rootpath: big): (chan of ref Styx->Tmsg, ref Styxserver); reply: fn(srv: self ref Styxserver, m: ref Styx->Rmsg): int; replydirect: fn(srv: self ref Styxserver, m: ref Styx->Rmsg): int; + error: fn(srv: self ref Styxserver, m: ref Styx->Tmsg, msg: string); # protocol operations attach: fn(srv: self ref Styxserver, m: ref Styx->Tmsg.Attach): ref Fid; |
