// Copyright 2009 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. package net // UnixAddr represents the address of a Unix domain socket end point. type UnixAddr struct { Name string Net string } // Network returns the address's network name, "unix", "unixgram" or // "unixpacket". func (a *UnixAddr) Network() string { return a.Net } func (a *UnixAddr) String() string { if a == nil { return "<nil>" } return a.Name } func (a *UnixAddr) isWildcard() bool { return a == nil || a.Name == "" } func (a *UnixAddr) opAddr() Addr { if a == nil { return nil } return a } // ResolveUnixAddr parses addr as a Unix domain socket address. // The string net gives the network name, "unix", "unixgram" or // "unixpacket". func ResolveUnixAddr(net, addr string) (*UnixAddr, error) { switch net { case "unix", "unixgram", "unixpacket": return &UnixAddr{Name: addr, Net: net}, nil default: return nil, UnknownNetworkError(net) } }