summaryrefslogtreecommitdiff
path: root/soundbox.go
diff options
context:
space:
mode:
Diffstat (limited to 'soundbox.go')
-rw-r--r--soundbox.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/soundbox.go b/soundbox.go
new file mode 100644
index 0000000..fcabcdc
--- /dev/null
+++ b/soundbox.go
@@ -0,0 +1,25 @@
+package soundbox
+
+import (
+ "fmt"
+ "net"
+)
+
+type Soundbox struct {
+ HardwareAddr net.HardwareAddr
+}
+
+func NewSoundbox(mac string) (Soundbox, error) {
+ hardwareAddr, err := net.ParseMAC(mac)
+ if err != nil {
+ return Soundbox{}, err
+ }
+
+ if len(hardwareAddr) != 6 {
+ return Soundbox{}, fmt.Errorf("Only IEEE 802 MAC-48 addresses supported")
+ }
+
+ return Soundbox{
+ HardwareAddr: hardwareAddr,
+ }, nil
+}