Commit 0c7ddfaa authored by Mikio Hara's avatar Mikio Hara

syscall: add source-specific multicast socket options for Darwin

Update #8266

LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews
https://golang.org/cl/101460043
parent b08a9e39
......@@ -142,6 +142,8 @@ type RawSockaddr C.struct_sockaddr
type RawSockaddrAny C.struct_sockaddr_any
type RawSockaddrStorage C.struct_sockaddr_storage
type _Socklen C.socklen_t
type Linger C.struct_linger
......@@ -152,6 +154,10 @@ type IPMreq C.struct_ip_mreq
type IPv6Mreq C.struct_ipv6_mreq
type GroupReq C.struct_group_req
type GroupSourceReq C.struct_group_source_req
type Msghdr C.struct_msghdr
type Cmsghdr C.struct_cmsghdr
......@@ -168,11 +174,14 @@ const (
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
SizeofSockaddrAny = C.sizeof_struct_sockaddr_any
SizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un
SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl
SizeofLinger = C.sizeof_struct_linger
SizeofIPMreq = C.sizeof_struct_ip_mreq
SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq
SizeofGroupReq = C.sizeof_struct_group_req
SizeofGroupSourceReq = C.sizeof_struct_group_source_req
SizeofMsghdr = C.sizeof_struct_msghdr
SizeofCmsghdr = C.sizeof_struct_cmsghdr
SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo
......
......@@ -785,6 +785,15 @@ const (
MAP_RENAME = 0x20
MAP_RESERVED0080 = 0x80
MAP_SHARED = 0x1
MCAST_BLOCK_SOURCE = 0x54
MCAST_EXCLUDE = 0x2
MCAST_INCLUDE = 0x1
MCAST_JOIN_GROUP = 0x50
MCAST_JOIN_SOURCE_GROUP = 0x52
MCAST_LEAVE_GROUP = 0x51
MCAST_LEAVE_SOURCE_GROUP = 0x53
MCAST_UNBLOCK_SOURCE = 0x55
MCAST_UNDEFINED = 0x0
MCL_CURRENT = 0x1
MCL_FUTURE = 0x2
MSG_CTRUNC = 0x20
......
......@@ -785,6 +785,15 @@ const (
MAP_RENAME = 0x20
MAP_RESERVED0080 = 0x80
MAP_SHARED = 0x1
MCAST_BLOCK_SOURCE = 0x54
MCAST_EXCLUDE = 0x2
MCAST_INCLUDE = 0x1
MCAST_JOIN_GROUP = 0x50
MCAST_JOIN_SOURCE_GROUP = 0x52
MCAST_LEAVE_GROUP = 0x51
MCAST_LEAVE_SOURCE_GROUP = 0x53
MCAST_UNBLOCK_SOURCE = 0x55
MCAST_UNDEFINED = 0x0
MCL_CURRENT = 0x1
MCL_FUTURE = 0x2
MSG_CTRUNC = 0x20
......
......@@ -188,6 +188,14 @@ type RawSockaddrAny struct {
Pad [92]int8
}
type RawSockaddrStorage struct {
Len uint8
Family uint8
X__ss_pad1 [6]int8
X__ss_align int64
X__ss_pad2 [112]int8
}
type _Socklen uint32
type Linger struct {
......@@ -210,6 +218,17 @@ type IPv6Mreq struct {
Interface uint32
}
type GroupReq struct {
Interface uint32
Group RawSockaddrStorage
}
type GroupSourceReq struct {
Interface uint32
Group RawSockaddrStorage
Source RawSockaddrStorage
}
type Msghdr struct {
Name *byte
Namelen uint32
......@@ -250,11 +269,14 @@ const (
SizeofSockaddrInet4 = 0x10
SizeofSockaddrInet6 = 0x1c
SizeofSockaddrAny = 0x6c
SizeofSockaddrStorage = 0x80
SizeofSockaddrUnix = 0x6a
SizeofSockaddrDatalink = 0x14
SizeofLinger = 0x8
SizeofIPMreq = 0x8
SizeofIPv6Mreq = 0x14
SizeofGroupReq = 0x84
SizeofGroupSourceReq = 0x104
SizeofMsghdr = 0x1c
SizeofCmsghdr = 0xc
SizeofInet4Pktinfo = 0xc
......
......@@ -194,6 +194,14 @@ type RawSockaddrAny struct {
Pad [92]int8
}
type RawSockaddrStorage struct {
Len uint8
Family uint8
X__ss_pad1 [6]int8
X__ss_align int64
X__ss_pad2 [112]int8
}
type _Socklen uint32
type Linger struct {
......@@ -216,6 +224,17 @@ type IPv6Mreq struct {
Interface uint32
}
type GroupReq struct {
Interface uint32
Pad_cgo_0 [128]byte
}
type GroupSourceReq struct {
Interface uint32
Pad_cgo_0 [128]byte
Pad_cgo_1 [128]byte
}
type Msghdr struct {
Name *byte
Namelen uint32
......@@ -258,11 +277,14 @@ const (
SizeofSockaddrInet4 = 0x10
SizeofSockaddrInet6 = 0x1c
SizeofSockaddrAny = 0x6c
SizeofSockaddrStorage = 0x80
SizeofSockaddrUnix = 0x6a
SizeofSockaddrDatalink = 0x14
SizeofLinger = 0x8
SizeofIPMreq = 0x8
SizeofIPv6Mreq = 0x14
SizeofGroupReq = 0x84
SizeofGroupSourceReq = 0x104
SizeofMsghdr = 0x30
SizeofCmsghdr = 0xc
SizeofInet4Pktinfo = 0xc
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment