diff options
Diffstat (limited to 'appl/lib/ninep.b')
| -rw-r--r-- | appl/lib/ninep.b | 15 |
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)", |
