github.com/epfl-dcsl/gotee@v0.0.0-20200909122901-014b35f5e5e9/src/gnet/cgo_sockold.go (about) 1 // Copyright 2015 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 cgo,!netgo*/ 6 // +/*build darwin dragonfly freebsd netbsd openbsd*/ 7 8 package gnet 9 10 /* 11 #include <sys/types.h> 12 #include <sys/socket.h> 13 14 #include <netinet/in.h> 15 */ 16 //import "C" 17 18 //import ( 19 // "syscall" 20 // "unsafe" 21 //) 22 // 23 //func cgoSockaddrInet4(ip IP) *struct_sockaddr { 24 // sa := syscall.RawSockaddrInet4{Len: syscall.SizeofSockaddrInet4, Family: syscall.AF_INET} 25 // copy(sa.Addr[:], ip) 26 // return (*C.struct_sockaddr)(unsafe.Pointer(&sa)) 27 //} 28 // 29 //func cgoSockaddrInet6(ip IP, zone int) *C.struct_sockaddr { 30 // sa := syscall.RawSockaddrInet6{Len: syscall.SizeofSockaddrInet6, Family: syscall.AF_INET6, Scope_id: uint32(zone)} 31 // copy(sa.Addr[:], ip) 32 // return (*struct_sockaddr)(unsafe.Pointer(&sa)) 33 //}