mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
syscall: add IPv6 socket options for Unix variants
This CL adds missing IPv6 socket options which are required to control IPv6 as described in RFC 3493, RFC 3542. Update #5538 R=golang-dev, dave, iant CC=golang-dev https://golang.org/cl/9373046
This commit is contained in:
parent
d67e300f28
commit
adbe59e332
34 changed files with 230 additions and 1 deletions
|
|
@ -71,6 +71,7 @@ includes_Linux='
|
||||||
#include <sys/prctl.h>
|
#include <sys/prctl.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
#include <linux/if_addr.h>
|
#include <linux/if_addr.h>
|
||||||
#include <linux/if_ether.h>
|
#include <linux/if_ether.h>
|
||||||
#include <linux/if_tun.h>
|
#include <linux/if_tun.h>
|
||||||
|
|
@ -80,6 +81,7 @@ includes_Linux='
|
||||||
#include <linux/rtnetlink.h>
|
#include <linux/rtnetlink.h>
|
||||||
#include <linux/ptrace.h>
|
#include <linux/ptrace.h>
|
||||||
#include <linux/wait.h>
|
#include <linux/wait.h>
|
||||||
|
#include <linux/icmpv6.h>
|
||||||
#include <net/if.h>
|
#include <net/if.h>
|
||||||
#include <net/if_arp.h>
|
#include <net/if_arp.h>
|
||||||
#include <net/route.h>
|
#include <net/route.h>
|
||||||
|
|
@ -200,7 +202,8 @@ ccflags="$@"
|
||||||
$2 ~ /^O[CNPFP][A-Z]+[^_][A-Z]+$/ ||
|
$2 ~ /^O[CNPFP][A-Z]+[^_][A-Z]+$/ ||
|
||||||
$2 ~ /^IN_/ ||
|
$2 ~ /^IN_/ ||
|
||||||
$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
|
$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
|
||||||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
|
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
|
||||||
|
$2 == "ICMPV6_FILTER" ||
|
||||||
$2 == "SOMAXCONN" ||
|
$2 == "SOMAXCONN" ||
|
||||||
$2 == "NAME_MAX" ||
|
$2 == "NAME_MAX" ||
|
||||||
$2 == "IFNAMSIZ" ||
|
$2 == "IFNAMSIZ" ||
|
||||||
|
|
|
||||||
|
|
@ -414,6 +414,20 @@ func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
|
||||||
return &value, err
|
return &value, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
|
||||||
|
var value IPv6MTUInfo
|
||||||
|
vallen := _Socklen(SizeofIPv6MTUInfo)
|
||||||
|
err := getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value)), &vallen)
|
||||||
|
return &value, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
|
||||||
|
var value ICMPv6Filter
|
||||||
|
vallen := _Socklen(SizeofICMPv6Filter)
|
||||||
|
err := getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value)), &vallen)
|
||||||
|
return &value, err
|
||||||
|
}
|
||||||
|
|
||||||
func SetsockoptByte(fd, level, opt int, value byte) (err error) {
|
func SetsockoptByte(fd, level, opt int, value byte) (err error) {
|
||||||
var n = byte(value)
|
var n = byte(value)
|
||||||
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), 1)
|
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&n)), 1)
|
||||||
|
|
@ -444,6 +458,10 @@ func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {
|
||||||
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(mreq)), unsafe.Sizeof(*mreq))
|
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(mreq)), unsafe.Sizeof(*mreq))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error {
|
||||||
|
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(filter)), SizeofICMPv6Filter)
|
||||||
|
}
|
||||||
|
|
||||||
func SetsockoptString(fd, level, opt int, s string) (err error) {
|
func SetsockoptString(fd, level, opt int, s string) (err error) {
|
||||||
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&[]byte(s)[0])), uintptr(len(s)))
|
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&[]byte(s)[0])), uintptr(len(s)))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -540,6 +540,20 @@ func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) {
|
||||||
return &value, err
|
return &value, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) {
|
||||||
|
var value IPv6MTUInfo
|
||||||
|
vallen := _Socklen(SizeofIPv6MTUInfo)
|
||||||
|
err := getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value)), &vallen)
|
||||||
|
return &value, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) {
|
||||||
|
var value ICMPv6Filter
|
||||||
|
vallen := _Socklen(SizeofICMPv6Filter)
|
||||||
|
err := getsockopt(fd, level, opt, uintptr(unsafe.Pointer(&value)), &vallen)
|
||||||
|
return &value, err
|
||||||
|
}
|
||||||
|
|
||||||
func GetsockoptUcred(fd, level, opt int) (*Ucred, error) {
|
func GetsockoptUcred(fd, level, opt int) (*Ucred, error) {
|
||||||
var value Ucred
|
var value Ucred
|
||||||
vallen := _Socklen(SizeofUcred)
|
vallen := _Socklen(SizeofUcred)
|
||||||
|
|
@ -576,6 +590,9 @@ func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) {
|
||||||
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(mreq)), unsafe.Sizeof(*mreq))
|
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(mreq)), unsafe.Sizeof(*mreq))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error {
|
||||||
|
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(filter)), SizeofICMPv6Filter)
|
||||||
|
}
|
||||||
func SetsockoptString(fd, level, opt int, s string) (err error) {
|
func SetsockoptString(fd, level, opt int, s string) (err error) {
|
||||||
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&[]byte(s)[0])), uintptr(len(s)))
|
return setsockopt(fd, level, opt, uintptr(unsafe.Pointer(&[]byte(s)[0])), uintptr(len(s)))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ package syscall
|
||||||
#include <net/if_var.h>
|
#include <net/if_var.h>
|
||||||
#include <net/route.h>
|
#include <net/route.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
#include <netinet/tcp.h>
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
@ -154,6 +155,10 @@ type Inet4Pktinfo C.struct_in_pktinfo
|
||||||
|
|
||||||
type Inet6Pktinfo C.struct_in6_pktinfo
|
type Inet6Pktinfo C.struct_in6_pktinfo
|
||||||
|
|
||||||
|
type IPv6MTUInfo C.struct_ip6_mtuinfo
|
||||||
|
|
||||||
|
type ICMPv6Filter C.struct_icmp6_filter
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
||||||
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
||||||
|
|
@ -167,6 +172,8 @@ const (
|
||||||
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
||||||
SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo
|
SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo
|
||||||
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
||||||
|
SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo
|
||||||
|
SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter
|
||||||
)
|
)
|
||||||
|
|
||||||
// Ptrace requests
|
// Ptrace requests
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@ package syscall
|
||||||
#include <net/if_dl.h>
|
#include <net/if_dl.h>
|
||||||
#include <net/route.h>
|
#include <net/route.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
#include <netinet/tcp.h>
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
@ -159,6 +160,10 @@ type Cmsghdr C.struct_cmsghdr
|
||||||
|
|
||||||
type Inet6Pktinfo C.struct_in6_pktinfo
|
type Inet6Pktinfo C.struct_in6_pktinfo
|
||||||
|
|
||||||
|
type IPv6MTUInfo C.struct_ip6_mtuinfo
|
||||||
|
|
||||||
|
type ICMPv6Filter C.struct_icmp6_filter
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
||||||
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
||||||
|
|
@ -172,6 +177,8 @@ const (
|
||||||
SizeofMsghdr = C.sizeof_struct_msghdr
|
SizeofMsghdr = C.sizeof_struct_msghdr
|
||||||
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
||||||
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
||||||
|
SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo
|
||||||
|
SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter
|
||||||
)
|
)
|
||||||
|
|
||||||
// Ptrace requests
|
// Ptrace requests
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ package syscall
|
||||||
#include <linux/filter.h>
|
#include <linux/filter.h>
|
||||||
#include <linux/netlink.h>
|
#include <linux/netlink.h>
|
||||||
#include <linux/rtnetlink.h>
|
#include <linux/rtnetlink.h>
|
||||||
|
#include <linux/icmpv6.h>
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
@ -193,6 +194,10 @@ type Inet4Pktinfo C.struct_in_pktinfo
|
||||||
|
|
||||||
type Inet6Pktinfo C.struct_in6_pktinfo
|
type Inet6Pktinfo C.struct_in6_pktinfo
|
||||||
|
|
||||||
|
type IPv6MTUInfo C.struct_ip6_mtuinfo
|
||||||
|
|
||||||
|
type ICMPv6Filter C.struct_icmp6_filter
|
||||||
|
|
||||||
type Ucred C.struct_ucred
|
type Ucred C.struct_ucred
|
||||||
|
|
||||||
type TCPInfo C.struct_tcp_info
|
type TCPInfo C.struct_tcp_info
|
||||||
|
|
@ -212,6 +217,8 @@ const (
|
||||||
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
||||||
SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo
|
SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo
|
||||||
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
||||||
|
SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo
|
||||||
|
SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter
|
||||||
SizeofUcred = C.sizeof_struct_ucred
|
SizeofUcred = C.sizeof_struct_ucred
|
||||||
SizeofTCPInfo = C.sizeof_struct_tcp_info
|
SizeofTCPInfo = C.sizeof_struct_tcp_info
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ package syscall
|
||||||
#include <net/if_dl.h>
|
#include <net/if_dl.h>
|
||||||
#include <net/route.h>
|
#include <net/route.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
#include <netinet/tcp.h>
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
@ -138,6 +139,10 @@ type Cmsghdr C.struct_cmsghdr
|
||||||
|
|
||||||
type Inet6Pktinfo C.struct_in6_pktinfo
|
type Inet6Pktinfo C.struct_in6_pktinfo
|
||||||
|
|
||||||
|
type IPv6MTUInfo C.struct_ip6_mtuinfo
|
||||||
|
|
||||||
|
type ICMPv6Filter C.struct_icmp6_filter
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
||||||
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
||||||
|
|
@ -150,6 +155,8 @@ const (
|
||||||
SizeofMsghdr = C.sizeof_struct_msghdr
|
SizeofMsghdr = C.sizeof_struct_msghdr
|
||||||
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
||||||
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
||||||
|
SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo
|
||||||
|
SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter
|
||||||
)
|
)
|
||||||
|
|
||||||
// Ptrace requests
|
// Ptrace requests
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ package syscall
|
||||||
#include <net/if_dl.h>
|
#include <net/if_dl.h>
|
||||||
#include <net/route.h>
|
#include <net/route.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
#include <netinet/tcp.h>
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
@ -154,6 +155,10 @@ type Cmsghdr C.struct_cmsghdr
|
||||||
|
|
||||||
type Inet6Pktinfo C.struct_in6_pktinfo
|
type Inet6Pktinfo C.struct_in6_pktinfo
|
||||||
|
|
||||||
|
type IPv6MTUInfo C.struct_ip6_mtuinfo
|
||||||
|
|
||||||
|
type ICMPv6Filter C.struct_icmp6_filter
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
||||||
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
||||||
|
|
@ -166,6 +171,8 @@ const (
|
||||||
SizeofMsghdr = C.sizeof_struct_msghdr
|
SizeofMsghdr = C.sizeof_struct_msghdr
|
||||||
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
||||||
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
||||||
|
SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo
|
||||||
|
SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter
|
||||||
)
|
)
|
||||||
|
|
||||||
// Ptrace requests
|
// Ptrace requests
|
||||||
|
|
|
||||||
|
|
@ -273,6 +273,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFF_ALLMULTI = 0x200
|
IFF_ALLMULTI = 0x200
|
||||||
|
|
|
||||||
|
|
@ -273,6 +273,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFF_ALLMULTI = 0x200
|
IFF_ALLMULTI = 0x200
|
||||||
|
|
|
||||||
|
|
@ -461,6 +461,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFAN_ARRIVAL = 0x0
|
IFAN_ARRIVAL = 0x0
|
||||||
|
|
|
||||||
|
|
@ -461,6 +461,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFAN_ARRIVAL = 0x0
|
IFAN_ARRIVAL = 0x0
|
||||||
|
|
|
||||||
|
|
@ -466,6 +466,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFAN_ARRIVAL = 0x0
|
IFAN_ARRIVAL = 0x0
|
||||||
|
|
|
||||||
|
|
@ -276,6 +276,7 @@ const (
|
||||||
F_ULOCK = 0x0
|
F_ULOCK = 0x0
|
||||||
F_UNLCK = 0x2
|
F_UNLCK = 0x2
|
||||||
F_WRLCK = 0x1
|
F_WRLCK = 0x1
|
||||||
|
ICMPV6_FILTER = 0x1
|
||||||
IFA_F_DADFAILED = 0x8
|
IFA_F_DADFAILED = 0x8
|
||||||
IFA_F_DEPRECATED = 0x20
|
IFA_F_DEPRECATED = 0x20
|
||||||
IFA_F_HOMEADDRESS = 0x10
|
IFA_F_HOMEADDRESS = 0x10
|
||||||
|
|
|
||||||
|
|
@ -276,6 +276,7 @@ const (
|
||||||
F_ULOCK = 0x0
|
F_ULOCK = 0x0
|
||||||
F_UNLCK = 0x2
|
F_UNLCK = 0x2
|
||||||
F_WRLCK = 0x1
|
F_WRLCK = 0x1
|
||||||
|
ICMPV6_FILTER = 0x1
|
||||||
IFA_F_DADFAILED = 0x8
|
IFA_F_DADFAILED = 0x8
|
||||||
IFA_F_DEPRECATED = 0x20
|
IFA_F_DEPRECATED = 0x20
|
||||||
IFA_F_HOMEADDRESS = 0x10
|
IFA_F_HOMEADDRESS = 0x10
|
||||||
|
|
|
||||||
|
|
@ -274,6 +274,7 @@ const (
|
||||||
F_ULOCK = 0x0
|
F_ULOCK = 0x0
|
||||||
F_UNLCK = 0x2
|
F_UNLCK = 0x2
|
||||||
F_WRLCK = 0x1
|
F_WRLCK = 0x1
|
||||||
|
ICMPV6_FILTER = 0x1
|
||||||
IFA_F_DADFAILED = 0x8
|
IFA_F_DADFAILED = 0x8
|
||||||
IFA_F_DEPRECATED = 0x20
|
IFA_F_DEPRECATED = 0x20
|
||||||
IFA_F_HOMEADDRESS = 0x10
|
IFA_F_HOMEADDRESS = 0x10
|
||||||
|
|
|
||||||
|
|
@ -570,6 +570,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFAN_ARRIVAL = 0x0
|
IFAN_ARRIVAL = 0x0
|
||||||
|
|
|
||||||
|
|
@ -560,6 +560,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFAN_ARRIVAL = 0x0
|
IFAN_ARRIVAL = 0x0
|
||||||
|
|
|
||||||
|
|
@ -560,6 +560,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFAN_ARRIVAL = 0x0
|
IFAN_ARRIVAL = 0x0
|
||||||
|
|
|
||||||
|
|
@ -439,6 +439,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFAN_ARRIVAL = 0x0
|
IFAN_ARRIVAL = 0x0
|
||||||
|
|
|
||||||
|
|
@ -445,6 +445,7 @@ const (
|
||||||
F_WRLCK = 0x3
|
F_WRLCK = 0x3
|
||||||
HUPCL = 0x4000
|
HUPCL = 0x4000
|
||||||
ICANON = 0x100
|
ICANON = 0x100
|
||||||
|
ICMP6_FILTER = 0x12
|
||||||
ICRNL = 0x100
|
ICRNL = 0x100
|
||||||
IEXTEN = 0x400
|
IEXTEN = 0x400
|
||||||
IFAN_ARRIVAL = 0x0
|
IFAN_ARRIVAL = 0x0
|
||||||
|
|
|
||||||
|
|
@ -237,6 +237,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -250,6 +259,8 @@ const (
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet4Pktinfo = 0xc
|
SizeofInet4Pktinfo = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -245,6 +245,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -258,6 +267,8 @@ const (
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet4Pktinfo = 0xc
|
SizeofInet4Pktinfo = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -236,6 +236,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -249,6 +258,8 @@ const (
|
||||||
SizeofMsghdr = 0x1c
|
SizeofMsghdr = 0x1c
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -238,6 +238,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -251,6 +260,8 @@ const (
|
||||||
SizeofMsghdr = 0x30
|
SizeofMsghdr = 0x30
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -238,6 +238,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -251,6 +260,8 @@ const (
|
||||||
SizeofMsghdr = 0x1c
|
SizeofMsghdr = 0x1c
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -245,6 +245,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Data [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
type Ucred struct {
|
type Ucred struct {
|
||||||
Pid int32
|
Pid int32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
|
|
@ -300,6 +309,8 @@ const (
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet4Pktinfo = 0xc
|
SizeofInet4Pktinfo = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
SizeofUcred = 0xc
|
SizeofUcred = 0xc
|
||||||
SizeofTCPInfo = 0x68
|
SizeofTCPInfo = 0x68
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Data [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
type Ucred struct {
|
type Ucred struct {
|
||||||
Pid int32
|
Pid int32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
|
|
@ -302,6 +311,8 @@ const (
|
||||||
SizeofCmsghdr = 0x10
|
SizeofCmsghdr = 0x10
|
||||||
SizeofInet4Pktinfo = 0xc
|
SizeofInet4Pktinfo = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
SizeofUcred = 0xc
|
SizeofUcred = 0xc
|
||||||
SizeofTCPInfo = 0x68
|
SizeofTCPInfo = 0x68
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Data [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
type Ucred struct {
|
type Ucred struct {
|
||||||
Pid int32
|
Pid int32
|
||||||
Uid uint32
|
Uid uint32
|
||||||
|
|
@ -302,6 +311,8 @@ const (
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet4Pktinfo = 0xc
|
SizeofInet4Pktinfo = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
SizeofUcred = 0xc
|
SizeofUcred = 0xc
|
||||||
SizeofTCPInfo = 0x68
|
SizeofTCPInfo = 0x68
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -185,6 +185,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -197,6 +206,8 @@ const (
|
||||||
SizeofMsghdr = 0x1c
|
SizeofMsghdr = 0x1c
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -191,6 +191,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -203,6 +212,8 @@ const (
|
||||||
SizeofMsghdr = 0x30
|
SizeofMsghdr = 0x30
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -185,6 +185,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -197,6 +206,8 @@ const (
|
||||||
SizeofMsghdr = 0x1c
|
SizeofMsghdr = 0x1c
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -226,6 +226,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -238,6 +247,8 @@ const (
|
||||||
SizeofMsghdr = 0x1c
|
SizeofMsghdr = 0x1c
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
|
|
@ -231,6 +231,15 @@ type Inet6Pktinfo struct {
|
||||||
Ifindex uint32
|
Ifindex uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type IPv6MTUInfo struct {
|
||||||
|
Addr RawSockaddrInet6
|
||||||
|
Mtu uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type ICMPv6Filter struct {
|
||||||
|
Filt [8]uint32
|
||||||
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SizeofSockaddrInet4 = 0x10
|
SizeofSockaddrInet4 = 0x10
|
||||||
SizeofSockaddrInet6 = 0x1c
|
SizeofSockaddrInet6 = 0x1c
|
||||||
|
|
@ -243,6 +252,8 @@ const (
|
||||||
SizeofMsghdr = 0x30
|
SizeofMsghdr = 0x30
|
||||||
SizeofCmsghdr = 0xc
|
SizeofCmsghdr = 0xc
|
||||||
SizeofInet6Pktinfo = 0x14
|
SizeofInet6Pktinfo = 0x14
|
||||||
|
SizeofIPv6MTUInfo = 0x20
|
||||||
|
SizeofICMPv6Filter = 0x20
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue