github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/net/nettest/nettest_unix.go (about) 1 // Copyright 2019 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 //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 8 package nettest 9 10 import "syscall" 11 12 func supportsRawSocket() bool { 13 for _, af := range []int{syscall.AF_INET, syscall.AF_INET6} { 14 s, err := syscall.Socket(af, syscall.SOCK_RAW, 0) 15 if err != nil { 16 continue 17 } 18 syscall.Close(s) 19 return true 20 } 21 return false 22 }