aboutsummaryrefslogtreecommitdiffstats
path: root/src/tun.go
diff options
context:
space:
mode:
authorMathias Hall-Andersen <mathias@hall-andersen.dk>2017-08-07 15:25:04 +0200
committerMathias Hall-Andersen <mathias@hall-andersen.dk>2017-08-07 15:25:04 +0200
commitcba1d6585ab9b12ae3e0897db85675ba452c3f09 (patch)
tree13d0975bf53a107c2760c833fd07f36d860a338a /src/tun.go
parentFirst set of code review patches (diff)
downloadwireguard-go-cba1d6585ab9b12ae3e0897db85675ba452c3f09.tar.xz
wireguard-go-cba1d6585ab9b12ae3e0897db85675ba452c3f09.zip
Number of fixes in response to code review
This version cannot complete a handshake. The program will panic upon receiving any message on the UDP socket.
Diffstat (limited to 'src/tun.go')
-rw-r--r--src/tun.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/tun.go b/src/tun.go
index d782bd5..1c4c281 100644
--- a/src/tun.go
+++ b/src/tun.go
@@ -6,10 +6,19 @@ package main
const DefaultMTU = 1420
+type TUNEvent int
+
+const (
+ TUNEventUp = 1 << iota
+ TUNEventDown
+ TUNEventMTUUpdate
+)
+
type TUNDevice interface {
Read([]byte) (int, error) // read a packet from the device (without any additional headers)
Write([]byte) (int, error) // writes a packet to the device (without any additional headers)
- IsUp() (bool, error) // is the interface up?
MTU() (int, error) // returns the MTU of the device
Name() string // returns the current name
+ Events() chan TUNEvent // returns a constant channel of events related to the device
+ Close() error // stops the device and closes the event channel
}