Source File
control_pktinfo.go
Belonging Package
golang.org/x/net/ipv4
// Copyright 2014 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 || linux || solarispackage ipv4import ()func marshalPacketInfo( []byte, *ControlMessage) []byte {:= socket.ControlMessage().MarshalHeader(iana.ProtocolIP, unix.IP_PKTINFO, sizeofInetPktinfo)if != nil {:= (*inetPktinfo)(unsafe.Pointer(&.Data(sizeofInetPktinfo)[0]))if := .Src.To4(); != nil {copy(.Spec_dst[:], )}if .IfIndex > 0 {.setIfindex(.IfIndex)}}return .Next(sizeofInetPktinfo)}func parsePacketInfo( *ControlMessage, []byte) {:= (*inetPktinfo)(unsafe.Pointer(&[0])).IfIndex = int(.Ifindex)if len(.Dst) < net.IPv4len {.Dst = make(net.IP, net.IPv4len)}copy(.Dst, .Addr[:])}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |