github.com/slayercat/go@v0.0.0-20170428012452-c51559813f61/src/net/cgo_linux.go (about)

     1  // Copyright 2011 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.
     4  
     5  // +build !android,cgo,!netgo
     6  
     7  package net
     8  
     9  /*
    10  #include <netdb.h>
    11  */
    12  import "C"
    13  
    14  // NOTE(rsc): In theory there are approximately balanced
    15  // arguments for and against including AI_ADDRCONFIG
    16  // in the flags (it includes IPv4 results only on IPv4 systems,
    17  // and similarly for IPv6), but in practice setting it causes
    18  // getaddrinfo to return the wrong canonical name on Linux.
    19  // So definitely leave it out.
    20  const cgoAddrInfoFlags = C.AI_CANONNAME | C.AI_V4MAPPED | C.AI_ALL