cgo_linux.go 667 B

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