1 // Copyright 2015 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
6 // +build aix darwin linux,!android netbsd solaris
11 #include <sys/types.h>
12 #include <sys/socket.h>
22 func libc_getnameinfo(*syscall
.RawSockaddr
, syscall
.Socklen_t
, *byte, syscall
.Size_t
, *byte, syscall
.Size_t
, int) int
24 func cgoNameinfoPTR(b
[]byte, sa
*syscall
.RawSockaddr
, salen syscall
.Socklen_t
) (int, error
) {
25 syscall
.Entersyscall()
26 gerrno
:= libc_getnameinfo(sa
, salen
, &b
[0], syscall
.Size_t(len(b
)), nil, 0, syscall
.NI_NAMEREQD
)
29 if gerrno
== syscall
.EAI_SYSTEM
{
30 errno
:= syscall
.GetErrno()