Versions in this module Expand all Collapse all v1 v1.0.1 Apr 30, 2024 Changes in this version + func ExtractSockAddr(b []byte) (*linux.SockAddrNetlink, *syserr.Error) + func RegisterProvider(protocol int, provider Provider) + type Protocol interface + CanSend func() bool + ProcessMessage func(ctx context.Context, msg *nlmsg.Message, ms *nlmsg.MessageSet) *syserr.Error + Protocol func() int + type Provider func(t *kernel.Task) (Protocol, *syserr.Error) + type Socket struct + func New(t *kernel.Task, skType linux.SockType, protocol Protocol) (*Socket, *syserr.Error) + func (*Socket) Ioctl(ctx context.Context, uio usermem.IO, sysno uintptr, args arch.SyscallArguments) (uintptr, error) + func (s *Socket) Accept(t *kernel.Task, peerRequested bool, flags int, blocking bool) (int32, linux.SockAddr, uint32, *syserr.Error) + func (s *Socket) Bind(t *kernel.Task, sockaddr []byte) *syserr.Error + func (s *Socket) Connect(t *kernel.Task, sockaddr []byte, blocking bool) *syserr.Error + func (s *Socket) ConnectedPasscred() bool + func (s *Socket) Epollable() bool + func (s *Socket) EventRegister(e *waiter.Entry) error + func (s *Socket) EventUnregister(e *waiter.Entry) + func (s *Socket) GetPeerName(t *kernel.Task) (linux.SockAddr, uint32, *syserr.Error) + func (s *Socket) GetSockName(t *kernel.Task) (linux.SockAddr, uint32, *syserr.Error) + func (s *Socket) GetSockOpt(t *kernel.Task, level int, name int, outPtr hostarch.Addr, outLen int) (marshal.Marshallable, *syserr.Error) + func (s *Socket) Listen(t *kernel.Task, backlog int) *syserr.Error + func (s *Socket) PRead(ctx context.Context, dst usermem.IOSequence, offset int64, ...) (int64, error) + func (s *Socket) PWrite(ctx context.Context, src usermem.IOSequence, offset int64, ...) (int64, error) + func (s *Socket) Passcred() bool + func (s *Socket) Read(ctx context.Context, dst usermem.IOSequence, opts vfs.ReadOptions) (int64, error) + func (s *Socket) Readiness(mask waiter.EventMask) waiter.EventMask + func (s *Socket) RecvMsg(t *kernel.Task, dst usermem.IOSequence, flags int, haveDeadline bool, ...) (int, int, linux.SockAddr, uint32, socket.ControlMessages, *syserr.Error) + func (s *Socket) Release(ctx context.Context) + func (s *Socket) SendMsg(t *kernel.Task, src usermem.IOSequence, to []byte, flags int, ...) (int, *syserr.Error) + func (s *Socket) SetSockOpt(t *kernel.Task, level int, name int, opt []byte) *syserr.Error + func (s *Socket) Shutdown(t *kernel.Task, how int) *syserr.Error + func (s *Socket) State() uint32 + func (s *Socket) Type() (family int, skType linux.SockType, protocol int) + func (s *Socket) Write(ctx context.Context, src usermem.IOSequence, opts vfs.WriteOptions) (int64, error)