/
sockaddr.go
122 lines (97 loc) · 3.31 KB
/
sockaddr.go
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
package funcs
import (
"sync"
"github.com/hashicorp/go-sockaddr"
"github.com/hashicorp/go-sockaddr/template"
)
var (
sockaddrNS *SockaddrFuncs
sockaddrNSInit sync.Once
)
// SockaddrNS - the sockaddr namespace
func SockaddrNS() *SockaddrFuncs {
sockaddrNSInit.Do(func() { sockaddrNS = &SockaddrFuncs{} })
return sockaddrNS
}
// AddSockaddrFuncs -
func AddSockaddrFuncs(f map[string]interface{}) {
f["sockaddr"] = SockaddrNS
}
// SockaddrFuncs -
type SockaddrFuncs struct{}
// GetAllInterfaces -
func (f *SockaddrFuncs) GetAllInterfaces() (sockaddr.IfAddrs, error) {
return sockaddr.GetAllInterfaces()
}
// GetDefaultInterfaces -
func (f *SockaddrFuncs) GetDefaultInterfaces() (sockaddr.IfAddrs, error) {
return sockaddr.GetDefaultInterfaces()
}
// GetPrivateInterfaces -
func (f *SockaddrFuncs) GetPrivateInterfaces() (sockaddr.IfAddrs, error) {
return sockaddr.GetPrivateInterfaces()
}
// GetPublicInterfaces -
func (f *SockaddrFuncs) GetPublicInterfaces() (sockaddr.IfAddrs, error) {
return sockaddr.GetPublicInterfaces()
}
// Sort -
func (f *SockaddrFuncs) Sort(selectorParam string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) {
return sockaddr.SortIfBy(selectorParam, inputIfAddrs)
}
// Exclude -
func (f *SockaddrFuncs) Exclude(selectorName, selectorParam string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) {
return sockaddr.ExcludeIfs(selectorName, selectorParam, inputIfAddrs)
}
// Include -
func (f *SockaddrFuncs) Include(selectorName, selectorParam string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) {
return sockaddr.IncludeIfs(selectorName, selectorParam, inputIfAddrs)
}
// Attr -
func (f *SockaddrFuncs) Attr(selectorName string, ifAddrsRaw interface{}) (string, error) {
return template.Attr(selectorName, ifAddrsRaw)
}
// Join -
func (f *SockaddrFuncs) Join(selectorName, joinString string, inputIfAddrs sockaddr.IfAddrs) (string, error) {
return sockaddr.JoinIfAddrs(selectorName, joinString, inputIfAddrs)
}
// Limit -
func (f *SockaddrFuncs) Limit(lim uint, in sockaddr.IfAddrs) (sockaddr.IfAddrs, error) {
return sockaddr.LimitIfAddrs(lim, in)
}
// Offset -
func (f *SockaddrFuncs) Offset(off int, in sockaddr.IfAddrs) (sockaddr.IfAddrs, error) {
return sockaddr.OffsetIfAddrs(off, in)
}
// Unique -
func (f *SockaddrFuncs) Unique(selectorName string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) {
return sockaddr.UniqueIfAddrsBy(selectorName, inputIfAddrs)
}
// Math -
func (f *SockaddrFuncs) Math(operation, value string, inputIfAddrs sockaddr.IfAddrs) (sockaddr.IfAddrs, error) {
return sockaddr.IfAddrsMath(operation, value, inputIfAddrs)
}
// GetPrivateIP -
func (f *SockaddrFuncs) GetPrivateIP() (string, error) {
return sockaddr.GetPrivateIP()
}
// GetPrivateIPs -
func (f *SockaddrFuncs) GetPrivateIPs() (string, error) {
return sockaddr.GetPrivateIPs()
}
// GetPublicIP -
func (f *SockaddrFuncs) GetPublicIP() (string, error) {
return sockaddr.GetPublicIP()
}
// GetPublicIPs -
func (f *SockaddrFuncs) GetPublicIPs() (string, error) {
return sockaddr.GetPublicIPs()
}
// GetInterfaceIP -
func (f *SockaddrFuncs) GetInterfaceIP(namedIfRE string) (string, error) {
return sockaddr.GetInterfaceIP(namedIfRE)
}
// GetInterfaceIPs -
func (f *SockaddrFuncs) GetInterfaceIPs(namedIfRE string) (string, error) {
return sockaddr.GetInterfaceIPs(namedIfRE)
}