Versions in this module Expand all Collapse all v1 v1.0.1 Apr 30, 2024 Changes in this version + const DefaultPipeSize + const MaximumPipeSize + const MinimumPipeSize + func Splice(ctx context.Context, dst, src *VFSPipeFD, count int64) (int64, error) + func Tee(ctx context.Context, dst, src *VFSPipeFD, count int64) (int64, error) + type Pipe struct + func NewPipe(isNamed bool, sizeBytes int64) *Pipe + func (p *Pipe) EventRegister(e *waiter.Entry) error + func (p *Pipe) EventUnregister(e *waiter.Entry) + func (p *Pipe) HasReaders() bool + func (p *Pipe) HasWriters() bool + func (p *Pipe) Ioctl(ctx context.Context, io usermem.IO, sysno uintptr, args arch.SyscallArguments) (uintptr, error) + func (p *Pipe) Read(ctx context.Context, dst usermem.IOSequence) (int64, error) + func (p *Pipe) ReadFrom(ctx context.Context, r io.Reader, count int64) (int64, error) + func (p *Pipe) Readiness(mask waiter.EventMask) waiter.EventMask + func (p *Pipe) Release(context.Context) + func (p *Pipe) SetFifoSize(size int64) (int64, error) + func (p *Pipe) Write(ctx context.Context, src usermem.IOSequence) (int64, error) + func (p *Pipe) WriteTo(ctx context.Context, w io.Writer, count int64, dup bool) (int64, error) + type VFSPipe struct + func NewVFSPipe(isNamed bool, sizeBytes int64) *VFSPipe + func (*VFSPipe) Allocate(context.Context, uint64, uint64, uint64) error + func (vp *VFSPipe) Open(ctx context.Context, mnt *vfs.Mount, vfsd *vfs.Dentry, statusFlags uint32, ...) (*vfs.FileDescription, error) + func (vp *VFSPipe) ReaderWriterPair(ctx context.Context, mnt *vfs.Mount, vfsd *vfs.Dentry, statusFlags uint32) (*vfs.FileDescription, *vfs.FileDescription, error) + type VFSPipeFD struct + func (fd *VFSPipeFD) Allocate(ctx context.Context, mode, offset, length uint64) error + func (fd *VFSPipeFD) CompareAndSwapUint32(ctx context.Context, addr hostarch.Addr, old, new uint32, opts usermem.IOOpts) (uint32, error) + func (fd *VFSPipeFD) CopyIn(ctx context.Context, addr hostarch.Addr, dst []byte, opts usermem.IOOpts) (int, error) + func (fd *VFSPipeFD) CopyInTo(ctx context.Context, ars hostarch.AddrRangeSeq, dst safemem.Writer, ...) (int64, error) + func (fd *VFSPipeFD) CopyOut(ctx context.Context, addr hostarch.Addr, src []byte, opts usermem.IOOpts) (int, error) + func (fd *VFSPipeFD) CopyOutFrom(ctx context.Context, ars hostarch.AddrRangeSeq, src safemem.Reader, ...) (int64, error) + func (fd *VFSPipeFD) Epollable() bool + func (fd *VFSPipeFD) EventRegister(e *waiter.Entry) error + func (fd *VFSPipeFD) EventUnregister(e *waiter.Entry) + func (fd *VFSPipeFD) Ioctl(ctx context.Context, uio usermem.IO, sysno uintptr, args arch.SyscallArguments) (uintptr, error) + func (fd *VFSPipeFD) LoadUint32(ctx context.Context, addr hostarch.Addr, opts usermem.IOOpts) (uint32, error) + func (fd *VFSPipeFD) PipeSize() int64 + func (fd *VFSPipeFD) Read(ctx context.Context, dst usermem.IOSequence, _ vfs.ReadOptions) (int64, error) + func (fd *VFSPipeFD) Readiness(mask waiter.EventMask) waiter.EventMask + func (fd *VFSPipeFD) Release(context.Context) + func (fd *VFSPipeFD) SetPipeSize(size int64) (int64, error) + func (fd *VFSPipeFD) SpliceFromNonPipe(ctx context.Context, in *vfs.FileDescription, off, count int64) (int64, error) + func (fd *VFSPipeFD) SpliceToNonPipe(ctx context.Context, out *vfs.FileDescription, off, count int64) (int64, error) + func (fd *VFSPipeFD) SwapUint32(ctx context.Context, addr hostarch.Addr, new uint32, opts usermem.IOOpts) (uint32, error) + func (fd *VFSPipeFD) Write(ctx context.Context, src usermem.IOSequence, _ vfs.WriteOptions) (int64, error) + func (fd *VFSPipeFD) ZeroOut(ctx context.Context, addr hostarch.Addr, toZero int64, opts usermem.IOOpts) (int64, error)