Update GOPATH in VSCode project (now in gerrit)
[src/xds/xds-gdb.git] / gdb-common_darwin.go
1 /*
2  * Copyright (C) 2017-2018 "IoT.bzh"
3  * Author Sebastien Douheret <sebastien@iot.bzh>
4  *
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
8  *
9  *   http://www.apache.org/licenses/LICENSE-2.0
10  *
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.
16  *
17  */
18
19 package main
20
21 import (
22         "os"
23         "syscall"
24         "unsafe"
25 )
26
27 const (
28         syscallEBADE = syscall.EBADEXEC
29
30         syscall_TCGETS = 0x402c7413
31         syscall_TCSETS = 0x802c7414
32 )
33
34 func fcntl(fd uintptr, cmd int, arg int) (val int, err error) {
35         r, _, e := syscall.Syscall(syscall.SYS_FCNTL, fd, uintptr(cmd),
36                 uintptr(arg))
37         val = int(r)
38         if e != 0 {
39                 err = e
40         }
41         return
42 }
43
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)))
47         if r != 0 {
48                 return os.NewSyscallError("SYS_IOCTL", e)
49         }
50         return nil
51 }
52
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)))
56         if r != 0 {
57                 return os.NewSyscallError("SYS_IOCTL", e)
58         }
59         return nil
60 }
61
62 func isIgnoredSignal(sig os.Signal) bool {
63         return (sig == syscall.SIGWINCH)
64 }