cgo_linux.go 682 B

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