]> Cypherpunks.ru repositories - govpn.git/blob - src/cypherpunks.ru/govpn/tap_freebsd.go
15745df7964cbdd9f84257f9bc7c20e6ac0bcdc0
[govpn.git] / src / cypherpunks.ru / govpn / tap_freebsd.go
1 // +build freebsd
2
3 /*
4 GoVPN -- simple secure free software virtual private network daemon
5 Copyright (C) 2014-2017 Sergey Matveev <stargrave@stargrave.org>
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 package govpn
22
23 import (
24         "io"
25         "os"
26         "path"
27
28         "github.com/pkg/errors"
29 )
30
31 func newTAPer(ifaceName string) (io.ReadWriteCloser, error) {
32         output, err := os.OpenFile(path.Join("/dev/", ifaceName), os.O_RDWR, os.ModePerm)
33         return output, errors.Wrap(err, "os.OpenFile")
34 }