edwood: github.com/rjkroege/edwood/internal/ninep Index | Files

package ninep

import "github.com/rjkroege/edwood/internal/ninep"

Package ninep contains helper routines for implementing a 9P2000 protocol server.

Index

Package Files

util.go

func DirRead Uses

func DirRead(ofcall, ifcall *plan9.Fcall, gen func(i int) *plan9.Dir) int

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.

func ReadBuffer Uses

func ReadBuffer(ofcall, ifcall *plan9.Fcall, src []byte)

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.

func ReadString Uses

func ReadString(ofcall, ifcall *plan9.Fcall, src string)

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.

func UnmarshalDirs Uses

func UnmarshalDirs(b []byte) ([]plan9.Dir, error)

UnmarshalDirs decodes and returns one or more directory entries in b. This function exists because plan9.UnmarshalDir cannot deal with multiple entries.

Package ninep imports 2 packages (graph) and is imported by 1 packages. Updated 2020-05-06. Refresh now. Tools for package owners.