|  | // 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 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 | 
|  | } |