blob: 925fd2fb23b825a715e9f21a07a09d338f31ba1f [file] [log] [blame]
Mikio Harad3003be2013-11-05 10:09:42 +09001// Copyright 2013 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
Mikio Hara5aa73252015-05-15 10:20:26 +09005// +build darwin dragonfly freebsd linux,!386 netbsd openbsd
Mikio Harad3003be2013-11-05 10:09:42 +09006
7package ipv6
8
9import (
10 "syscall"
11 "unsafe"
12)
13
Mikio Harac4bb2f72016-03-30 09:22:35 +090014func getsockopt(fd, level, name int, v unsafe.Pointer, l *uint32) error {
Mikio Harad3003be2013-11-05 10:09:42 +090015 if _, _, errno := syscall.Syscall6(syscall.SYS_GETSOCKOPT, uintptr(fd), uintptr(level), uintptr(name), uintptr(v), uintptr(unsafe.Pointer(l)), 0); errno != 0 {
16 return error(errno)
17 }
18 return nil
19}
20
Mikio Harac4bb2f72016-03-30 09:22:35 +090021func setsockopt(fd, level, name int, v unsafe.Pointer, l uint32) error {
Mikio Harad3003be2013-11-05 10:09:42 +090022 if _, _, errno := syscall.Syscall6(syscall.SYS_SETSOCKOPT, uintptr(fd), uintptr(level), uintptr(name), uintptr(v), uintptr(l), 0); errno != 0 {
23 return error(errno)
24 }
25 return nil
26}