unix

package
v1.4.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSockOpts added in v1.2.0

func GetSockOpts(fd uintptr, opts ...SockOpt) error

func MarshalCmsg added in v1.2.0

func MarshalCmsg(opts ...SockOpt) []byte

func MarshalOpt added in v1.4.2

func MarshalOpt(b []byte, o SockOpt)

func NewMsghdr added in v1.2.0

func NewMsghdr(sa, p, oob []byte) unix.Msghdr

func Recvmmsg

func Recvmmsg(s uintptr, hs []Mmsghdr, flags int) (int, error)

func Sendmmsg added in v1.2.0

func Sendmmsg(s uintptr, hs []Mmsghdr, flags int) (int, error)

func SetSockOpts added in v1.2.0

func SetSockOpts(fd uintptr, opts ...SockOpt) error

func SockaddrLen added in v1.3.0

func SockaddrLen(family int) uint32

func UnmarshalOpt added in v1.4.2

func UnmarshalOpt(b []byte, o SockOpt)

Types

type BoolSockOpt added in v1.2.0

type BoolSockOpt struct {
	*ValueSockOpt[int32]
}

func NewBoolSockOpt added in v1.2.0

func NewBoolSockOpt(lvl, typ int32) BoolSockOpt

func (BoolSockOpt) Get added in v1.2.0

func (o BoolSockOpt) Get() bool

func (BoolSockOpt) Level added in v1.4.2

func (o BoolSockOpt) Level() int32

func (BoolSockOpt) Set added in v1.2.0

func (o BoolSockOpt) Set(v bool) BoolSockOpt

func (BoolSockOpt) Type added in v1.4.2

func (o BoolSockOpt) Type() int32

type BytesSockOpt added in v1.2.0

type BytesSockOpt[T bytes] struct {
	// contains filtered or unexported fields
}

func NewBytesSockOpt added in v1.2.0

func NewBytesSockOpt[T bytes](lvl, typ int32) *BytesSockOpt[T]

func (BytesSockOpt[T]) Get added in v1.2.0

func (o BytesSockOpt[T]) Get() T

func (BytesSockOpt[T]) Len added in v1.4.2

func (o BytesSockOpt[T]) Len() uint32

func (*BytesSockOpt) Level added in v1.4.2

func (o *BytesSockOpt) Level() int32

func (BytesSockOpt[T]) Ptr added in v1.4.2

func (o BytesSockOpt[T]) Ptr() unsafe.Pointer

func (*BytesSockOpt[T]) Set added in v1.2.0

func (o *BytesSockOpt[T]) Set(v T) *BytesSockOpt[T]

func (*BytesSockOpt[T]) SetSize added in v1.2.0

func (o *BytesSockOpt[T]) SetSize(size int) *BytesSockOpt[T]

func (*BytesSockOpt) Type added in v1.4.2

func (o *BytesSockOpt) Type() int32

type IValueSockOpt added in v1.4.5

type IValueSockOpt[T, U constraints.Integer] struct {
	*ValueSockOpt[U]
}

func NewIValueSockOpt added in v1.4.5

func NewIValueSockOpt[T, U constraints.Integer](lvl, typ int32) IValueSockOpt[T, U]

func (IValueSockOpt[T, U]) Get added in v1.4.5

func (o IValueSockOpt[T, U]) Get() T

func (IValueSockOpt) Level added in v1.4.5

func (o IValueSockOpt) Level() int32

func (IValueSockOpt[T, U]) Set added in v1.4.5

func (o IValueSockOpt[T, U]) Set(v T) IValueSockOpt[T, U]

func (IValueSockOpt) Type added in v1.4.5

func (o IValueSockOpt) Type() int32

type Mmsghdr

type Mmsghdr struct {
	Hdr unix.Msghdr
	Len uint32
	// contains filtered or unexported fields
}

func MakeMmsghdr added in v1.2.0

func MakeMmsghdr(family int, n, oobn int) (sa, p, oob []byte, h Mmsghdr)

func MakeMmsghdrs added in v1.2.0

func MakeMmsghdrs(family int, n, pn, oobn int) (sas, ps, oobs [][]byte, hs []Mmsghdr)

func NewMmsghdr added in v1.2.0

func NewMmsghdr(sa, p, oob []byte) Mmsghdr

type SockMsg added in v1.4.1

type SockMsg struct {
	From    []byte
	Data    []byte
	Control []byte
	Flags   int32
}

type SockOpt added in v1.2.0

type SockOpt interface {
	Level() int32
	Type() int32
	// Len returns length of option value in bytes
	Len() uint32
	Ptr() unsafe.Pointer
	// contains filtered or unexported methods
}

SockOpt is a socket option

type SocketConn added in v1.2.0

type SocketConn struct {
	// contains filtered or unexported fields
}

func NewSocketConn added in v1.2.0

func NewSocketConn(domain, typ, proto int) (*SocketConn, error)

func (*SocketConn) Accept added in v1.2.0

func (c *SocketConn) Accept() (nfd int, sa unix.Sockaddr, err error)

func (*SocketConn) AttachFilter added in v1.2.0

func (c *SocketConn) AttachFilter(instrs []bpf.Instruction) error

func (*SocketConn) AttachFilterRaw added in v1.2.0

func (c *SocketConn) AttachFilterRaw(f []bpf.RawInstruction) error

func (*SocketConn) Bind added in v1.2.0

func (c *SocketConn) Bind(sa unix.Sockaddr) error

func (*SocketConn) BindToDevice added in v1.2.0

func (c *SocketConn) BindToDevice(dev string) error

func (*SocketConn) BindToIfIndex added in v1.2.0

func (c *SocketConn) BindToIfIndex(ifIndex int) error

func (*SocketConn) BoundToDevice added in v1.2.0

func (c *SocketConn) BoundToDevice() (string, error)

func (*SocketConn) BoundToIfIndex added in v1.2.0

func (c *SocketConn) BoundToIfIndex() (int, error)

func (*SocketConn) Close added in v1.2.0

func (c *SocketConn) Close() error

func (*SocketConn) Connect added in v1.2.0

func (c *SocketConn) Connect(sa unix.Sockaddr) error

func (*SocketConn) Control added in v1.2.0

func (c *SocketConn) Control(f func(fd uintptr)) error

func (*SocketConn) Disconnect added in v1.2.0

func (c *SocketConn) Disconnect() error

func (*SocketConn) Domain added in v1.3.0

func (c *SocketConn) Domain() (int, error)

func (*SocketConn) GetSockOpts added in v1.2.0

func (c *SocketConn) GetSockOpts(opts ...SockOpt) error

func (*SocketConn) Listen added in v1.2.0

func (c *SocketConn) Listen(backlog int) error

func (*SocketConn) ListenPacket added in v1.3.0

func (c *SocketConn) ListenPacket(ctx context.Context, flags int,
	numMsgs, dataLen, controlLen int, handler func(SockMsg) error) error

func (*SocketConn) Lock added in v1.2.0

func (c *SocketConn) Lock() error

func (*SocketConn) Proto added in v1.3.0

func (c *SocketConn) Proto() (int, error)

func (*SocketConn) RLock added in v1.2.0

func (c *SocketConn) RLock() error

func (*SocketConn) RUnlock added in v1.2.0

func (c *SocketConn) RUnlock() error

func (*SocketConn) Read added in v1.2.0

func (c *SocketConn) Read(f func(fd uintptr) (done bool)) error

func (*SocketConn) RecvFrom added in v1.2.0

func (c *SocketConn) RecvFrom(buf []byte, flags int) (n int, from unix.Sockaddr, err error)

func (*SocketConn) RecvMmsg added in v1.2.0

func (c *SocketConn) RecvMmsg(hs []Mmsghdr, flags int) (n int, err error)

func (*SocketConn) RecvMsg added in v1.2.0

func (c *SocketConn) RecvMsg(buf []byte, oob []byte, flags int) (n, oobn int, recvflags int, from unix.Sockaddr, err error)

func (*SocketConn) SendMmsg added in v1.2.0

func (c *SocketConn) SendMmsg(hs []Mmsghdr, flags int) (n int, err error)

func (*SocketConn) SendMsg added in v1.2.0

func (c *SocketConn) SendMsg(buf []byte, to unix.Sockaddr, flags int, opts ...SockOpt) (n int, err error)

func (*SocketConn) SendTo added in v1.2.0

func (c *SocketConn) SendTo(buf []byte, flags int, to unix.Sockaddr) error

func (*SocketConn) SetContext added in v1.2.0

func (c *SocketConn) SetContext(ctx context.Context) (context.CancelFunc, error)

func (*SocketConn) SetDeadline added in v1.2.0

func (c *SocketConn) SetDeadline(t time.Time) error

func (*SocketConn) SetReadContext added in v1.2.0

func (c *SocketConn) SetReadContext(ctx context.Context) (context.CancelFunc, error)

func (*SocketConn) SetReadDeadline added in v1.2.0

func (c *SocketConn) SetReadDeadline(t time.Time) error

func (*SocketConn) SetSockOpts added in v1.2.0

func (c *SocketConn) SetSockOpts(opts ...SockOpt) error

func (*SocketConn) SetWriteContext added in v1.2.0

func (c *SocketConn) SetWriteContext(ctx context.Context) (context.CancelFunc, error)

func (*SocketConn) SetWriteDeadline added in v1.2.0

func (c *SocketConn) SetWriteDeadline(t time.Time) error

func (*SocketConn) Type added in v1.3.0

func (c *SocketConn) Type() (int, error)

func (*SocketConn) Unlock added in v1.2.0

func (c *SocketConn) Unlock() error

func (*SocketConn) WLock added in v1.2.0

func (c *SocketConn) WLock() error

func (*SocketConn) WUnlock added in v1.2.0

func (c *SocketConn) WUnlock() error

func (*SocketConn) Write added in v1.2.0

func (c *SocketConn) Write(f func(fd uintptr) (done bool)) error

type ValueSockOpt added in v1.4.2

type ValueSockOpt[T any] struct {
	// contains filtered or unexported fields
}

func NewSockOpt added in v1.2.0

func NewSockOpt[T any](lvl, typ int32) *ValueSockOpt[T]

func (*ValueSockOpt[T]) Get added in v1.4.2

func (o *ValueSockOpt[T]) Get() T

func (*ValueSockOpt[T]) Len added in v1.4.2

func (o *ValueSockOpt[T]) Len() uint32

func (*ValueSockOpt) Level added in v1.4.2

func (o *ValueSockOpt) Level() int32

func (*ValueSockOpt[T]) Ptr added in v1.4.2

func (o *ValueSockOpt[T]) Ptr() unsafe.Pointer

func (*ValueSockOpt[T]) Set added in v1.4.2

func (o *ValueSockOpt[T]) Set(v T) *ValueSockOpt[T]

func (*ValueSockOpt) Type added in v1.4.2

func (o *ValueSockOpt) Type() int32

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL