New Upstream Snapshot - golang-github-goburrow-serial
Ready changes
Summary
Merged new upstream version: 0.1.0+git20211022.1.bfb6911+ds (was: 0.1.0).
Resulting package
Built on 2023-01-19T01:40 (took 2m25s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-snapshots golang-github-goburrow-serial-dev
Lintian Result
- golang-github-goburrow-serial-dev_0.1.0+git20211022.1.bfb6911+ds-1~jan+nus2_all.deb
- golang-github-goburrow-serial_0.1.0+git20211022.1.bfb6911+ds-1~jan+nus2.dsc
- golang-github-goburrow-serial_0.1.0+git20211022.1.bfb6911+ds-1~jan+nus2_amd64.buildinfo
- golang-github-goburrow-serial_0.1.0+git20211022.1.bfb6911+ds-1~jan+nus2_amd64.changes
Diff
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 2a4146d..0000000
--- a/.gitattributes
+++ /dev/null
@@ -1,3 +0,0 @@
-* text=auto
-*.go text
-*.bat text eol=crlf
diff --git a/debian/changelog b/debian/changelog
index 026ab1f..6b0f027 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+golang-github-goburrow-serial (0.1.0+git20211022.1.bfb6911+ds-1) UNRELEASED; urgency=low
+
+ * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk> Thu, 19 Jan 2023 01:39:07 -0000
+
golang-github-goburrow-serial (0.1.0-2) unstable; urgency=medium
* upload source package
diff --git a/serial_bsd.go b/serial_bsd.go
index 398870c..5e23da6 100644
--- a/serial_bsd.go
+++ b/serial_bsd.go
@@ -1,4 +1,4 @@
-// +build freebsd openbsd netbsd
+// +build freebsd netbsd
package serial
diff --git a/serial_openbsd.go b/serial_openbsd.go
new file mode 100644
index 0000000..01913aa
--- /dev/null
+++ b/serial_openbsd.go
@@ -0,0 +1,90 @@
+package serial
+
+import (
+ "fmt"
+ "syscall"
+ "unsafe"
+)
+
+var baudRates = map[int]uint32{
+ 50: syscall.B50,
+ 75: syscall.B75,
+ 110: syscall.B110,
+ 134: syscall.B134,
+ 150: syscall.B150,
+ 200: syscall.B200,
+ 300: syscall.B300,
+ 600: syscall.B600,
+ 1200: syscall.B1200,
+ 1800: syscall.B1800,
+ 2400: syscall.B2400,
+ 4800: syscall.B4800,
+ 9600: syscall.B9600,
+ 19200: syscall.B19200,
+ 38400: syscall.B38400,
+ 57600: syscall.B57600,
+ 115200: syscall.B115200,
+ 230400: syscall.B230400,
+}
+
+var charSizes = map[int]uint32{
+ 5: syscall.CS5,
+ 6: syscall.CS6,
+ 7: syscall.CS7,
+ 8: syscall.CS8,
+}
+
+// syscallSelect is a wapper for syscall.Select that only returns error.
+func syscallSelect(n int, r *syscall.FdSet, w *syscall.FdSet, e *syscall.FdSet, tv *syscall.Timeval) error {
+ return syscall.Select(n, r, w, e, tv)
+}
+
+// tcsetattr sets terminal file descriptor parameters.
+// See man tcsetattr(3).
+func tcsetattr(fd int, termios *syscall.Termios) (err error) {
+ r, _, errno := syscall.Syscall(uintptr(syscall.SYS_IOCTL),
+ uintptr(fd), uintptr(syscall.TIOCSETA), uintptr(unsafe.Pointer(termios)))
+ if errno != 0 {
+ err = errno
+ return
+ }
+ if r != 0 {
+ err = fmt.Errorf("tcsetattr failed %v", r)
+ }
+ return
+}
+
+// tcgetattr gets terminal file descriptor parameters.
+// See man tcgetattr(3).
+func tcgetattr(fd int, termios *syscall.Termios) (err error) {
+ r, _, errno := syscall.Syscall(uintptr(syscall.SYS_IOCTL),
+ uintptr(fd), uintptr(syscall.TIOCGETA), uintptr(unsafe.Pointer(termios)))
+ if errno != 0 {
+ err = errno
+ return
+ }
+ if r != 0 {
+ err = fmt.Errorf("tcgetattr failed %v", r)
+ return
+ }
+ return
+}
+
+// fdget returns index and offset of fd in fds.
+func fdget(fd int, fds *syscall.FdSet) (index, offset int) {
+ index = fd / (syscall.FD_SETSIZE / len(fds.Bits)) % len(fds.Bits)
+ offset = fd % (syscall.FD_SETSIZE / len(fds.Bits))
+ return
+}
+
+// fdset implements FD_SET macro.
+func fdset(fd int, fds *syscall.FdSet) {
+ idx, pos := fdget(fd, fds)
+ fds.Bits[idx] = 1 << uint(pos)
+}
+
+// fdisset implements FD_ISSET macro.
+func fdisset(fd int, fds *syscall.FdSet) bool {
+ idx, pos := fdget(fd, fds)
+ return fds.Bits[idx]&(1<<uint(pos)) != 0
+}
diff --git a/termios_bsd.go b/termios_bsd.go
index 17016a7..8479266 100644
--- a/termios_bsd.go
+++ b/termios_bsd.go
@@ -1,4 +1,4 @@
-// +build freebsd openbsd netbsd
+// +build freebsd netbsd
package serial
diff --git a/termios_openbsd.go b/termios_openbsd.go
new file mode 100644
index 0000000..a4b0300
--- /dev/null
+++ b/termios_openbsd.go
@@ -0,0 +1,13 @@
+package serial
+
+import (
+ "syscall"
+)
+
+func cfSetIspeed(termios *syscall.Termios, speed uint32) {
+ termios.Ispeed = int32(speed)
+}
+
+func cfSetOspeed(termios *syscall.Termios, speed uint32) {
+ termios.Ospeed = int32(speed)
+}