github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/net/internal/socket/iovec_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) && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || zos)
     6  // +build arm64 amd64 loong64 ppc64 ppc64le mips64 mips64le riscv64 s390x
     7  // +build aix darwin dragonfly freebsd linux netbsd openbsd zos
     8  
     9  package socket
    10  
    11  import "unsafe"
    12  
    13  func (v *iovec) set(b []byte) {
    14  	l := len(b)
    15  	if l == 0 {
    16  		return
    17  	}
    18  	v.Base = (*byte)(unsafe.Pointer(&b[0]))
    19  	v.Len = uint64(l)
    20  }