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  }