aboutsummaryrefslogtreecommitdiff
path: root/src/tun.go
diff options
context:
space:
mode:
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
}