summaryrefslogtreecommitdiff
path: root/appl/lib/ninep.b
diff options
context:
space:
mode:
Diffstat (limited to 'appl/lib/ninep.b')
-rw-r--r--appl/lib/ninep.b15
1 files changed, 15 insertions, 0 deletions
diff --git a/appl/lib/ninep.b b/appl/lib/ninep.b
index 91467f0b..90536d0b 100644
--- a/appl/lib/ninep.b
+++ b/appl/lib/ninep.b
@@ -847,6 +847,21 @@ Rmsg.read(fd: ref Sys->FD, msglim: int): ref Rmsg
return m;
}
+Rmsg.write(m: self ref Rmsg, fd: ref Sys->FD, msize: int): int
+{
+ if(msize == 0)
+ m = ref Rmsg.Error(m.tag, "Tversion not seen");
+ d := m.pack();
+ if(msize != 0 && len d > msize){
+ m = ref Rmsg.Error(m.tag, "9P reply didn't fit");
+ d = m.pack();
+ }
+ n := len d;
+ if(sys->write(fd, d, n) != n)
+ return -1;
+ return 0;
+}
+
dir2text(d: Sys->Dir): string
{
return sys->sprint("Dir(\"%s\",\"%s\",\"%s\",%s,8r%uo,%d,%d,%bd,16r%ux,%d)",