Source File
sockcmsg_unix.go
Belonging Package
golang.org/x/sys/unix
package unix
import (
)
func ( int) int {
return cmsgAlignOf(SizeofCmsghdr) +
}
func ( int) int {
return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf()
}
func ( *Cmsghdr) ( uintptr) unsafe.Pointer {
return unsafe.Pointer(uintptr(unsafe.Pointer()) + uintptr(cmsgAlignOf(SizeofCmsghdr)) + )
}
type SocketControlMessage struct {
Header Cmsghdr
Data []byte
}
func ( []byte) ([]SocketControlMessage, error) {
var []SocketControlMessage
:= 0
for +CmsgLen(0) <= len() {
, , := socketControlMessageHeaderAndData([:])
if != nil {
return nil,
}
:= SocketControlMessage{Header: *, Data: }
= append(, )
+= cmsgAlignOf(int(.Len))
}
return , nil
}
func ( []byte) (*Cmsghdr, []byte, error) {
:= (*Cmsghdr)(unsafe.Pointer(&[0]))
if .Len < SizeofCmsghdr || uint64(.Len) > uint64(len()) {
return nil, nil, EINVAL
}
return , [cmsgAlignOf(SizeofCmsghdr):.Len], nil
}
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |