msghdr_linux_64bit.go 511 B

123456789101112131415161718192021222324
  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. // +build arm64 amd64 ppc64 ppc64le mips64 mips64le riscv64 s390x
  5. // +build linux
  6. package socket
  7. import "unsafe"
  8. func (h *msghdr) setIov(vs []iovec) {
  9. l := len(vs)
  10. if l == 0 {
  11. return
  12. }
  13. h.Iov = &vs[0]
  14. h.Iovlen = uint64(l)
  15. }
  16. func (h *msghdr) setControl(b []byte) {
  17. h.Control = (*byte)(unsafe.Pointer(&b[0]))
  18. h.Controllen = uint64(len(b))
  19. }