This patch by Clément Chigot defines SockaddrDatalink on AIX. It is required for the golang.org/x/net repo. Bootstrapped on x86_64-pc-linux-gnu. Committed to mainline.
Ian
Index: gcc/go/gofrontend/MERGE =================================================================== --- gcc/go/gofrontend/MERGE (revision 270434) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -ecbd6562aff604b9559f63d714e922a0c9c2a77f +1d2b98a4af0188f3f1d4a3eaae928e1db8383a63 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/go/syscall/socket_aix.go =================================================================== --- libgo/go/syscall/socket_aix.go (revision 270373) +++ libgo/go/syscall/socket_aix.go (working copy) @@ -11,6 +11,7 @@ import "unsafe" const SizeofSockaddrInet4 = 16 const SizeofSockaddrInet6 = 28 const SizeofSockaddrUnix = 1025 +const SizeofSockaddrDatalink = 128 type RawSockaddrInet4 struct { Len uint8 @@ -87,3 +88,26 @@ func GetsockoptIPv6MTUInfo(fd, level, op err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) return &value, err } + +type SockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 + raw RawSockaddrDatalink +} + +type RawSockaddrDatalink struct { + Len uint8 + Family uint8 + Index uint16 + Type uint8 + Nlen uint8 + Alen uint8 + Slen uint8 + Data [120]uint8 +}