@@ -86,7 +86,7 @@ require ( | |||
github.com/mgechev/revive v1.0.3 | |||
github.com/mholt/acmez v0.1.3 // indirect | |||
github.com/mholt/archiver/v3 v3.5.0 | |||
github.com/microcosm-cc/bluemonday v1.0.4 | |||
github.com/microcosm-cc/bluemonday v1.0.5 | |||
github.com/miekg/dns v1.1.40 // indirect | |||
github.com/minio/md5-simd v1.1.2 // indirect | |||
github.com/minio/minio-go/v7 v7.0.10 | |||
@@ -136,9 +136,9 @@ require ( | |||
go.uber.org/multierr v1.6.0 // indirect | |||
go.uber.org/zap v1.16.0 // indirect | |||
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 | |||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 | |||
golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c | |||
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93 | |||
golang.org/x/sys v0.0.0-20210228012217-479acdf4ea46 | |||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44 | |||
golang.org/x/text v0.3.5 | |||
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect | |||
golang.org/x/tools v0.1.0 |
@@ -1321,8 +1321,8 @@ golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwY | |||
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= | |||
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= | |||
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= | |||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw= | |||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= | |||
golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c h1:KHUzaHIpjWVlVVNh65G3hhuj3KB1HnjY6Cq5cTvRQT8= | |||
golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= | |||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | |||
golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= | |||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= | |||
@@ -1418,8 +1418,8 @@ golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7w | |||
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
golang.org/x/sys v0.0.0-20210228012217-479acdf4ea46 h1:V066+OYJ66oTjnhm4Yrn7SXIwSCiDQJxpBxmvqb1N1c= | |||
golang.org/x/sys v0.0.0-20210228012217-479acdf4ea46/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44 h1:Bli41pIlzTzf3KEY06n+xnzK/BESIg2ze4Pgfh/aI8c= | |||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | |||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= | |||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= | |||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= |
@@ -13,11 +13,13 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
func marshalPacketInfo(b []byte, cm *ControlMessage) []byte { | |||
m := socket.ControlMessage(b) | |||
m.MarshalHeader(iana.ProtocolIP, sysIP_PKTINFO, sizeofInetPktinfo) | |||
m.MarshalHeader(iana.ProtocolIP, unix.IP_PKTINFO, sizeofInetPktinfo) | |||
if cm != nil { | |||
pi := (*inetPktinfo)(unsafe.Pointer(&m.Data(sizeofInetPktinfo)[0])) | |||
if ip := cm.Src.To4(); ip != nil { |
@@ -10,11 +10,13 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
func marshalPacketInfo(b []byte, cm *ControlMessage) []byte { | |||
m := socket.ControlMessage(b) | |||
m.MarshalHeader(iana.ProtocolIP, sysIP_PKTINFO, sizeofInetPktinfo) | |||
m.MarshalHeader(iana.ProtocolIP, unix.IP_PKTINFO, sizeofInetPktinfo) | |||
if cm != nil { | |||
pi := (*inetPktinfo)(unsafe.Pointer(&m.Data(sizeofInetPktinfo)[0])) | |||
if ip := cm.Src.To4(); ip != nil { |
@@ -14,26 +14,28 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {unix.IP_RECVINTERFACE, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 1}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 1}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVINTERFACE, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
} | |||
) |
@@ -13,26 +13,28 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {unix.IP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 1}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 1}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVIF, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
} | |||
) |
@@ -11,34 +11,36 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
ctlPacketInfo: {sysIP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {unix.IP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
ctlPacketInfo: {unix.IP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, | |||
ssoStripHeader: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_STRIPHDR, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVPKTINFO, Len: 4}}, | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVIF, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, | |||
ssoStripHeader: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_STRIPHDR, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVPKTINFO, Len: 4}}, | |||
} | |||
) | |||
@@ -10,26 +10,28 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {unix.IP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVIF, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
} | |||
) |
@@ -13,38 +13,40 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, | |||
ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, | |||
ctlInterface: {unix.IP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, | |||
ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, | |||
ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVIF, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
} | |||
) | |||
func init() { | |||
freebsdVersion, _ = syscall.SysctlUint32("kern.osreldate") | |||
if freebsdVersion >= 1000000 { | |||
sockOpts[ssoMulticastInterface] = &sockOpt{Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn} | |||
sockOpts[ssoMulticastInterface] = &sockOpt{Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn} | |||
} | |||
if runtime.GOOS == "freebsd" && runtime.GOARCH == "386" { | |||
archs, _ := syscall.Sysctl("kern.supported_archs") |
@@ -11,31 +11,32 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTTL: {sysIP_TTL, 1, marshalTTL, parseTTL}, | |||
ctlPacketInfo: {sysIP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlTTL: {unix.IP_TTL, 1, marshalTTL, parseTTL}, | |||
ctlPacketInfo: {unix.IP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, | |||
ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_PKTINFO, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolReserved, Name: sysICMP_FILTER, Len: sizeofICMPFilter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, | |||
ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_PKTINFO, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolReserved, Name: unix.ICMP_FILTER, Len: sizeofICMPFilter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoAttachFilter: {Option: socket.Option{Level: unix.SOL_SOCKET, Name: unix.SO_ATTACH_FILTER, Len: unix.SizeofSockFprog}}, | |||
} | |||
) |
@@ -11,29 +11,31 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTTL: {sysIP_RECVTTL, 4, marshalTTL, parseTTL}, | |||
ctlPacketInfo: {sysIP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlTTL: {unix.IP_RECVTTL, 4, marshalTTL, parseTTL}, | |||
ctlPacketInfo: {unix.IP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, | |||
} | |||
sockOpts = map[int]sockOpt{ | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 1}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, | |||
ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVPKTINFO, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 1}}, | |||
ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, | |||
ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVPKTINFO, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
} | |||
) | |||
@@ -7,34 +7,15 @@ package ipv4 | |||
import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/windows" | |||
) | |||
const ( | |||
// See ws2tcpip.h. | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sysIP_DONTFRAGMENT = 0xe | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0xf | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x10 | |||
sysIP_PKTINFO = 0x13 | |||
sizeofInetPktinfo = 0x8 | |||
sizeofIPMreq = 0x8 | |||
sizeofIPMreqSource = 0xc | |||
) | |||
type inetPktinfo struct { | |||
Addr [4]byte | |||
Ifindex int32 | |||
} | |||
type ipMreq struct { | |||
Multiaddr [4]byte | |||
Interface [4]byte | |||
@@ -51,17 +32,13 @@ var ( | |||
ctlOpts = [ctlMax]ctlOpt{} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_TOS, Len: 4}}, | |||
ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_TTL, Len: 4}}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_MULTICAST_TTL, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_MULTICAST_LOOP, Len: 4}}, | |||
ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_HDRINCL, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, | |||
} | |||
) | |||
func (pi *inetPktinfo) setIfindex(i int) { | |||
pi.Ifindex = int32(i) | |||
} |
@@ -11,24 +11,26 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlPacketInfo: {sysIP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlPacketInfo: {unix.IP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 1}}, | |||
ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVPKTINFO, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 1}}, | |||
ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVPKTINFO, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
} | |||
) | |||
@@ -8,23 +8,10 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x20 | |||
sysIP_RECVTTL = 0x22 | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sizeofIPMreq = 0x8 | |||
) | |||
@@ -4,38 +4,9 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x14 | |||
sysIP_STRIPHDR = 0x17 | |||
sysIP_RECVTTL = 0x18 | |||
sysIP_BOUND_IF = 0x19 | |||
sysIP_PKTINFO = 0x1a | |||
sysIP_RECVPKTINFO = 0x1a | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sysIP_MULTICAST_VIF = 0xe | |||
sysIP_MULTICAST_IFINDEX = 0x42 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 | |||
sysIP_BLOCK_SOURCE = 0x48 | |||
sysIP_UNBLOCK_SOURCE = 0x49 | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,24 +4,10 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x14 | |||
sysIP_RECVTTL = 0x41 | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_MULTICAST_VIF = 0xe | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sizeofIPMreq = 0x8 | |||
) | |||
@@ -4,39 +4,9 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_SENDSRCADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x14 | |||
sysIP_ONESBCAST = 0x17 | |||
sysIP_BINDANY = 0x18 | |||
sysIP_RECVTTL = 0x41 | |||
sysIP_MINTTL = 0x42 | |||
sysIP_DONTFRAG = 0x43 | |||
sysIP_RECVTOS = 0x44 | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sysIP_MULTICAST_VIF = 0xe | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 | |||
sysIP_BLOCK_SOURCE = 0x48 | |||
sysIP_UNBLOCK_SOURCE = 0x49 | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,39 +4,9 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_SENDSRCADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x14 | |||
sysIP_ONESBCAST = 0x17 | |||
sysIP_BINDANY = 0x18 | |||
sysIP_RECVTTL = 0x41 | |||
sysIP_MINTTL = 0x42 | |||
sysIP_DONTFRAG = 0x43 | |||
sysIP_RECVTOS = 0x44 | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sysIP_MULTICAST_VIF = 0xe | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 | |||
sysIP_BLOCK_SOURCE = 0x48 | |||
sysIP_UNBLOCK_SOURCE = 0x49 | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,39 +4,9 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_SENDSRCADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x14 | |||
sysIP_ONESBCAST = 0x17 | |||
sysIP_BINDANY = 0x18 | |||
sysIP_RECVTTL = 0x41 | |||
sysIP_MINTTL = 0x42 | |||
sysIP_DONTFRAG = 0x43 | |||
sysIP_RECVTOS = 0x44 | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sysIP_MULTICAST_VIF = 0xe | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 | |||
sysIP_BLOCK_SOURCE = 0x48 | |||
sysIP_UNBLOCK_SOURCE = 0x49 | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,39 +4,9 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_SENDSRCADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x14 | |||
sysIP_ONESBCAST = 0x17 | |||
sysIP_BINDANY = 0x18 | |||
sysIP_RECVTTL = 0x41 | |||
sysIP_MINTTL = 0x42 | |||
sysIP_DONTFRAG = 0x43 | |||
sysIP_RECVTOS = 0x44 | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sysIP_MULTICAST_VIF = 0xe | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 | |||
sysIP_BLOCK_SOURCE = 0x48 | |||
sysIP_UNBLOCK_SOURCE = 0x49 | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -7,56 +7,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,56 +4,7 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_TOS = 0x1 | |||
sysIP_TTL = 0x2 | |||
sysIP_HDRINCL = 0x3 | |||
sysIP_OPTIONS = 0x4 | |||
sysIP_ROUTER_ALERT = 0x5 | |||
sysIP_RECVOPTS = 0x6 | |||
sysIP_RETOPTS = 0x7 | |||
sysIP_PKTINFO = 0x8 | |||
sysIP_PKTOPTIONS = 0x9 | |||
sysIP_MTU_DISCOVER = 0xa | |||
sysIP_RECVERR = 0xb | |||
sysIP_RECVTTL = 0xc | |||
sysIP_RECVTOS = 0xd | |||
sysIP_MTU = 0xe | |||
sysIP_FREEBIND = 0xf | |||
sysIP_TRANSPARENT = 0x13 | |||
sysIP_RECVRETOPTS = 0x7 | |||
sysIP_ORIGDSTADDR = 0x14 | |||
sysIP_RECVORIGDSTADDR = 0x14 | |||
sysIP_MINTTL = 0x15 | |||
sysIP_NODEFRAG = 0x16 | |||
sysIP_UNICAST_IF = 0x32 | |||
sysIP_MULTICAST_IF = 0x20 | |||
sysIP_MULTICAST_TTL = 0x21 | |||
sysIP_MULTICAST_LOOP = 0x22 | |||
sysIP_ADD_MEMBERSHIP = 0x23 | |||
sysIP_DROP_MEMBERSHIP = 0x24 | |||
sysIP_UNBLOCK_SOURCE = 0x25 | |||
sysIP_BLOCK_SOURCE = 0x26 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 | |||
sysIP_MSFILTER = 0x29 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIP_MULTICAST_ALL = 0x31 | |||
sysICMP_FILTER = 0x1 | |||
sysSO_EE_ORIGIN_NONE = 0x0 | |||
sysSO_EE_ORIGIN_LOCAL = 0x1 | |||
sysSO_EE_ORIGIN_ICMP = 0x2 | |||
sysSO_EE_ORIGIN_ICMP6 = 0x3 | |||
sysSO_EE_ORIGIN_TXSTATUS = 0x4 | |||
sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 | |||
sysIP_RECVTTL = 0xc | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet = 0x10 |
@@ -4,23 +4,10 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x14 | |||
sysIP_RECVTTL = 0x17 | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sizeofIPMreq = 0x8 | |||
) | |||
@@ -4,23 +4,10 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x1e | |||
sysIP_RECVTTL = 0x1f | |||
sysIP_MULTICAST_IF = 0x9 | |||
sysIP_MULTICAST_TTL = 0xa | |||
sysIP_MULTICAST_LOOP = 0xb | |||
sysIP_ADD_MEMBERSHIP = 0xc | |||
sysIP_DROP_MEMBERSHIP = 0xd | |||
sizeofIPMreq = 0x8 | |||
) | |||
@@ -4,49 +4,10 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_OPTIONS = 0x1 | |||
sysIP_HDRINCL = 0x2 | |||
sysIP_TOS = 0x3 | |||
sysIP_TTL = 0x4 | |||
sysIP_RECVOPTS = 0x5 | |||
sysIP_RECVRETOPTS = 0x6 | |||
sysIP_RECVDSTADDR = 0x7 | |||
sysIP_RETOPTS = 0x8 | |||
sysIP_RECVIF = 0x9 | |||
sysIP_RECVSLLA = 0xa | |||
sysIP_RECVTTL = 0xb | |||
sysIP_MULTICAST_IF = 0x10 | |||
sysIP_MULTICAST_TTL = 0x11 | |||
sysIP_MULTICAST_LOOP = 0x12 | |||
sysIP_ADD_MEMBERSHIP = 0x13 | |||
sysIP_DROP_MEMBERSHIP = 0x14 | |||
sysIP_BLOCK_SOURCE = 0x15 | |||
sysIP_UNBLOCK_SOURCE = 0x16 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 0x17 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 0x18 | |||
sysIP_NEXTHOP = 0x19 | |||
sysIP_PKTINFO = 0x1a | |||
sysIP_RECVPKTINFO = 0x1a | |||
sysIP_DONTFRAG = 0x1b | |||
sysIP_BOUND_IF = 0x41 | |||
sysIP_UNSPEC_SRC = 0x42 | |||
sysIP_BROADCAST_TTL = 0x43 | |||
sysIP_DHCPINIT_IF = 0x45 | |||
sysIP_REUSEADDR = 0x104 | |||
sysIP_DONTROUTE = 0x105 | |||
sysIP_BROADCAST = 0x106 | |||
sysMCAST_JOIN_GROUP = 0x29 | |||
sysMCAST_LEAVE_GROUP = 0x2a | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2d | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2e | |||
sizeofSockaddrStorage = 0x100 | |||
sizeofSockaddrInet = 0x10 | |||
sizeofInetPktinfo = 0xc |
@@ -8,30 +8,6 @@ | |||
package ipv4 | |||
const ( | |||
sysIP_ADD_MEMBERSHIP = 5 | |||
sysIP_ADD_SOURCE_MEMBERSHIP = 12 | |||
sysIP_BLOCK_SOURCE = 10 | |||
sysIP_DEFAULT_MULTICAST_LOOP = 1 | |||
sysIP_DEFAULT_MULTICAST_TTL = 1 | |||
sysIP_DROP_MEMBERSHIP = 6 | |||
sysIP_DROP_SOURCE_MEMBERSHIP = 13 | |||
sysIP_MAX_MEMBERSHIPS = 20 | |||
sysIP_MULTICAST_IF = 7 | |||
sysIP_MULTICAST_LOOP = 4 | |||
sysIP_MULTICAST_TTL = 3 | |||
sysIP_OPTIONS = 1 | |||
sysIP_PKTINFO = 101 | |||
sysIP_RECVPKTINFO = 102 | |||
sysIP_TOS = 2 | |||
sysIP_UNBLOCK_SOURCE = 11 | |||
sysMCAST_JOIN_GROUP = 40 | |||
sysMCAST_LEAVE_GROUP = 41 | |||
sysMCAST_JOIN_SOURCE_GROUP = 42 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 43 | |||
sysMCAST_BLOCK_SOURCE = 44 | |||
sysMCAST_UNBLOCK_SOURCE = 45 | |||
sizeofIPMreq = 8 | |||
sizeofSockaddrInet4 = 16 | |||
sizeofSockaddrStorage = 128 |
@@ -12,11 +12,13 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
func marshal2292HopLimit(b []byte, cm *ControlMessage) []byte { | |||
m := socket.ControlMessage(b) | |||
m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_2292HOPLIMIT, 4) | |||
m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_2292HOPLIMIT, 4) | |||
if cm != nil { | |||
socket.NativeEndian.PutUint32(m.Data(4), uint32(cm.HopLimit)) | |||
} | |||
@@ -25,7 +27,7 @@ func marshal2292HopLimit(b []byte, cm *ControlMessage) []byte { | |||
func marshal2292PacketInfo(b []byte, cm *ControlMessage) []byte { | |||
m := socket.ControlMessage(b) | |||
m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_2292PKTINFO, sizeofInet6Pktinfo) | |||
m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_2292PKTINFO, sizeofInet6Pktinfo) | |||
if cm != nil { | |||
pi := (*inet6Pktinfo)(unsafe.Pointer(&m.Data(sizeofInet6Pktinfo)[0])) | |||
if ip := cm.Src.To16(); ip != nil && ip.To4() == nil { | |||
@@ -40,7 +42,7 @@ func marshal2292PacketInfo(b []byte, cm *ControlMessage) []byte { | |||
func marshal2292NextHop(b []byte, cm *ControlMessage) []byte { | |||
m := socket.ControlMessage(b) | |||
m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_2292NEXTHOP, sizeofSockaddrInet6) | |||
m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_2292NEXTHOP, sizeofSockaddrInet6) | |||
if cm != nil { | |||
sa := (*sockaddrInet6)(unsafe.Pointer(&m.Data(sizeofSockaddrInet6)[0])) | |||
sa.setSockaddr(cm.NextHop, cm.IfIndex) |
@@ -15,32 +15,34 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, | |||
ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlNextHop: {unix.IPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, | |||
ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
} | |||
) | |||
@@ -13,32 +13,34 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, | |||
ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlNextHop: {unix.IPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, | |||
ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
} | |||
) | |||
@@ -11,36 +11,38 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, | |||
ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlNextHop: {unix.IPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, | |||
ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
} | |||
) | |||
@@ -13,36 +13,38 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, | |||
ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlNextHop: {unix.IPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, | |||
ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
} | |||
sockOpts = map[int]sockOpt{ | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
} | |||
) | |||
@@ -11,36 +11,37 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/unix" | |||
) | |||
var ( | |||
ctlOpts = [ctlMax]ctlOpt{ | |||
ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, | |||
ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, | |||
ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, | |||
ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, | |||
} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolReserved, Name: sysIPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMPV6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, | |||
ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, | |||
ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, | |||
ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, | |||
ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, | |||
ssoChecksum: {Option: socket.Option{Level: iana.ProtocolReserved, Name: unix.IPV6_CHECKSUM, Len: 4}}, | |||
ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMPV6_FILTER, Len: sizeofICMPv6Filter}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, | |||
ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, | |||
ssoAttachFilter: {Option: socket.Option{Level: unix.SOL_SOCKET, Name: unix.SO_ATTACH_FILTER, Len: unix.SizeofSockFprog}}, | |||
} | |||
) |
@@ -10,18 +10,11 @@ import ( | |||
"golang.org/x/net/internal/iana" | |||
"golang.org/x/net/internal/socket" | |||
"golang.org/x/sys/windows" | |||
) | |||
const ( | |||
// See ws2tcpip.h. | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysIPV6_PKTINFO = 0x13 | |||
sizeofSockaddrInet6 = 0x1c | |||
sizeofIPv6Mreq = 0x14 | |||
@@ -55,12 +48,12 @@ var ( | |||
ctlOpts = [ctlMax]ctlOpt{} | |||
sockOpts = map[int]*sockOpt{ | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_UNICAST_HOPS, Len: 4}}, | |||
ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_MULTICAST_IF, Len: 4}}, | |||
ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_MULTICAST_HOPS, Len: 4}}, | |||
ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_MULTICAST_LOOP, Len: 4}}, | |||
ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, | |||
} | |||
) | |||
@@ -8,40 +8,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysICMP6_FILTER = 0x26 | |||
sysIPV6_CHECKSUM = 0x27 | |||
sysIPV6_V6ONLY = 0x25 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVPKTINFO = 0x23 | |||
sysIPV6_RECVHOPLIMIT = 0x29 | |||
sysIPV6_RECVRTHDR = 0x33 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_RECVDSTOPTS = 0x38 | |||
sysIPV6_USE_MIN_MTU = 0x2c | |||
sysIPV6_RECVPATHMTU = 0x2f | |||
sysIPV6_PATHMTU = 0x2e | |||
sysIPV6_PATHMTU = 0x2e | |||
sysIPV6_PKTINFO = 0x21 | |||
sysIPV6_HOPLIMIT = 0x28 | |||
sysIPV6_NEXTHOP = 0x30 | |||
sysIPV6_HOPOPTS = 0x34 | |||
sysIPV6_DSTOPTS = 0x36 | |||
sysIPV6_RTHDR = 0x32 | |||
sysIPV6_RECVTCLASS = 0x2a | |||
sysIPV6_TCLASS = 0x2b | |||
sysIPV6_DONTFRAG = 0x2d | |||
sizeofSockaddrStorage = 0x508 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,72 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysIPV6_PORTRANGE = 0xe | |||
sysICMP6_FILTER = 0x12 | |||
sysIPV6_2292PKTINFO = 0x13 | |||
sysIPV6_2292HOPLIMIT = 0x14 | |||
sysIPV6_2292NEXTHOP = 0x15 | |||
sysIPV6_2292HOPOPTS = 0x16 | |||
sysIPV6_2292DSTOPTS = 0x17 | |||
sysIPV6_2292RTHDR = 0x18 | |||
sysIPV6_2292PKTOPTIONS = 0x19 | |||
sysIPV6_CHECKSUM = 0x1a | |||
sysIPV6_V6ONLY = 0x1b | |||
sysIPV6_IPSEC_POLICY = 0x1c | |||
sysIPV6_RECVTCLASS = 0x23 | |||
sysIPV6_TCLASS = 0x24 | |||
sysIPV6_RTHDRDSTOPTS = 0x39 | |||
sysIPV6_RECVPKTINFO = 0x3d | |||
sysIPV6_RECVHOPLIMIT = 0x25 | |||
sysIPV6_RECVRTHDR = 0x26 | |||
sysIPV6_RECVHOPOPTS = 0x27 | |||
sysIPV6_RECVDSTOPTS = 0x28 | |||
sysIPV6_USE_MIN_MTU = 0x2a | |||
sysIPV6_RECVPATHMTU = 0x2b | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_TCLASS = 0x24 | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PKTINFO = 0x2e | |||
sysIPV6_HOPLIMIT = 0x2f | |||
sysIPV6_NEXTHOP = 0x30 | |||
sysIPV6_HOPOPTS = 0x31 | |||
sysIPV6_DSTOPTS = 0x32 | |||
sysIPV6_RTHDR = 0x33 | |||
sysIPV6_AUTOFLOWLABEL = 0x3b | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_PREFER_TEMPADDR = 0x3f | |||
sysIPV6_MSFILTER = 0x4a | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sysIPV6_BOUND_IF = 0x7d | |||
sysIPV6_PORTRANGE_DEFAULT = 0x0 | |||
sysIPV6_PORTRANGE_HIGH = 0x1 | |||
sysIPV6_PORTRANGE_LOW = 0x2 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,51 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysIPV6_PORTRANGE = 0xe | |||
sysICMP6_FILTER = 0x12 | |||
sysIPV6_CHECKSUM = 0x1a | |||
sysIPV6_V6ONLY = 0x1b | |||
sysIPV6_IPSEC_POLICY = 0x1c | |||
sysIPV6_RTHDRDSTOPTS = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x24 | |||
sysIPV6_RECVHOPLIMIT = 0x25 | |||
sysIPV6_RECVRTHDR = 0x26 | |||
sysIPV6_RECVHOPOPTS = 0x27 | |||
sysIPV6_RECVDSTOPTS = 0x28 | |||
sysIPV6_USE_MIN_MTU = 0x2a | |||
sysIPV6_RECVPATHMTU = 0x2b | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PKTINFO = 0x2e | |||
sysIPV6_HOPLIMIT = 0x2f | |||
sysIPV6_NEXTHOP = 0x30 | |||
sysIPV6_HOPOPTS = 0x31 | |||
sysIPV6_DSTOPTS = 0x32 | |||
sysIPV6_RTHDR = 0x33 | |||
sysIPV6_RECVTCLASS = 0x39 | |||
sysIPV6_AUTOFLOWLABEL = 0x3b | |||
sysIPV6_TCLASS = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_PREFER_TEMPADDR = 0x3f | |||
sysIPV6_PORTRANGE_DEFAULT = 0x0 | |||
sysIPV6_PORTRANGE_HIGH = 0x1 | |||
sysIPV6_PORTRANGE_LOW = 0x2 | |||
sizeofSockaddrInet6 = 0x1c | |||
sizeofInet6Pktinfo = 0x14 |
@@ -4,63 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysIPV6_PORTRANGE = 0xe | |||
sysICMP6_FILTER = 0x12 | |||
sysIPV6_CHECKSUM = 0x1a | |||
sysIPV6_V6ONLY = 0x1b | |||
sysIPV6_IPSEC_POLICY = 0x1c | |||
sysIPV6_RTHDRDSTOPTS = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x24 | |||
sysIPV6_RECVHOPLIMIT = 0x25 | |||
sysIPV6_RECVRTHDR = 0x26 | |||
sysIPV6_RECVHOPOPTS = 0x27 | |||
sysIPV6_RECVDSTOPTS = 0x28 | |||
sysIPV6_USE_MIN_MTU = 0x2a | |||
sysIPV6_RECVPATHMTU = 0x2b | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PKTINFO = 0x2e | |||
sysIPV6_HOPLIMIT = 0x2f | |||
sysIPV6_NEXTHOP = 0x30 | |||
sysIPV6_HOPOPTS = 0x31 | |||
sysIPV6_DSTOPTS = 0x32 | |||
sysIPV6_RTHDR = 0x33 | |||
sysIPV6_RECVTCLASS = 0x39 | |||
sysIPV6_AUTOFLOWLABEL = 0x3b | |||
sysIPV6_TCLASS = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_PREFER_TEMPADDR = 0x3f | |||
sysIPV6_BINDANY = 0x40 | |||
sysIPV6_MSFILTER = 0x4a | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sysIPV6_PORTRANGE_DEFAULT = 0x0 | |||
sysIPV6_PORTRANGE_HIGH = 0x1 | |||
sysIPV6_PORTRANGE_LOW = 0x2 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,63 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysIPV6_PORTRANGE = 0xe | |||
sysICMP6_FILTER = 0x12 | |||
sysIPV6_CHECKSUM = 0x1a | |||
sysIPV6_V6ONLY = 0x1b | |||
sysIPV6_IPSEC_POLICY = 0x1c | |||
sysIPV6_RTHDRDSTOPTS = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x24 | |||
sysIPV6_RECVHOPLIMIT = 0x25 | |||
sysIPV6_RECVRTHDR = 0x26 | |||
sysIPV6_RECVHOPOPTS = 0x27 | |||
sysIPV6_RECVDSTOPTS = 0x28 | |||
sysIPV6_USE_MIN_MTU = 0x2a | |||
sysIPV6_RECVPATHMTU = 0x2b | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PKTINFO = 0x2e | |||
sysIPV6_HOPLIMIT = 0x2f | |||
sysIPV6_NEXTHOP = 0x30 | |||
sysIPV6_HOPOPTS = 0x31 | |||
sysIPV6_DSTOPTS = 0x32 | |||
sysIPV6_RTHDR = 0x33 | |||
sysIPV6_RECVTCLASS = 0x39 | |||
sysIPV6_AUTOFLOWLABEL = 0x3b | |||
sysIPV6_TCLASS = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_PREFER_TEMPADDR = 0x3f | |||
sysIPV6_BINDANY = 0x40 | |||
sysIPV6_MSFILTER = 0x4a | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sysIPV6_PORTRANGE_DEFAULT = 0x0 | |||
sysIPV6_PORTRANGE_HIGH = 0x1 | |||
sysIPV6_PORTRANGE_LOW = 0x2 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,63 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysIPV6_PORTRANGE = 0xe | |||
sysICMP6_FILTER = 0x12 | |||
sysIPV6_CHECKSUM = 0x1a | |||
sysIPV6_V6ONLY = 0x1b | |||
sysIPV6_IPSEC_POLICY = 0x1c | |||
sysIPV6_RTHDRDSTOPTS = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x24 | |||
sysIPV6_RECVHOPLIMIT = 0x25 | |||
sysIPV6_RECVRTHDR = 0x26 | |||
sysIPV6_RECVHOPOPTS = 0x27 | |||
sysIPV6_RECVDSTOPTS = 0x28 | |||
sysIPV6_USE_MIN_MTU = 0x2a | |||
sysIPV6_RECVPATHMTU = 0x2b | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PKTINFO = 0x2e | |||
sysIPV6_HOPLIMIT = 0x2f | |||
sysIPV6_NEXTHOP = 0x30 | |||
sysIPV6_HOPOPTS = 0x31 | |||
sysIPV6_DSTOPTS = 0x32 | |||
sysIPV6_RTHDR = 0x33 | |||
sysIPV6_RECVTCLASS = 0x39 | |||
sysIPV6_AUTOFLOWLABEL = 0x3b | |||
sysIPV6_TCLASS = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_PREFER_TEMPADDR = 0x3f | |||
sysIPV6_BINDANY = 0x40 | |||
sysIPV6_MSFILTER = 0x4a | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sysIPV6_PORTRANGE_DEFAULT = 0x0 | |||
sysIPV6_PORTRANGE_HIGH = 0x1 | |||
sysIPV6_PORTRANGE_LOW = 0x2 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,63 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysIPV6_PORTRANGE = 0xe | |||
sysICMP6_FILTER = 0x12 | |||
sysIPV6_CHECKSUM = 0x1a | |||
sysIPV6_V6ONLY = 0x1b | |||
sysIPV6_IPSEC_POLICY = 0x1c | |||
sysIPV6_RTHDRDSTOPTS = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x24 | |||
sysIPV6_RECVHOPLIMIT = 0x25 | |||
sysIPV6_RECVRTHDR = 0x26 | |||
sysIPV6_RECVHOPOPTS = 0x27 | |||
sysIPV6_RECVDSTOPTS = 0x28 | |||
sysIPV6_USE_MIN_MTU = 0x2a | |||
sysIPV6_RECVPATHMTU = 0x2b | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PKTINFO = 0x2e | |||
sysIPV6_HOPLIMIT = 0x2f | |||
sysIPV6_NEXTHOP = 0x30 | |||
sysIPV6_HOPOPTS = 0x31 | |||
sysIPV6_DSTOPTS = 0x32 | |||
sysIPV6_RTHDR = 0x33 | |||
sysIPV6_RECVTCLASS = 0x39 | |||
sysIPV6_AUTOFLOWLABEL = 0x3b | |||
sysIPV6_TCLASS = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_PREFER_TEMPADDR = 0x3f | |||
sysIPV6_BINDANY = 0x40 | |||
sysIPV6_MSFILTER = 0x4a | |||
sysMCAST_JOIN_GROUP = 0x50 | |||
sysMCAST_LEAVE_GROUP = 0x51 | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x52 | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x53 | |||
sysMCAST_BLOCK_SOURCE = 0x54 | |||
sysMCAST_UNBLOCK_SOURCE = 0x55 | |||
sysIPV6_PORTRANGE_DEFAULT = 0x0 | |||
sysIPV6_PORTRANGE_HIGH = 0x1 | |||
sysIPV6_PORTRANGE_LOW = 0x2 | |||
sizeofSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -7,85 +7,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,85 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_ADDRFORM = 0x1 | |||
sysIPV6_2292PKTINFO = 0x2 | |||
sysIPV6_2292HOPOPTS = 0x3 | |||
sysIPV6_2292DSTOPTS = 0x4 | |||
sysIPV6_2292RTHDR = 0x5 | |||
sysIPV6_2292PKTOPTIONS = 0x6 | |||
sysIPV6_CHECKSUM = 0x7 | |||
sysIPV6_2292HOPLIMIT = 0x8 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_FLOWINFO = 0xb | |||
sysIPV6_UNICAST_HOPS = 0x10 | |||
sysIPV6_MULTICAST_IF = 0x11 | |||
sysIPV6_MULTICAST_HOPS = 0x12 | |||
sysIPV6_MULTICAST_LOOP = 0x13 | |||
sysIPV6_ADD_MEMBERSHIP = 0x14 | |||
sysIPV6_DROP_MEMBERSHIP = 0x15 | |||
sysMCAST_JOIN_GROUP = 0x2a | |||
sysMCAST_LEAVE_GROUP = 0x2d | |||
sysMCAST_JOIN_SOURCE_GROUP = 0x2e | |||
sysMCAST_LEAVE_SOURCE_GROUP = 0x2f | |||
sysMCAST_BLOCK_SOURCE = 0x2b | |||
sysMCAST_UNBLOCK_SOURCE = 0x2c | |||
sysMCAST_MSFILTER = 0x30 | |||
sysIPV6_ROUTER_ALERT = 0x16 | |||
sysIPV6_MTU_DISCOVER = 0x17 | |||
sysIPV6_MTU = 0x18 | |||
sysIPV6_RECVERR = 0x19 | |||
sysIPV6_V6ONLY = 0x1a | |||
sysIPV6_JOIN_ANYCAST = 0x1b | |||
sysIPV6_LEAVE_ANYCAST = 0x1c | |||
sysIPV6_FLOWLABEL_MGR = 0x20 | |||
sysIPV6_FLOWINFO_SEND = 0x21 | |||
sysIPV6_IPSEC_POLICY = 0x22 | |||
sysIPV6_XFRM_POLICY = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x31 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_RECVHOPLIMIT = 0x33 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_RECVHOPOPTS = 0x35 | |||
sysIPV6_HOPOPTS = 0x36 | |||
sysIPV6_RTHDRDSTOPTS = 0x37 | |||
sysIPV6_RECVRTHDR = 0x38 | |||
sysIPV6_RTHDR = 0x39 | |||
sysIPV6_RECVDSTOPTS = 0x3a | |||
sysIPV6_DSTOPTS = 0x3b | |||
sysIPV6_RECVPATHMTU = 0x3c | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_RECVTCLASS = 0x42 | |||
sysIPV6_TCLASS = 0x43 | |||
sysIPV6_ADDR_PREFERENCES = 0x48 | |||
sysIPV6_PREFER_SRC_TMP = 0x1 | |||
sysIPV6_PREFER_SRC_PUBLIC = 0x2 | |||
sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 | |||
sysIPV6_PREFER_SRC_COA = 0x4 | |||
sysIPV6_PREFER_SRC_HOME = 0x400 | |||
sysIPV6_PREFER_SRC_CGA = 0x8 | |||
sysIPV6_PREFER_SRC_NONCGA = 0x800 | |||
sysIPV6_MINHOPCOUNT = 0x49 | |||
sysIPV6_ORIGDSTADDR = 0x4a | |||
sysIPV6_RECVORIGDSTADDR = 0x4a | |||
sysIPV6_TRANSPARENT = 0x4b | |||
sysIPV6_UNICAST_IF = 0x4c | |||
sysICMPV6_FILTER = 0x1 | |||
sysICMPV6_FILTER_BLOCK = 0x1 | |||
sysICMPV6_FILTER_PASS = 0x2 | |||
sysICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
sysICMPV6_FILTER_PASSONLY = 0x4 | |||
sysIPV6_NEXTHOP = 0x9 | |||
sysIPV6_PKTINFO = 0x32 | |||
sysIPV6_HOPLIMIT = 0x34 | |||
sysIPV6_PATHMTU = 0x3d | |||
sysIPV6_TCLASS = 0x43 | |||
sizeofKernelSockaddrStorage = 0x80 | |||
sizeofSockaddrInet6 = 0x1c |
@@ -4,47 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysIPV6_PORTRANGE = 0xe | |||
sysICMP6_FILTER = 0x12 | |||
sysIPV6_CHECKSUM = 0x1a | |||
sysIPV6_V6ONLY = 0x1b | |||
sysIPV6_IPSEC_POLICY = 0x1c | |||
sysIPV6_RTHDRDSTOPTS = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x24 | |||
sysIPV6_RECVHOPLIMIT = 0x25 | |||
sysIPV6_RECVRTHDR = 0x26 | |||
sysIPV6_RECVHOPOPTS = 0x27 | |||
sysIPV6_RECVDSTOPTS = 0x28 | |||
sysIPV6_USE_MIN_MTU = 0x2a | |||
sysIPV6_RECVPATHMTU = 0x2b | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PKTINFO = 0x2e | |||
sysIPV6_HOPLIMIT = 0x2f | |||
sysIPV6_NEXTHOP = 0x30 | |||
sysIPV6_HOPOPTS = 0x31 | |||
sysIPV6_DSTOPTS = 0x32 | |||
sysIPV6_RTHDR = 0x33 | |||
sysIPV6_RECVTCLASS = 0x39 | |||
sysIPV6_TCLASS = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_PORTRANGE_DEFAULT = 0x0 | |||
sysIPV6_PORTRANGE_HIGH = 0x1 | |||
sysIPV6_PORTRANGE_LOW = 0x2 | |||
sizeofSockaddrInet6 = 0x1c | |||
sizeofInet6Pktinfo = 0x14 |
@@ -4,56 +4,11 @@ | |||
package ipv6 | |||
const ( | |||
sysIPV6_UNICAST_HOPS = 0x4 | |||
sysIPV6_MULTICAST_IF = 0x9 | |||
sysIPV6_MULTICAST_HOPS = 0xa | |||
sysIPV6_MULTICAST_LOOP = 0xb | |||
sysIPV6_JOIN_GROUP = 0xc | |||
sysIPV6_LEAVE_GROUP = 0xd | |||
sysIPV6_PORTRANGE = 0xe | |||
sysICMP6_FILTER = 0x12 | |||
sysIPV6_CHECKSUM = 0x1a | |||
sysIPV6_V6ONLY = 0x1b | |||
sysIPV6_RTHDRDSTOPTS = 0x23 | |||
sysIPV6_RECVPKTINFO = 0x24 | |||
sysIPV6_RECVHOPLIMIT = 0x25 | |||
sysIPV6_RECVRTHDR = 0x26 | |||
sysIPV6_RECVHOPOPTS = 0x27 | |||
sysIPV6_RECVDSTOPTS = 0x28 | |||
sysIPV6_USE_MIN_MTU = 0x2a | |||
sysIPV6_RECVPATHMTU = 0x2b | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PATHMTU = 0x2c | |||
sysIPV6_PKTINFO = 0x2e | |||
sysIPV6_HOPLIMIT = 0x2f | |||
sysIPV6_NEXTHOP = 0x30 | |||
sysIPV6_HOPOPTS = 0x31 | |||
sysIPV6_DSTOPTS = 0x32 | |||
sysIPV6_RTHDR = 0x33 | |||
sysIPV6_AUTH_LEVEL = 0x35 | |||
sysIPV6_ESP_TRANS_LEVEL = 0x36 | |||
sysIPV6_ESP_NETWORK_LEVEL = 0x37 | |||
sysIPSEC6_OUTSA = 0x38 | |||
sysIPV6_RECVTCLASS = 0x39 | |||
sysIPV6_AUTOFLOWLABEL = 0x3b | |||
sysIPV6_IPCOMP_LEVEL = 0x3c | |||
sysIPV6_TCLASS = 0x3d | |||
sysIPV6_DONTFRAG = 0x3e | |||
sysIPV6_PIPEX = 0x3f | |||
sysIPV6_RTABLE = 0x1021 | |||
sysIPV6_PORTRANGE_DEFAULT = 0x0 | |||
sysIPV6_PORTRANGE_HIGH = 0x1 | |||
sysIPV6_PORTRANGE_LOW = 0x2 | |||
sizeofSockaddrInet6 = 0x1c | |||
sizeofInet6Pktinfo = 0x14 |
@@ -1,14 +1,14 @@ | |||
// Copyright 2009 The Go Authors. All rights reserved. | |||
// Copyright 2021 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
//go:build (darwin || freebsd || netbsd || openbsd) && gc | |||
// +build darwin freebsd netbsd openbsd | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for 386, Darwin | |||
// | |||
// System call support for 386 BSD | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
@@ -22,7 +22,7 @@ TEXT ·Syscall6(SB),NOSPLIT,$0-40 | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-52 | |||
JMP syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-28 | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-28 | |||
JMP syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 |
@@ -1,14 +1,14 @@ | |||
// Copyright 2009 The Go Authors. All rights reserved. | |||
// Copyright 2021 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
//go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc | |||
// +build darwin dragonfly freebsd netbsd openbsd | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for AMD64, Darwin | |||
// | |||
// System call support for AMD64 BSD | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. |
@@ -1,14 +1,14 @@ | |||
// Copyright 2013 The Go Authors. All rights reserved. | |||
// Copyright 2021 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
//go:build (darwin || freebsd || netbsd || openbsd) && gc | |||
// +build darwin freebsd netbsd openbsd | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for ARM, NetBSD | |||
// | |||
// System call support for ARM BSD | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. |
@@ -1,14 +1,14 @@ | |||
// Copyright 2009 The Go Authors. All rights reserved. | |||
// Copyright 2021 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
//go:build (darwin || freebsd || netbsd || openbsd) && gc | |||
// +build darwin freebsd netbsd openbsd | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for AMD64, NetBSD | |||
// | |||
// System call support for ARM64 BSD | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. |
@@ -1,30 +0,0 @@ | |||
// Copyright 2015 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
// +build arm,darwin | |||
#include "textflag.h" | |||
// | |||
// System call support for ARM, Darwin | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-28 | |||
B syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-40 | |||
B syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-52 | |||
B syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-28 | |||
B syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 | |||
B syscall·RawSyscall6(SB) |
@@ -1,30 +0,0 @@ | |||
// Copyright 2015 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
// +build arm64,darwin | |||
#include "textflag.h" | |||
// | |||
// System call support for AMD64, Darwin | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-56 | |||
B syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-80 | |||
B syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-104 | |||
B syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56 | |||
B syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 | |||
B syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2009 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for AMD64, DragonFly | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-104 | |||
JMP syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2009 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for 386, FreeBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-28 | |||
JMP syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-40 | |||
JMP syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-52 | |||
JMP syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-28 | |||
JMP syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 | |||
JMP syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2009 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for AMD64, FreeBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-104 | |||
JMP syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2012 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for ARM, FreeBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-28 | |||
B syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-40 | |||
B syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-52 | |||
B syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-28 | |||
B syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 | |||
B syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2018 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for ARM64, FreeBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-104 | |||
JMP syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2009 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for 386, NetBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-28 | |||
JMP syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-40 | |||
JMP syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-52 | |||
JMP syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-28 | |||
JMP syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 | |||
JMP syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2019 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for ARM64, NetBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-56 | |||
B syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-80 | |||
B syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-104 | |||
B syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56 | |||
B syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 | |||
B syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2009 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for 386, OpenBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-28 | |||
JMP syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-40 | |||
JMP syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-52 | |||
JMP syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-28 | |||
JMP syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 | |||
JMP syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2009 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for AMD64, OpenBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-104 | |||
JMP syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2017 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for ARM, OpenBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-28 | |||
B syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-40 | |||
B syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-52 | |||
B syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-28 | |||
B syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 | |||
B syscall·RawSyscall6(SB) |
@@ -1,29 +0,0 @@ | |||
// Copyright 2019 The Go Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style | |||
// license that can be found in the LICENSE file. | |||
// +build gc | |||
#include "textflag.h" | |||
// | |||
// System call support for arm64, OpenBSD | |||
// | |||
// Just jump to package syscall's implementation for all these functions. | |||
// The runtime may know about them. | |||
TEXT ·Syscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·Syscall(SB) | |||
TEXT ·Syscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·Syscall6(SB) | |||
TEXT ·Syscall9(SB),NOSPLIT,$0-104 | |||
JMP syscall·Syscall9(SB) | |||
TEXT ·RawSyscall(SB),NOSPLIT,$0-56 | |||
JMP syscall·RawSyscall(SB) | |||
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 | |||
JMP syscall·RawSyscall6(SB) |
@@ -199,7 +199,7 @@ illumos_amd64) | |||
mksyscall="go run mksyscall_solaris.go" | |||
mkerrors= | |||
mksysnum= | |||
mktypes= | |||
mktypes="GOARCH=$GOARCH go tool cgo -godefs" | |||
;; | |||
*) | |||
echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 |
@@ -56,6 +56,7 @@ includes_Darwin=' | |||
#define _DARWIN_C_SOURCE | |||
#define KERNEL | |||
#define _DARWIN_USE_64_BIT_INODE | |||
#define __APPLE_USE_RFC_3542 | |||
#include <stdint.h> | |||
#include <sys/attr.h> | |||
#include <sys/clonefile.h> | |||
@@ -216,6 +217,7 @@ struct ltchars { | |||
#include <linux/genetlink.h> | |||
#include <linux/hdreg.h> | |||
#include <linux/hidraw.h> | |||
#include <linux/icmp.h> | |||
#include <linux/icmpv6.h> | |||
#include <linux/if.h> | |||
#include <linux/if_addr.h> | |||
@@ -500,7 +502,7 @@ ccflags="$@" | |||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL)_/ || | |||
$2 ~ /^TP_STATUS_/ || | |||
$2 ~ /^FALLOC_/ || | |||
$2 == "ICMPV6_FILTER" || | |||
$2 ~ /^ICMP(V6)?_FILTER/ || | |||
$2 == "SOMAXCONN" || | |||
$2 == "NAME_MAX" || | |||
$2 == "IFNAMSIZ" || | |||
@@ -627,6 +629,7 @@ echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags | | |||
echo '// mkerrors.sh' "$@" | |||
echo '// Code generated by the command above; see README.md. DO NOT EDIT.' | |||
echo | |||
echo "//go:build ${GOARCH} && ${GOOS}" | |||
echo "// +build ${GOARCH},${GOOS}" | |||
echo | |||
go tool cgo -godefs -- "$@" _const.go >_error.out |
@@ -252,7 +252,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { | |||
} | |||
} | |||
bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] | |||
bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] | |||
sa.Name = string(bytes) | |||
return sa, nil | |||
@@ -9,7 +9,9 @@ | |||
package unix | |||
import "unsafe" | |||
import ( | |||
"unsafe" | |||
) | |||
func bytes2iovec(bs [][]byte) []Iovec { | |||
iovecs := make([]Iovec, len(bs)) | |||
@@ -76,3 +78,52 @@ func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { | |||
} | |||
return | |||
} | |||
//sys putmsg(fd int, clptr *strbuf, dataptr *strbuf, flags int) (err error) | |||
func Putmsg(fd int, cl []byte, data []byte, flags int) (err error) { | |||
var clp, datap *strbuf | |||
if len(cl) > 0 { | |||
clp = &strbuf{ | |||
Len: int32(len(cl)), | |||
Buf: (*int8)(unsafe.Pointer(&cl[0])), | |||
} | |||
} | |||
if len(data) > 0 { | |||
datap = &strbuf{ | |||
Len: int32(len(data)), | |||
Buf: (*int8)(unsafe.Pointer(&data[0])), | |||
} | |||
} | |||
return putmsg(fd, clp, datap, flags) | |||
} | |||
//sys getmsg(fd int, clptr *strbuf, dataptr *strbuf, flags *int) (err error) | |||
func Getmsg(fd int, cl []byte, data []byte) (retCl []byte, retData []byte, flags int, err error) { | |||
var clp, datap *strbuf | |||
if len(cl) > 0 { | |||
clp = &strbuf{ | |||
Maxlen: int32(len(cl)), | |||
Buf: (*int8)(unsafe.Pointer(&cl[0])), | |||
} | |||
} | |||
if len(data) > 0 { | |||
datap = &strbuf{ | |||
Maxlen: int32(len(data)), | |||
Buf: (*int8)(unsafe.Pointer(&data[0])), | |||
} | |||
} | |||
if err = getmsg(fd, clp, datap, &flags); err != nil { | |||
return nil, nil, 0, err | |||
} | |||
if len(cl) > 0 { | |||
retCl = cl[:clp.Len] | |||
} | |||
if len(data) > 0 { | |||
retData = data[:datap.Len] | |||
} | |||
return retCl, retData, flags, nil | |||
} |
@@ -1877,6 +1877,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e | |||
//sys ClockGettime(clockid int32, time *Timespec) (err error) | |||
//sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) | |||
//sys Close(fd int) (err error) | |||
//sys CloseRange(first uint, last uint, flags uint) (err error) | |||
//sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) | |||
//sys DeleteModule(name string, flags int) (err error) | |||
//sys Dup(oldfd int) (fd int, err error) |
@@ -250,7 +250,7 @@ func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen | |||
} | |||
func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error { | |||
args := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)} | |||
args := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen} | |||
_, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) | |||
if err != 0 { | |||
return err |
@@ -565,7 +565,12 @@ func Minor(dev uint64) uint32 { | |||
* Expose the ioctl function | |||
*/ | |||
//sys ioctl(fd int, req uint, arg uintptr) (err error) | |||
//sys ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) = libc.ioctl | |||
func ioctl(fd int, req uint, arg uintptr) (err error) { | |||
_, err = ioctlRet(fd, req, arg) | |||
return err | |||
} | |||
func IoctlSetTermio(fd int, req uint, value *Termio) error { | |||
err := ioctl(fd, req, uintptr(unsafe.Pointer(value))) |
@@ -776,15 +776,24 @@ const ( | |||
IPV6_2292PKTINFO = 0x13 | |||
IPV6_2292PKTOPTIONS = 0x19 | |||
IPV6_2292RTHDR = 0x18 | |||
IPV6_3542DSTOPTS = 0x32 | |||
IPV6_3542HOPLIMIT = 0x2f | |||
IPV6_3542HOPOPTS = 0x31 | |||
IPV6_3542NEXTHOP = 0x30 | |||
IPV6_3542PKTINFO = 0x2e | |||
IPV6_3542RTHDR = 0x33 | |||
IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 | |||
IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 | |||
IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 | |||
IPV6_AUTOFLOWLABEL = 0x3b | |||
IPV6_BINDV6ONLY = 0x1b | |||
IPV6_BOUND_IF = 0x7d | |||
IPV6_CHECKSUM = 0x1a | |||
IPV6_DEFAULT_MULTICAST_HOPS = 0x1 | |||
IPV6_DEFAULT_MULTICAST_LOOP = 0x1 | |||
IPV6_DEFHLIM = 0x40 | |||
IPV6_DONTFRAG = 0x3e | |||
IPV6_DSTOPTS = 0x32 | |||
IPV6_FAITH = 0x1d | |||
IPV6_FLOWINFO_MASK = 0xffffff0f | |||
IPV6_FLOWLABEL_MASK = 0xffff0f00 | |||
@@ -796,6 +805,8 @@ const ( | |||
IPV6_FW_GET = 0x22 | |||
IPV6_FW_ZERO = 0x21 | |||
IPV6_HLIMDEC = 0x1 | |||
IPV6_HOPLIMIT = 0x2f | |||
IPV6_HOPOPTS = 0x31 | |||
IPV6_IPSEC_POLICY = 0x1c | |||
IPV6_JOIN_GROUP = 0xc | |||
IPV6_LEAVE_GROUP = 0xd | |||
@@ -807,20 +818,34 @@ const ( | |||
IPV6_MAX_SOCK_SRC_FILTER = 0x80 | |||
IPV6_MIN_MEMBERSHIPS = 0x1f | |||
IPV6_MMTU = 0x500 | |||
IPV6_MSFILTER = 0x4a | |||
IPV6_MULTICAST_HOPS = 0xa | |||
IPV6_MULTICAST_IF = 0x9 | |||
IPV6_MULTICAST_LOOP = 0xb | |||
IPV6_NEXTHOP = 0x30 | |||
IPV6_PATHMTU = 0x2c | |||
IPV6_PKTINFO = 0x2e | |||
IPV6_PORTRANGE = 0xe | |||
IPV6_PORTRANGE_DEFAULT = 0x0 | |||
IPV6_PORTRANGE_HIGH = 0x1 | |||
IPV6_PORTRANGE_LOW = 0x2 | |||
IPV6_PREFER_TEMPADDR = 0x3f | |||
IPV6_RECVDSTOPTS = 0x28 | |||
IPV6_RECVHOPLIMIT = 0x25 | |||
IPV6_RECVHOPOPTS = 0x27 | |||
IPV6_RECVPATHMTU = 0x2b | |||
IPV6_RECVPKTINFO = 0x3d | |||
IPV6_RECVRTHDR = 0x26 | |||
IPV6_RECVTCLASS = 0x23 | |||
IPV6_RTHDR = 0x33 | |||
IPV6_RTHDRDSTOPTS = 0x39 | |||
IPV6_RTHDR_LOOSE = 0x0 | |||
IPV6_RTHDR_STRICT = 0x1 | |||
IPV6_RTHDR_TYPE_0 = 0x0 | |||
IPV6_SOCKOPT_RESERVED1 = 0x3 | |||
IPV6_TCLASS = 0x24 | |||
IPV6_UNICAST_HOPS = 0x4 | |||
IPV6_USE_MIN_MTU = 0x2a | |||
IPV6_V6ONLY = 0x1b | |||
IPV6_VERSION = 0x60 | |||
IPV6_VERSION_MASK = 0xf0 |
@@ -776,15 +776,24 @@ const ( | |||
IPV6_2292PKTINFO = 0x13 | |||
IPV6_2292PKTOPTIONS = 0x19 | |||
IPV6_2292RTHDR = 0x18 | |||
IPV6_3542DSTOPTS = 0x32 | |||
IPV6_3542HOPLIMIT = 0x2f | |||
IPV6_3542HOPOPTS = 0x31 | |||
IPV6_3542NEXTHOP = 0x30 | |||
IPV6_3542PKTINFO = 0x2e | |||
IPV6_3542RTHDR = 0x33 | |||
IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 | |||
IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 | |||
IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 | |||
IPV6_AUTOFLOWLABEL = 0x3b | |||
IPV6_BINDV6ONLY = 0x1b | |||
IPV6_BOUND_IF = 0x7d | |||
IPV6_CHECKSUM = 0x1a | |||
IPV6_DEFAULT_MULTICAST_HOPS = 0x1 | |||
IPV6_DEFAULT_MULTICAST_LOOP = 0x1 | |||
IPV6_DEFHLIM = 0x40 | |||
IPV6_DONTFRAG = 0x3e | |||
IPV6_DSTOPTS = 0x32 | |||
IPV6_FAITH = 0x1d | |||
IPV6_FLOWINFO_MASK = 0xffffff0f | |||
IPV6_FLOWLABEL_MASK = 0xffff0f00 | |||
@@ -796,6 +805,8 @@ const ( | |||
IPV6_FW_GET = 0x22 | |||
IPV6_FW_ZERO = 0x21 | |||
IPV6_HLIMDEC = 0x1 | |||
IPV6_HOPLIMIT = 0x2f | |||
IPV6_HOPOPTS = 0x31 | |||
IPV6_IPSEC_POLICY = 0x1c | |||
IPV6_JOIN_GROUP = 0xc | |||
IPV6_LEAVE_GROUP = 0xd | |||
@@ -807,20 +818,34 @@ const ( | |||
IPV6_MAX_SOCK_SRC_FILTER = 0x80 | |||
IPV6_MIN_MEMBERSHIPS = 0x1f | |||
IPV6_MMTU = 0x500 | |||
IPV6_MSFILTER = 0x4a | |||
IPV6_MULTICAST_HOPS = 0xa | |||
IPV6_MULTICAST_IF = 0x9 | |||
IPV6_MULTICAST_LOOP = 0xb | |||
IPV6_NEXTHOP = 0x30 | |||
IPV6_PATHMTU = 0x2c | |||
IPV6_PKTINFO = 0x2e | |||
IPV6_PORTRANGE = 0xe | |||
IPV6_PORTRANGE_DEFAULT = 0x0 | |||
IPV6_PORTRANGE_HIGH = 0x1 | |||
IPV6_PORTRANGE_LOW = 0x2 | |||
IPV6_PREFER_TEMPADDR = 0x3f | |||
IPV6_RECVDSTOPTS = 0x28 | |||
IPV6_RECVHOPLIMIT = 0x25 | |||
IPV6_RECVHOPOPTS = 0x27 | |||
IPV6_RECVPATHMTU = 0x2b | |||
IPV6_RECVPKTINFO = 0x3d | |||
IPV6_RECVRTHDR = 0x26 | |||
IPV6_RECVTCLASS = 0x23 | |||
IPV6_RTHDR = 0x33 | |||
IPV6_RTHDRDSTOPTS = 0x39 | |||
IPV6_RTHDR_LOOSE = 0x0 | |||
IPV6_RTHDR_STRICT = 0x1 | |||
IPV6_RTHDR_TYPE_0 = 0x0 | |||
IPV6_SOCKOPT_RESERVED1 = 0x3 | |||
IPV6_TCLASS = 0x24 | |||
IPV6_UNICAST_HOPS = 0x4 | |||
IPV6_USE_MIN_MTU = 0x2a | |||
IPV6_V6ONLY = 0x1b | |||
IPV6_VERSION = 0x60 | |||
IPV6_VERSION_MASK = 0xf0 |
@@ -1022,6 +1022,15 @@ const ( | |||
MAP_RESERVED0100 = 0x100 | |||
MAP_SHARED = 0x1 | |||
MAP_STACK = 0x400 | |||
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 | |||
MNT_ACLS = 0x8000000 |
@@ -974,6 +974,11 @@ const ( | |||
HUGETLBFS_MAGIC = 0x958458f6 | |||
IBSHIFT = 0x10 | |||
ICMPV6_FILTER = 0x1 | |||
ICMPV6_FILTER_BLOCK = 0x1 | |||
ICMPV6_FILTER_BLOCKOTHERS = 0x3 | |||
ICMPV6_FILTER_PASS = 0x2 | |||
ICMPV6_FILTER_PASSONLY = 0x4 | |||
ICMP_FILTER = 0x1 | |||
ICRNL = 0x100 | |||
IFA_F_DADFAILED = 0x8 | |||
IFA_F_DEPRECATED = 0x20 |
@@ -137,6 +137,7 @@ const ( | |||
IP_TTL = 3 | |||
IP_UNBLOCK_SOURCE = 11 | |||
ICANON = 0x0010 | |||
ICMP6_FILTER = 0x26 | |||
ICRNL = 0x0002 | |||
IEXTEN = 0x0020 | |||
IGNBRK = 0x0004 |
@@ -15,19 +15,25 @@ import ( | |||
//go:cgo_import_dynamic libc_writev writev "libc.so" | |||
//go:cgo_import_dynamic libc_pwritev pwritev "libc.so" | |||
//go:cgo_import_dynamic libc_accept4 accept4 "libsocket.so" | |||
//go:cgo_import_dynamic libc_putmsg putmsg "libc.so" | |||
//go:cgo_import_dynamic libc_getmsg getmsg "libc.so" | |||
//go:linkname procreadv libc_readv | |||
//go:linkname procpreadv libc_preadv | |||
//go:linkname procwritev libc_writev | |||
//go:linkname procpwritev libc_pwritev | |||
//go:linkname procaccept4 libc_accept4 | |||
//go:linkname procputmsg libc_putmsg | |||
//go:linkname procgetmsg libc_getmsg | |||
var ( | |||
procreadv, | |||
procpreadv, | |||
procwritev, | |||
procpwritev, | |||
procaccept4 syscallFunc | |||
procaccept4, | |||
procputmsg, | |||
procgetmsg syscallFunc | |||
) | |||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT | |||
@@ -100,3 +106,23 @@ func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, | |||
} | |||
return | |||
} | |||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT | |||
func putmsg(fd int, clptr *strbuf, dataptr *strbuf, flags int) (err error) { | |||
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procputmsg)), 4, uintptr(fd), uintptr(unsafe.Pointer(clptr)), uintptr(unsafe.Pointer(dataptr)), uintptr(flags), 0, 0) | |||
if e1 != 0 { | |||
err = e1 | |||
} | |||
return | |||
} | |||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT | |||
func getmsg(fd int, clptr *strbuf, dataptr *strbuf, flags *int) (err error) { | |||
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetmsg)), 4, uintptr(fd), uintptr(unsafe.Pointer(clptr)), uintptr(unsafe.Pointer(dataptr)), uintptr(unsafe.Pointer(flags)), 0, 0) | |||
if e1 != 0 { | |||
err = e1 | |||
} | |||
return | |||
} |
@@ -532,6 +532,16 @@ func Close(fd int) (err error) { | |||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT | |||
func CloseRange(first uint, last uint, flags uint) (err error) { | |||
_, _, e1 := Syscall(SYS_CLOSE_RANGE, uintptr(first), uintptr(last), uintptr(flags)) | |||
if e1 != 0 { | |||
err = errnoErr(e1) | |||
} | |||
return | |||
} | |||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT | |||
func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { | |||
r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) | |||
n = int(r0) |
@@ -619,8 +619,9 @@ func __minor(version int, dev uint64) (val uint) { | |||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT | |||
func ioctl(fd int, req uint, arg uintptr) (err error) { | |||
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) | |||
func ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) { | |||
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) | |||
ret = int(r0) | |||
if e1 != 0 { | |||
err = e1 | |||
} |
@@ -0,0 +1,40 @@ | |||
// cgo -godefs types_illumos.go | go run mkpost.go | |||
// Code generated by the command above; see README.md. DO NOT EDIT. | |||
//go:build amd64 && illumos | |||
// +build amd64,illumos | |||
package unix | |||
const ( | |||
TUNNEWPPA = 0x540001 | |||
TUNSETPPA = 0x540002 | |||
I_STR = 0x5308 | |||
I_POP = 0x5303 | |||
I_PUSH = 0x5302 | |||
I_PLINK = 0x5316 | |||
I_PUNLINK = 0x5317 | |||
IF_UNITSEL = -0x7ffb8cca | |||
) | |||
type strbuf struct { | |||
Maxlen int32 | |||
Len int32 | |||
Buf *int8 | |||
} | |||
type strioctl struct { | |||
Cmd int32 | |||
Timout int32 | |||
Len int32 | |||
Dp *int8 | |||
} | |||
type lifreq struct { | |||
Name [32]int8 | |||
Lifru1 [4]byte | |||
Type uint32 | |||
Lifru [336]byte | |||
} |