mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-22 01:48:11 +00:00
feat: Linux packaging, SDK v0.7.1, fix rawmode conflict
- go.mod: SDK pseudo-version -> v0.7.1 (remote tag), go.sum updated - cmd/waiter/rawmode_linux.go: remove (conflicts with raw_unix.go) - cmd/gui/package.json: add rpm/AppImage Linux targets - package/package-linux.sh: cross-distro packaging script (deb/tar.gz/rpm) - package/linux/: DEBIAN control files, postinst/prerm, RPM spec
This commit is contained in:
@ -1,25 +0,0 @@
|
||||
//go:build linux
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
func setRawMode(fd int) (func(), error) {
|
||||
var old termios
|
||||
if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, uintptr(fd), TCGETS, uintptr(unsafe.Pointer(&old))); err != 0 {
|
||||
return func() {}, err
|
||||
}
|
||||
new := old
|
||||
new.Lflag &^= ICANON | ECHO | ISIG
|
||||
new.Cc[VMIN] = 1
|
||||
new.Cc[VTIME] = 0
|
||||
if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, uintptr(fd), TCSETS, uintptr(unsafe.Pointer(&new))); err != 0 {
|
||||
return func() {}, err
|
||||
}
|
||||
return func() {
|
||||
syscall.Syscall(syscall.SYS_IOCTL, uintptr(fd), TCSETS, uintptr(unsafe.Pointer(&old)))
|
||||
}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user