// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build aix || darwin || dragonfly || freebsd || (js && wasm) || linux || netbsd || openbsd || solaris || windows // +build aix darwin dragonfly freebsd js,wasm linux netbsd openbsd solaris windows package net import ( "syscall" ) // A sockaddr represents a TCP, UDP, IP or Unix network endpoint // address that can be converted into a syscall.Sockaddr. type sockaddr interface { Addr // family returns the platform-dependent address family // identifier. family() int // isWildcard reports whether the address is a wildcard // address. isWildcard() bool // sockaddr returns the address converted into a syscall // sockaddr type that implements syscall.Sockaddr // interface. It returns a nil interface when the address is // nil. sockaddr(family int) (syscall.Sockaddr, error) // toLocal maps the zero address to a local system address (127.0.0.1 or ::1) toLocal(net string) sockaddr }