summaryrefslogtreecommitdiffstats
path: root/dependencies/pkg/mod/github.com/ssgreg/journald@v1.0.0/sockaddr.go
blob: e0f2b564c4bf3da19c4236558b59a641bf6bd8f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package journald

import (
	"net"
	"syscall"
	"unsafe"
)

func sockaddr(addr *net.UnixAddr) (unsafe.Pointer, uint8) {
	sa := syscall.RawSockaddrUnix{Family: syscall.AF_UNIX}
	name := addr.Name
	n := len(name)

	for i := 0; i < n; i++ {
		sa.Path[i] = int8(name[i])
	}
	return unsafe.Pointer(&sa), byte(2 + n + 1) // length is family (uint16), name, NUL.
}