golang.org/x/net@v0.25.1-0.20240516223405-c87a5b62e243/internal/socket/msghdr_zos_s390x.go (about) 1 // Copyright 2020 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 s390x && zos 6 7 package socket 8 9 import "unsafe" 10 11 func (h *msghdr) pack(vs []iovec, bs [][]byte, oob []byte, sa []byte) { 12 for i := range vs { 13 vs[i].set(bs[i]) 14 } 15 if len(vs) > 0 { 16 h.Iov = &vs[0] 17 h.Iovlen = int32(len(vs)) 18 } 19 if len(oob) > 0 { 20 h.Control = (*byte)(unsafe.Pointer(&oob[0])) 21 h.Controllen = uint32(len(oob)) 22 } 23 if sa != nil { 24 h.Name = (*byte)(unsafe.Pointer(&sa[0])) 25 h.Namelen = uint32(len(sa)) 26 } 27 } 28 29 func (h *msghdr) controllen() int { 30 return int(h.Controllen) 31 } 32 33 func (h *msghdr) flags() int { 34 return int(h.Flags) 35 }