-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMisc.go
69 lines (54 loc) · 1.01 KB
/
Misc.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
package main
import (
// #include "cgo_functions.h"
// #include "dns.h"
"C"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/route53"
)
var awsConnected bool = false
var cfg aws.Config
var r53 *route53.Route53
func awsConnect() {
if !awsConnected {
session, err := session.NewSession()
if err != nil {
error("unable to load SDK config, " + err.Error())
}
r53 = route53.New(session);
awsConnected = true
}
}
func debug(s string) {
C.r53dbDebug(C.CString(s))
}
func error(s string) {
C.r53dbError(C.CString(s))
}
func notice(s string) {
C.r53dbNotice(C.CString(s))
}
//export r53dbGoOnLoad
func r53dbGoOnLoad() {
awsConnect()
}
func GoCharStringPtr(c *C.char) *string {
s := C.GoString(c)
return &s
}
func GoStringPtr(ss string) *string {
s := ss
return &s
}
func GoInt64Ptr(u C.uint) *int64 {
i := int64(u)
return &i
}
func GoBoolPtr(b bool) *bool {
p := b
return &p
}
func main() {
// main() is expected, but never executed.
}