2 * Copyright (C) 2017-2018 "IoT.bzh"
3 * Author Sebastien Douheret <sebastien@iot.bzh>
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
28 syscallEBADE = syscall.EBADEXEC
30 syscall_TCGETS = 0x402c7413
31 syscall_TCSETS = 0x802c7414
34 func fcntl(fd uintptr, cmd int, arg int) (val int, err error) {
35 r, _, e := syscall.Syscall(syscall.SYS_FCNTL, fd, uintptr(cmd),
44 func tcsetattr(fd uintptr, termios *syscall.Termios) error {
45 r, _, e := syscall.Syscall(syscall.SYS_IOCTL,
46 fd, uintptr(syscall_TCSETS), uintptr(unsafe.Pointer(termios)))
48 return os.NewSyscallError("SYS_IOCTL", e)
53 func tcgetattr(fd uintptr, termios *syscall.Termios) error {
54 r, _, e := syscall.Syscall(syscall.SYS_IOCTL,
55 fd, uintptr(syscall_TCGETS), uintptr(unsafe.Pointer(termios)))
57 return os.NewSyscallError("SYS_IOCTL", e)
62 func isIgnoredSignal(sig os.Signal) bool {
63 return (sig == syscall.SIGWINCH)