summaryrefslogtreecommitdiff
path: root/structs.go
blob: 4300674685c365e893b3024630c9de110f6368f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// This creates a simple hello world window
package main

import 	(
	"net"
)

// It's probably a terrible idea to call this 'me'
var me Host

type Host struct {
	hostname	string			// mirrors
	domainname	string			// kernel.org
	fqdn		string			// mirrors.kernel.org
	ipmap		map[string]*IPtype	// the current ip addresses
	ifmap		map[int]*IFtype		// the current interfaces
	ipchange	bool			// set to true if things change
}

type IPtype struct {
	gone		bool		// used to track if the ip exists
	ipv6		bool		// the future
	ipv4		bool		// the past
	LinkLocal	bool
	iface		*net.Interface
	ip		net.IP
	ipnet		*net.IPNet
}

type IFtype struct {
	gone		bool		// used to track if the interface exists
	name		string		// just a shortcut to the name. maybe this is dumb
	// up		bool		// could be used to track ifup/ifdown
	iface		*net.Interface
}