Mercurial > hg > CbC > CbC_gcc
view libgo/go/net/cgo_resold.go @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// Copyright 2015 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 cgo,!netgo // +build android freebsd dragonfly openbsd package net /* #include <sys/types.h> #include <sys/socket.h> #include <netdb.h> */ import ( "syscall" ) //extern getnameinfo func libc_getnameinfo(*syscall.RawSockaddr, syscall.Socklen_t, *byte, syscall.Size_t, *byte, syscall.Size_t, int) int func cgoNameinfoPTR(b []byte, sa *syscall.RawSockaddr, salen syscall.Socklen_t) (int, error) { syscall.Entersyscall() gerrno := libc_getnameinfo(sa, salen, &b[0], syscall.Size(len(b)), nil, 0, syscall.NI_NAMEREQD) syscall.Exitsyscall() var err error if gerrno == syscall.EAI_SYSTEM { errno := syscall.GetErrno() if errno != 0 { err = errno } } return gerrno, err }