diff --git a/internal/tun/check.go b/internal/tun/check.go index 1d03f727..98d07284 100644 --- a/internal/tun/check.go +++ b/internal/tun/check.go @@ -1,3 +1,5 @@ +//go:build linux || darwin + package tun import ( diff --git a/internal/tun/check_unspecified.go b/internal/tun/check_unspecified.go new file mode 100644 index 00000000..4ed2f365 --- /dev/null +++ b/internal/tun/check_unspecified.go @@ -0,0 +1,7 @@ +//go:build !linux && !darwin + +package tun + +func (t *Tun) Check(path string) error { + panic("not implemented") +} diff --git a/internal/tun/create.go b/internal/tun/create.go index cb5c8226..c428534c 100644 --- a/internal/tun/create.go +++ b/internal/tun/create.go @@ -1,3 +1,5 @@ +//go:build linux || darwin + package tun import ( @@ -20,7 +22,7 @@ func (t *Tun) Create(path string) error { minor = 200 ) dev := unix.Mkdev(major, minor) - err := t.mknod(path, unix.S_IFCHR, int(dev)) + err := unix.Mknod(path, unix.S_IFCHR, int(dev)) if err != nil { return fmt.Errorf("creating TUN device file node: %w", err) } diff --git a/internal/tun/create_unspecified.go b/internal/tun/create_unspecified.go new file mode 100644 index 00000000..4378f17d --- /dev/null +++ b/internal/tun/create_unspecified.go @@ -0,0 +1,8 @@ +//go:build !linux && !darwin + +package tun + +// Create creates a TUN device at the path specified. +func (t *Tun) Create(path string) error { + panic("not implemented") +} diff --git a/internal/tun/tun.go b/internal/tun/tun.go index 4fac89c6..6322bc73 100644 --- a/internal/tun/tun.go +++ b/internal/tun/tun.go @@ -1,13 +1,7 @@ package tun -import "golang.org/x/sys/unix" - -type Tun struct { - mknod func(path string, mode uint32, dev int) (err error) -} +type Tun struct{} func New() *Tun { - return &Tun{ - mknod: unix.Mknod, - } + return &Tun{} } diff --git a/internal/tun/tun_test.go b/internal/tun/tun_test.go index eb8acb8c..284cf05f 100644 --- a/internal/tun/tun_test.go +++ b/internal/tun/tun_test.go @@ -1,3 +1,5 @@ +//go:build linux || darwin + package tun import (