Files
cunicu/pkg/device/device.go
Steffen Vogel 3bee839348 fix: Update copyright years
Signed-off-by: Steffen Vogel <post@steffenvogel.de>
2025-01-01 22:45:39 +01:00

32 lines
588 B
Go

// SPDX-FileCopyrightText: 2023-2025 Steffen Vogel <post@steffenvogel.de>
// SPDX-License-Identifier: Apache-2.0
// Package device implements OS abstractions for managing WireGuard links
package device
import (
"cunicu.li/cunicu/pkg/link"
"cunicu.li/cunicu/pkg/wg"
)
type Device interface {
link.Link
Bind() *wg.Bind
BindUpdate() error
}
func NewDevice(name string, user bool) (kernelDev Device, err error) {
if user {
kernelDev, err = NewUserDevice(name)
} else {
kernelDev, err = NewKernelDevice(name)
}
if err != nil {
return nil, err
}
return kernelDev, nil
}