github.com/tcnksm/go@v0.0.0-20141208075154-439b32936367/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  func cgoAddrInfoFlags() C.int {
    15  	// NOTE(rsc): In theory there are approximately balanced
    16  	// arguments for and against including AI_ADDRCONFIG
    17  	// in the flags (it includes IPv4 results only on IPv4 systems,
    18  	// and similarly for IPv6), but in practice setting it causes
    19  	// getaddrinfo to return the wrong canonical name on Linux.
    20  	// So definitely leave it out.
    21  	return C.AI_CANONNAME | C.AI_V4MAPPED | C.AI_ALL
    22  }