msghdr_linux_64bit.go raw

   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  }
  24