Package ninep contains helper routines for implementing a 9P2000 protocol server.
DirRead sets ofcall.Data to at most ifcall.Count bytes of directory entries read from offset ifcall.Offset. The function gen is called to obtain the n-th directory entry. Gen should return nil on end of directory. DirRead returns the number of directory entries read. This function is similar to dirread9p(3) in lib9p.
ReadBuffer sets Count and Data in response ofcall based the request ifcall and full data src. The Data is set to a sub-slice of src and the Count is set to the length of the sub-slice. This function is similar to readbuf(3) in lib9p.
ReadString is the same as ReadBuffer but for a string src. It trims src info blocks without respecting utf8 boundaries, as it's generally the reader's responsibility to do more reads to get full runes. This function is similar to readstr(3) in lib9p.
UnmarshalDirs decodes and returns one or more directory entries in b. This function exists because plan9.UnmarshalDir cannot deal with multiple entries.