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