| // 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. | 
 |  | 
 | // +build aix darwin dragonfly freebsd hurd js,wasm linux nacl 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 | 
 | } |