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