github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/net/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 // +build arm64 amd64 loong64 ppc64 ppc64le mips64 mips64le riscv64 s390x 7 // +build linux 8 9 package socket 10 11 import "unsafe" 12 13 func (h *msghdr) setIov(vs []iovec) { 14 l := len(vs) 15 if l == 0 { 16 return 17 } 18 h.Iov = &vs[0] 19 h.Iovlen = uint64(l) 20 } 21 22 func (h *msghdr) setControl(b []byte) { 23 h.Control = (*byte)(unsafe.Pointer(&b[0])) 24 h.Controllen = uint64(len(b)) 25 }