...
Source file src/net/cgo_sockold.go
1
2
3
4
5
6
7
8 package net
9
10
16 import "C"
17
18 import (
19 "syscall"
20 "unsafe"
21 )
22
23 func cgoSockaddrInet4(ip IP) *C.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 (*C.struct_sockaddr)(unsafe.Pointer(&sa))
33 }
34
View as plain text