OSDN Git Service

new repo
[bytom/vapor.git] / vendor / golang.org / x / net / ipv6 / sys_bpf.go
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
5 // +build linux
6
7 package ipv6
8
9 import (
10         "unsafe"
11
12         "golang.org/x/net/bpf"
13         "golang.org/x/net/internal/socket"
14 )
15
16 func (so *sockOpt) setAttachFilter(c *socket.Conn, f []bpf.RawInstruction) error {
17         prog := sockFProg{
18                 Len:    uint16(len(f)),
19                 Filter: (*sockFilter)(unsafe.Pointer(&f[0])),
20         }
21         b := (*[sizeofSockFprog]byte)(unsafe.Pointer(&prog))[:sizeofSockFprog]
22         return so.Set(c, b)
23 }