MYNEWT-434 GATT Go Library bug - GATT Go Library: Add missing Stop() method in device call - Revendoring
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/commit/18cde7cf Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/tree/18cde7cf Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/diff/18cde7cf Branch: refs/heads/develop Commit: 18cde7cf12f2fc4e0983b4cdb341e0c6fb895440 Parents: a0810dc Author: admin <vrah...@gmail.com> Authored: Mon Oct 10 20:06:01 2016 -0700 Committer: admin <vrah...@gmail.com> Committed: Mon Oct 10 20:25:34 2016 -0700 ---------------------------------------------------------------------- newtmgr/Godeps/Godeps.json | 34 +- newtmgr/transport/connble.go | 3 +- .../vendor/github.com/runtimeinc/gatt/device.go | 3 + .../x/sys/unix/gccgo_linux_sparc64.go | 20 + newtmgr/vendor/golang.org/x/sys/unix/mkall.sh | 7 + .../vendor/golang.org/x/sys/unix/mkerrors.sh | 7 + .../golang.org/x/sys/unix/syscall_linux.go | 3 +- .../x/sys/unix/syscall_linux_sparc64.go | 169 ++ .../vendor/golang.org/x/sys/unix/types_linux.go | 9 +- .../x/sys/unix/zerrors_linux_sparc64.go | 2077 ++++++++++++++++++ .../x/sys/unix/zsyscall_linux_sparc64.go | 1834 ++++++++++++++++ .../x/sys/unix/zsysnum_linux_sparc64.go | 348 +++ .../x/sys/unix/ztypes_linux_sparc64.go | 640 ++++++ .../vendor/gopkg.in/fsnotify.v1/.editorconfig | 5 + .../vendor/gopkg.in/fsnotify.v1/CHANGELOG.md | 6 +- newtmgr/vendor/gopkg.in/fsnotify.v1/inotify.go | 2 +- 16 files changed, 5143 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/18cde7cf/newtmgr/Godeps/Godeps.json ---------------------------------------------------------------------- diff --git a/newtmgr/Godeps/Godeps.json b/newtmgr/Godeps/Godeps.json index 561ed5a..87a4d9b 100644 --- a/newtmgr/Godeps/Godeps.json +++ b/newtmgr/Godeps/Godeps.json @@ -35,35 +35,35 @@ }, { "ImportPath": "github.com/runtimeinc/gatt", - "Rev": "71e7ae065312559668a7d696b81d6768b69db57a" + "Rev": "e559c7ba05f6cc18349eb06b3f65e0a9eb1b22f7" }, { "ImportPath": "github.com/runtimeinc/gatt/linux", - "Rev": "71e7ae065312559668a7d696b81d6768b69db57a" + "Rev": "e559c7ba05f6cc18349eb06b3f65e0a9eb1b22f7" }, { "ImportPath": "github.com/runtimeinc/gatt/linux/cmd", - "Rev": "71e7ae065312559668a7d696b81d6768b69db57a" + "Rev": "e559c7ba05f6cc18349eb06b3f65e0a9eb1b22f7" }, { "ImportPath": "github.com/runtimeinc/gatt/linux/evt", - "Rev": "71e7ae065312559668a7d696b81d6768b69db57a" + "Rev": "e559c7ba05f6cc18349eb06b3f65e0a9eb1b22f7" }, { "ImportPath": "github.com/runtimeinc/gatt/linux/gioctl", - "Rev": "71e7ae065312559668a7d696b81d6768b69db57a" + "Rev": "e559c7ba05f6cc18349eb06b3f65e0a9eb1b22f7" }, { "ImportPath": "github.com/runtimeinc/gatt/linux/socket", - "Rev": "71e7ae065312559668a7d696b81d6768b69db57a" + "Rev": "e559c7ba05f6cc18349eb06b3f65e0a9eb1b22f7" }, { "ImportPath": "github.com/runtimeinc/gatt/linux/util", - "Rev": "71e7ae065312559668a7d696b81d6768b69db57a" + "Rev": "e559c7ba05f6cc18349eb06b3f65e0a9eb1b22f7" }, { "ImportPath": "github.com/runtimeinc/gatt/xpc", - "Rev": "71e7ae065312559668a7d696b81d6768b69db57a" + "Rev": "e559c7ba05f6cc18349eb06b3f65e0a9eb1b22f7" }, { "ImportPath": "github.com/spf13/cast", @@ -91,27 +91,27 @@ }, { "ImportPath": "golang.org/x/sys/unix", - "Rev": "8d1157a435470616f975ff9bb013bea8d0962067" + "Rev": "67f277b6fe017c42fc3b4a445edc999dd99edd58" }, { "ImportPath": "gopkg.in/fsnotify.v1", - "Comment": "v1.4.1", - "Rev": "944cff21b3baf3ced9a880365682152ba577d348" + "Comment": "v1.4.2", + "Rev": "629574ca2a5df945712d3079857300b5e4da0236" }, { "ImportPath": "mynewt.apache.org/newt/util", - "Comment": "pre_sterly_refactor-39-gc1470a5", - "Rev": "c1470a51a7f7b6b3deef4597de828f980780ae3d" + "Comment": "pre_sterly_refactor-40-ge56049b", + "Rev": "e56049b237d9fed510d92024358e4dc16a944b56" }, { "ImportPath": "mynewt.apache.org/newt/viper", - "Comment": "pre_sterly_refactor-39-gc1470a5", - "Rev": "c1470a51a7f7b6b3deef4597de828f980780ae3d" + "Comment": "pre_sterly_refactor-40-ge56049b", + "Rev": "e56049b237d9fed510d92024358e4dc16a944b56" }, { "ImportPath": "mynewt.apache.org/newt/yaml", - "Comment": "pre_sterly_refactor-39-gc1470a5", - "Rev": "c1470a51a7f7b6b3deef4597de828f980780ae3d" + "Comment": "pre_sterly_refactor-40-ge56049b", + "Rev": "e56049b237d9fed510d92024358e4dc16a944b56" } ] } http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/18cde7cf/newtmgr/transport/connble.go ---------------------------------------------------------------------- diff --git a/newtmgr/transport/connble.go b/newtmgr/transport/connble.go index 247752b..6160340 100644 --- a/newtmgr/transport/connble.go +++ b/newtmgr/transport/connble.go @@ -194,6 +194,5 @@ func (cb *ConnBLE) WritePacket(pkt *Packet) error { func (cb *ConnBLE) Close() error { log.Debugf("Closing Connection %+v", cb) - cb.bleDevice.CancelConnection(devicePerph) - return nil + return cb.bleDevice.Stop() } http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/18cde7cf/newtmgr/vendor/github.com/runtimeinc/gatt/device.go ---------------------------------------------------------------------- diff --git a/newtmgr/vendor/github.com/runtimeinc/gatt/device.go b/newtmgr/vendor/github.com/runtimeinc/gatt/device.go index 93d423e..eba96cf 100644 --- a/newtmgr/vendor/github.com/runtimeinc/gatt/device.go +++ b/newtmgr/vendor/github.com/runtimeinc/gatt/device.go @@ -81,6 +81,9 @@ type Device interface { // Handle registers the specified handlers. Handle(h ...Handler) + // Stop HCI Connection + Stop() error + // Option sets the options specified. Option(o ...Option) error } http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/18cde7cf/newtmgr/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go ---------------------------------------------------------------------- diff --git a/newtmgr/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go b/newtmgr/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go new file mode 100644 index 0000000..5633269 --- /dev/null +++ b/newtmgr/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go @@ -0,0 +1,20 @@ +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build gccgo,linux,sparc64 + +package unix + +import "syscall" + +//extern sysconf +func realSysconf(name int) int64 + +func sysconf(name int) (n int64, err syscall.Errno) { + r := realSysconf(name) + if r < 0 { + return 0, syscall.GetErrno() + } + return r, 0 +} http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/18cde7cf/newtmgr/vendor/golang.org/x/sys/unix/mkall.sh ---------------------------------------------------------------------- diff --git a/newtmgr/vendor/golang.org/x/sys/unix/mkall.sh b/newtmgr/vendor/golang.org/x/sys/unix/mkall.sh index 3e224c5..2a1473f 100755 --- a/newtmgr/vendor/golang.org/x/sys/unix/mkall.sh +++ b/newtmgr/vendor/golang.org/x/sys/unix/mkall.sh @@ -223,6 +223,13 @@ linux_s390x) # package generates its version of the types file. mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ;; +linux_sparc64) + GOOSARCH_in=syscall_linux_sparc64.go + unistd_h=/usr/include/sparc64-linux-gnu/asm/unistd.h + mkerrors="$mkerrors -m64" + mksysnum="./mksysnum_linux.pl $unistd_h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; netbsd_386) mkerrors="$mkerrors -m32" mksyscall="./mksyscall.pl -l32 -netbsd" http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/18cde7cf/newtmgr/vendor/golang.org/x/sys/unix/mkerrors.sh ---------------------------------------------------------------------- diff --git a/newtmgr/vendor/golang.org/x/sys/unix/mkerrors.sh b/newtmgr/vendor/golang.org/x/sys/unix/mkerrors.sh index c40d788..33b7922 100755 --- a/newtmgr/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/newtmgr/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -127,6 +127,7 @@ includes_Linux=' #include <linux/sched.h> #include <linux/wait.h> #include <linux/icmpv6.h> +#include <linux/serial.h> #include <net/route.h> #include <asm/termbits.h> @@ -141,6 +142,12 @@ includes_Linux=' #ifndef PTRACE_SETREGS #define PTRACE_SETREGS 0xd #endif + +#ifdef SOL_BLUETOOTH +// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h +// but it is already in bluetooth_linux.go +#undef SOL_BLUETOOTH +#endif ' includes_NetBSD=' http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/18cde7cf/newtmgr/vendor/golang.org/x/sys/unix/syscall_linux.go ---------------------------------------------------------------------- diff --git a/newtmgr/vendor/golang.org/x/sys/unix/syscall_linux.go b/newtmgr/vendor/golang.org/x/sys/unix/syscall_linux.go index 6d10c9c..46ace86 100644 --- a/newtmgr/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/newtmgr/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -143,8 +143,7 @@ func UtimesNano(path string, ts []Timespec) error { // in 2.6.22, Released, 8 July 2007) then fall back to utimes var tv [2]Timeval for i := 0; i < 2; i++ { - tv[i].Sec = ts[i].Sec - tv[i].Usec = ts[i].Nsec / 1000 + tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) } return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) } http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/18cde7cf/newtmgr/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go ---------------------------------------------------------------------- diff --git a/newtmgr/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/newtmgr/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go new file mode 100644 index 0000000..20b7454 --- /dev/null +++ b/newtmgr/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -0,0 +1,169 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build sparc64,linux + +package unix + +import ( + "sync/atomic" + "syscall" +) + +//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) +//sys Dup2(oldfd int, newfd int) (err error) +//sys Fchown(fd int, uid int, gid int) (err error) +//sys Fstat(fd int, stat *Stat_t) (err error) +//sys Fstatfs(fd int, buf *Statfs_t) (err error) +//sys Ftruncate(fd int, length int64) (err error) +//sysnb Getegid() (egid int) +//sysnb Geteuid() (euid int) +//sysnb Getgid() (gid int) +//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Getuid() (uid int) +//sysnb InotifyInit() (fd int, err error) +//sys Lchown(path string, uid int, gid int) (err error) +//sys Listen(s int, n int) (err error) +//sys Lstat(path string, stat *Stat_t) (err error) +//sys Pause() (err error) +//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 +//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK +//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) +//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) +//sys Setfsgid(gid int) (err error) +//sys Setfsuid(uid int) (err error) +//sysnb Setregid(rgid int, egid int) (err error) +//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +//sysnb Setresuid(ruid int, euid int, suid int) (err error) +//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +//sysnb Setreuid(ruid int, euid int) (err error) +//sys Shutdown(fd int, how int) (err error) +//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) +//sys Stat(path string, stat *Stat_t) (err error) +//sys Statfs(path string, buf *Statfs_t) (err error) +//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +//sys Truncate(path string, length int64) (err error) +//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) +//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) +//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) +//sysnb setgroups(n int, list *_Gid_t) (err error) +//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) +//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) +//sysnb socket(domain int, typ int, proto int) (fd int, err error) +//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) +//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) +//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) +//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) +//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) + +func sysconf(name int) (n int64, err syscall.Errno) + +// pageSize caches the value of Getpagesize, since it can't change +// once the system is booted. +var pageSize int64 // accessed atomically + +func Getpagesize() int { + n := atomic.LoadInt64(&pageSize) + if n == 0 { + n, _ = sysconf(_SC_PAGESIZE) + atomic.StoreInt64(&pageSize, n) + } + return int(n) +} + +func Ioperm(from int, num int, on int) (err error) { + return ENOSYS +} + +func Iopl(level int) (err error) { + return ENOSYS +} + +//sysnb Gettimeofday(tv *Timeval) (err error) + +func Time(t *Time_t) (tt Time_t, err error) { + var tv Timeval + err = Gettimeofday(&tv) + if err != nil { + return 0, err + } + if t != nil { + *t = Time_t(tv.Sec) + } + return Time_t(tv.Sec), nil +} + +//sys Utime(path string, buf *Utimbuf) (err error) + +func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } + +func NsecToTimespec(nsec int64) (ts Timespec) { + ts.Sec = nsec / 1e9 + ts.Nsec = nsec % 1e9 + return +} + +func NsecToTimeval(nsec int64) (tv Timeval) { + nsec += 999 // round up to microsecond + tv.Sec = nsec / 1e9 + tv.Usec = int32(nsec % 1e9 / 1e3) + return +} + +func (r *PtraceRegs) PC() uint64 { return r.Tpc } + +func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc } + +func (iov *Iovec) SetLen(length int) { + iov.Len = uint64(length) +} + +func (msghdr *Msghdr) SetControllen(length int) { + msghdr.Controllen = uint64(length) +} + +func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) +} + +//sysnb pipe(p *[2]_C_int) (err error) + +func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe(&pp) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sysnb pipe2(p *[2]_C_int, flags int) (err error) + +func Pipe2(p []int, flags int) (err error) { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err = pipe2(&pp, flags) + p[0] = int(pp[0]) + p[1] = int(pp[1]) + return +} + +//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + +func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { + return poll(nil, 0, timeout) + } + return poll(&fds[0], len(fds), timeout) +} http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/18cde7cf/newtmgr/vendor/golang.org/x/sys/unix/types_linux.go ---------------------------------------------------------------------- diff --git a/newtmgr/vendor/golang.org/x/sys/unix/types_linux.go b/newtmgr/vendor/golang.org/x/sys/unix/types_linux.go index 7dea79a..de80e2c 100644 --- a/newtmgr/vendor/golang.org/x/sys/unix/types_linux.go +++ b/newtmgr/vendor/golang.org/x/sys/unix/types_linux.go @@ -105,6 +105,9 @@ typedef struct pt_regs PtraceRegs; typedef struct user PtraceRegs; #elif defined(__s390x__) typedef struct _user_regs_struct PtraceRegs; +#elif defined(__sparc__) +#include <asm/ptrace.h> +typedef struct pt_regs PtraceRegs; #else typedef struct user_regs_struct PtraceRegs; #endif @@ -126,7 +129,7 @@ struct my_epoll_event { // padding is not specified in linux/eventpoll.h but added to conform to the // alignment requirements of EABI int32_t padFd; -#elif defined(__powerpc64__) || defined(__s390x__) +#elif defined(__powerpc64__) || defined(__s390x__) || defined(__sparc__) int32_t _padFd; #endif int32_t fd; @@ -445,6 +448,10 @@ const ( type Sigset_t C.sigset_t +// sysconf information + +const _SC_PAGESIZE = C._SC_PAGESIZE + // Terminal handling type Termios C.termios_t