golang.org/x/net@v0.25.1-0.20240516223405-c87a5b62e243/internal/socket/msghdr_linux_64bit.go (about)

     1  // Copyright 2017 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build (arm64 || amd64 || loong64 || ppc64 || ppc64le || mips64 || mips64le || riscv64 || s390x) && linux
     6  
     7  package socket
     8  
     9  import "unsafe"
    10  
    11  func (h *msghdr) setIov(vs []iovec) {
    12  	l := len(vs)
    13  	if l == 0 {
    14  		return
    15  	}
    16  	h.Iov = &vs[0]
    17  	h.Iovlen = uint64(l)
    18  }
    19  
    20  func (h *msghdr) setControl(b []byte) {
    21  	h.Control = (*byte)(unsafe.Pointer(&b[0]))
    22  	h.Controllen = uint64(len(b))
    23  }