mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
bump github.com/kr/pty v1.1.4
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
f86cac5713
commit
f5b8046335
15 changed files with 334 additions and 31 deletions
|
@ -9,7 +9,7 @@ github.com/google/uuid v1.1.1
|
||||||
github.com/gorilla/mux v1.7.0
|
github.com/gorilla/mux v1.7.0
|
||||||
github.com/Microsoft/opengcs a10967154e143a36014584a6f664344e3bb0aa64
|
github.com/Microsoft/opengcs a10967154e143a36014584a6f664344e3bb0aa64
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1
|
||||||
github.com/kr/pty 5cf931ef8f
|
github.com/kr/pty 521317be5ebc228a0f0ede099fa2a0b5ece22e49 # v1.1.4
|
||||||
github.com/mattn/go-shellwords v1.0.3
|
github.com/mattn/go-shellwords v1.0.3
|
||||||
github.com/sirupsen/logrus 8bdbc7bcc01dcbb8ec23dc8a28e332258d25251f # v1.4.1
|
github.com/sirupsen/logrus 8bdbc7bcc01dcbb8ec23dc8a28e332258d25251f # v1.4.1
|
||||||
github.com/tchap/go-patricia v2.2.6
|
github.com/tchap/go-patricia v2.2.6
|
||||||
|
|
64
vendor/github.com/kr/pty/README.md
generated
vendored
64
vendor/github.com/kr/pty/README.md
generated
vendored
|
@ -8,6 +8,8 @@ Pty is a Go package for using unix pseudo-terminals.
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
|
### Command
|
||||||
|
|
||||||
```go
|
```go
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
@ -34,3 +36,65 @@ func main() {
|
||||||
io.Copy(os.Stdout, f)
|
io.Copy(os.Stdout, f)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Shell
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
|
"os/signal"
|
||||||
|
"syscall"
|
||||||
|
|
||||||
|
"github.com/kr/pty"
|
||||||
|
"golang.org/x/crypto/ssh/terminal"
|
||||||
|
)
|
||||||
|
|
||||||
|
func test() error {
|
||||||
|
// Create arbitrary command.
|
||||||
|
c := exec.Command("bash")
|
||||||
|
|
||||||
|
// Start the command with a pty.
|
||||||
|
ptmx, err := pty.Start(c)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
// Make sure to close the pty at the end.
|
||||||
|
defer func() { _ = ptmx.Close() }() // Best effort.
|
||||||
|
|
||||||
|
// Handle pty size.
|
||||||
|
ch := make(chan os.Signal, 1)
|
||||||
|
signal.Notify(ch, syscall.SIGWINCH)
|
||||||
|
go func() {
|
||||||
|
for range ch {
|
||||||
|
if err := pty.InheritSize(os.Stdin, ptmx); err != nil {
|
||||||
|
log.Printf("error resizing pty: %s", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
ch <- syscall.SIGWINCH // Initial resize.
|
||||||
|
|
||||||
|
// Set stdin in raw mode.
|
||||||
|
oldState, err := terminal.MakeRaw(int(os.Stdin.Fd()))
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer func() { _ = terminal.Restore(int(os.Stdin.Fd()), oldState) }() // Best effort.
|
||||||
|
|
||||||
|
// Copy stdin to the pty and the pty to stdout.
|
||||||
|
go func() { _, _ = io.Copy(ptmx, os.Stdin) }()
|
||||||
|
_, _ = io.Copy(os.Stdout, ptmx)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
if err := test(); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
2
vendor/github.com/kr/pty/ioctl.go
generated
vendored
2
vendor/github.com/kr/pty/ioctl.go
generated
vendored
|
@ -1,3 +1,5 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
import "syscall"
|
import "syscall"
|
||||||
|
|
15
vendor/github.com/kr/pty/pty_darwin.go
generated
vendored
15
vendor/github.com/kr/pty/pty_darwin.go
generated
vendored
|
@ -8,23 +8,28 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func open() (pty, tty *os.File, err error) {
|
func open() (pty, tty *os.File, err error) {
|
||||||
p, err := os.OpenFile("/dev/ptmx", os.O_RDWR, 0)
|
pFD, err := syscall.Open("/dev/ptmx", syscall.O_RDWR|syscall.O_CLOEXEC, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
p := os.NewFile(uintptr(pFD), "/dev/ptmx")
|
||||||
|
// In case of error after this point, make sure we close the ptmx fd.
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
_ = p.Close() // Best effort.
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
sname, err := ptsname(p)
|
sname, err := ptsname(p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = grantpt(p)
|
if err := grantpt(p); err != nil {
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = unlockpt(p)
|
if err := unlockpt(p); err != nil {
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
80
vendor/github.com/kr/pty/pty_dragonfly.go
generated
vendored
Normal file
80
vendor/github.com/kr/pty/pty_dragonfly.go
generated
vendored
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
package pty
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
// same code as pty_darwin.go
|
||||||
|
func open() (pty, tty *os.File, err error) {
|
||||||
|
p, err := os.OpenFile("/dev/ptmx", os.O_RDWR, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
// In case of error after this point, make sure we close the ptmx fd.
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
_ = p.Close() // Best effort.
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
sname, err := ptsname(p)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := grantpt(p); err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := unlockpt(p); err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
t, err := os.OpenFile(sname, os.O_RDWR, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
return p, t, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func grantpt(f *os.File) error {
|
||||||
|
_, err := isptmaster(f.Fd())
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func unlockpt(f *os.File) error {
|
||||||
|
_, err := isptmaster(f.Fd())
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func isptmaster(fd uintptr) (bool, error) {
|
||||||
|
err := ioctl(fd, syscall.TIOCISPTMASTER, 0)
|
||||||
|
return err == nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
emptyFiodgnameArg fiodgnameArg
|
||||||
|
ioctl_FIODNAME = _IOW('f', 120, unsafe.Sizeof(emptyFiodgnameArg))
|
||||||
|
)
|
||||||
|
|
||||||
|
func ptsname(f *os.File) (string, error) {
|
||||||
|
name := make([]byte, _C_SPECNAMELEN)
|
||||||
|
fa := fiodgnameArg{Name: (*byte)(unsafe.Pointer(&name[0])), Len: _C_SPECNAMELEN, Pad_cgo_0: [4]byte{0, 0, 0, 0}}
|
||||||
|
|
||||||
|
err := ioctl(f.Fd(), ioctl_FIODNAME, uintptr(unsafe.Pointer(&fa)))
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, c := range name {
|
||||||
|
if c == 0 {
|
||||||
|
s := "/dev/" + string(name[:i])
|
||||||
|
return strings.Replace(s, "ptm", "pts", -1), nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "", errors.New("TIOCPTYGNAME string not NUL-terminated")
|
||||||
|
}
|
19
vendor/github.com/kr/pty/pty_freebsd.go
generated
vendored
19
vendor/github.com/kr/pty/pty_freebsd.go
generated
vendored
|
@ -7,22 +7,28 @@ import (
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
func posix_openpt(oflag int) (fd int, err error) {
|
func posixOpenpt(oflag int) (fd int, err error) {
|
||||||
r0, _, e1 := syscall.Syscall(syscall.SYS_POSIX_OPENPT, uintptr(oflag), 0, 0)
|
r0, _, e1 := syscall.Syscall(syscall.SYS_POSIX_OPENPT, uintptr(oflag), 0, 0)
|
||||||
fd = int(r0)
|
fd = int(r0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
}
|
}
|
||||||
return
|
return fd, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func open() (pty, tty *os.File, err error) {
|
func open() (pty, tty *os.File, err error) {
|
||||||
fd, err := posix_openpt(syscall.O_RDWR | syscall.O_CLOEXEC)
|
fd, err := posixOpenpt(syscall.O_RDWR | syscall.O_CLOEXEC)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
p := os.NewFile(uintptr(fd), "/dev/pts")
|
p := os.NewFile(uintptr(fd), "/dev/pts")
|
||||||
|
// In case of error after this point, make sure we close the pts fd.
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
_ = p.Close() // Best effort.
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
sname, err := ptsname(p)
|
sname, err := ptsname(p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
|
@ -42,7 +48,7 @@ func isptmaster(fd uintptr) (bool, error) {
|
||||||
|
|
||||||
var (
|
var (
|
||||||
emptyFiodgnameArg fiodgnameArg
|
emptyFiodgnameArg fiodgnameArg
|
||||||
ioctl_FIODGNAME = _IOW('f', 120, unsafe.Sizeof(emptyFiodgnameArg))
|
ioctlFIODGNAME = _IOW('f', 120, unsafe.Sizeof(emptyFiodgnameArg))
|
||||||
)
|
)
|
||||||
|
|
||||||
func ptsname(f *os.File) (string, error) {
|
func ptsname(f *os.File) (string, error) {
|
||||||
|
@ -59,8 +65,7 @@ func ptsname(f *os.File) (string, error) {
|
||||||
buf = make([]byte, n)
|
buf = make([]byte, n)
|
||||||
arg = fiodgnameArg{Len: n, Buf: (*byte)(unsafe.Pointer(&buf[0]))}
|
arg = fiodgnameArg{Len: n, Buf: (*byte)(unsafe.Pointer(&buf[0]))}
|
||||||
)
|
)
|
||||||
err = ioctl(f.Fd(), ioctl_FIODGNAME, uintptr(unsafe.Pointer(&arg)))
|
if err := ioctl(f.Fd(), ioctlFIODGNAME, uintptr(unsafe.Pointer(&arg))); err != nil {
|
||||||
if err != nil {
|
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
11
vendor/github.com/kr/pty/pty_linux.go
generated
vendored
11
vendor/github.com/kr/pty/pty_linux.go
generated
vendored
|
@ -12,14 +12,19 @@ func open() (pty, tty *os.File, err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
// In case of error after this point, make sure we close the ptmx fd.
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
_ = p.Close() // Best effort.
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
sname, err := ptsname(p)
|
sname, err := ptsname(p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = unlockpt(p)
|
if err := unlockpt(p); err != nil {
|
||||||
if err != nil {
|
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,6 +46,6 @@ func ptsname(f *os.File) (string, error) {
|
||||||
|
|
||||||
func unlockpt(f *os.File) error {
|
func unlockpt(f *os.File) error {
|
||||||
var u _C_int
|
var u _C_int
|
||||||
// use TIOCSPTLCK with a zero valued arg to clear the slave pty lock
|
// use TIOCSPTLCK with a pointer to zero to clear the lock
|
||||||
return ioctl(f.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&u)))
|
return ioctl(f.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&u)))
|
||||||
}
|
}
|
||||||
|
|
33
vendor/github.com/kr/pty/pty_openbsd.go
generated
vendored
Normal file
33
vendor/github.com/kr/pty/pty_openbsd.go
generated
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
package pty
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
func open() (pty, tty *os.File, err error) {
|
||||||
|
/*
|
||||||
|
* from ptm(4):
|
||||||
|
* The PTMGET command allocates a free pseudo terminal, changes its
|
||||||
|
* ownership to the caller, revokes the access privileges for all previous
|
||||||
|
* users, opens the file descriptors for the pty and tty devices and
|
||||||
|
* returns them to the caller in struct ptmget.
|
||||||
|
*/
|
||||||
|
|
||||||
|
p, err := os.OpenFile("/dev/ptm", os.O_RDWR|syscall.O_CLOEXEC, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
defer p.Close()
|
||||||
|
|
||||||
|
var ptm ptmget
|
||||||
|
if err := ioctl(p.Fd(), uintptr(ioctl_PTMGET), uintptr(unsafe.Pointer(&ptm))); err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
pty = os.NewFile(uintptr(ptm.Cfd), "/dev/ptm")
|
||||||
|
tty = os.NewFile(uintptr(ptm.Sfd), "/dev/ptm")
|
||||||
|
|
||||||
|
return pty, tty, nil
|
||||||
|
}
|
2
vendor/github.com/kr/pty/pty_unsupported.go
generated
vendored
2
vendor/github.com/kr/pty/pty_unsupported.go
generated
vendored
|
@ -1,4 +1,4 @@
|
||||||
// +build !linux,!darwin,!freebsd
|
// +build !linux,!darwin,!freebsd,!dragonfly,!openbsd
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
|
|
36
vendor/github.com/kr/pty/run.go
generated
vendored
36
vendor/github.com/kr/pty/run.go
generated
vendored
|
@ -1,3 +1,5 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -10,15 +12,41 @@ import (
|
||||||
// and c.Stderr, calls c.Start, and returns the File of the tty's
|
// and c.Stderr, calls c.Start, and returns the File of the tty's
|
||||||
// corresponding pty.
|
// corresponding pty.
|
||||||
func Start(c *exec.Cmd) (pty *os.File, err error) {
|
func Start(c *exec.Cmd) (pty *os.File, err error) {
|
||||||
|
return StartWithSize(c, nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
// StartWithSize assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout,
|
||||||
|
// and c.Stderr, calls c.Start, and returns the File of the tty's
|
||||||
|
// corresponding pty.
|
||||||
|
//
|
||||||
|
// This will resize the pty to the specified size before starting the command
|
||||||
|
func StartWithSize(c *exec.Cmd, sz *Winsize) (pty *os.File, err error) {
|
||||||
pty, tty, err := Open()
|
pty, tty, err := Open()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer tty.Close()
|
defer tty.Close()
|
||||||
c.Stdout = tty
|
if sz != nil {
|
||||||
c.Stdin = tty
|
err = Setsize(pty, sz)
|
||||||
c.Stderr = tty
|
if err != nil {
|
||||||
c.SysProcAttr = &syscall.SysProcAttr{Setctty: true, Setsid: true}
|
pty.Close()
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if c.Stdout == nil {
|
||||||
|
c.Stdout = tty
|
||||||
|
}
|
||||||
|
if c.Stderr == nil {
|
||||||
|
c.Stderr = tty
|
||||||
|
}
|
||||||
|
if c.Stdin == nil {
|
||||||
|
c.Stdin = tty
|
||||||
|
}
|
||||||
|
if c.SysProcAttr == nil {
|
||||||
|
c.SysProcAttr = &syscall.SysProcAttr{}
|
||||||
|
}
|
||||||
|
c.SysProcAttr.Setctty = true
|
||||||
|
c.SysProcAttr.Setsid = true
|
||||||
err = c.Start()
|
err = c.Start()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
pty.Close()
|
pty.Close()
|
||||||
|
|
49
vendor/github.com/kr/pty/util.go
generated
vendored
49
vendor/github.com/kr/pty/util.go
generated
vendored
|
@ -1,3 +1,5 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -6,26 +8,53 @@ import (
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// InheritSize applies the terminal size of pty to tty. This should be run
|
||||||
|
// in a signal handler for syscall.SIGWINCH to automatically resize the tty when
|
||||||
|
// the pty receives a window size change notification.
|
||||||
|
func InheritSize(pty, tty *os.File) error {
|
||||||
|
size, err := GetsizeFull(pty)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = Setsize(tty, size)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setsize resizes t to s.
|
||||||
|
func Setsize(t *os.File, ws *Winsize) error {
|
||||||
|
return windowRectCall(ws, t.Fd(), syscall.TIOCSWINSZ)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetsizeFull returns the full terminal size description.
|
||||||
|
func GetsizeFull(t *os.File) (size *Winsize, err error) {
|
||||||
|
var ws Winsize
|
||||||
|
err = windowRectCall(&ws, t.Fd(), syscall.TIOCGWINSZ)
|
||||||
|
return &ws, err
|
||||||
|
}
|
||||||
|
|
||||||
// Getsize returns the number of rows (lines) and cols (positions
|
// Getsize returns the number of rows (lines) and cols (positions
|
||||||
// in each line) in terminal t.
|
// in each line) in terminal t.
|
||||||
func Getsize(t *os.File) (rows, cols int, err error) {
|
func Getsize(t *os.File) (rows, cols int, err error) {
|
||||||
var ws winsize
|
ws, err := GetsizeFull(t)
|
||||||
err = windowrect(&ws, t.Fd())
|
return int(ws.Rows), int(ws.Cols), err
|
||||||
return int(ws.ws_row), int(ws.ws_col), err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type winsize struct {
|
// Winsize describes the terminal size.
|
||||||
ws_row uint16
|
type Winsize struct {
|
||||||
ws_col uint16
|
Rows uint16 // ws_row: Number of rows (in cells)
|
||||||
ws_xpixel uint16
|
Cols uint16 // ws_col: Number of columns (in cells)
|
||||||
ws_ypixel uint16
|
X uint16 // ws_xpixel: Width in pixels
|
||||||
|
Y uint16 // ws_ypixel: Height in pixels
|
||||||
}
|
}
|
||||||
|
|
||||||
func windowrect(ws *winsize, fd uintptr) error {
|
func windowRectCall(ws *Winsize, fd, a2 uintptr) error {
|
||||||
_, _, errno := syscall.Syscall(
|
_, _, errno := syscall.Syscall(
|
||||||
syscall.SYS_IOCTL,
|
syscall.SYS_IOCTL,
|
||||||
fd,
|
fd,
|
||||||
syscall.TIOCGWINSZ,
|
a2,
|
||||||
uintptr(unsafe.Pointer(ws)),
|
uintptr(unsafe.Pointer(ws)),
|
||||||
)
|
)
|
||||||
if errno != 0 {
|
if errno != 0 {
|
||||||
|
|
14
vendor/github.com/kr/pty/ztypes_dragonfly_amd64.go
generated
vendored
Normal file
14
vendor/github.com/kr/pty/ztypes_dragonfly_amd64.go
generated
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
|
// cgo -godefs types_dragonfly.go
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
const (
|
||||||
|
_C_SPECNAMELEN = 0x3f
|
||||||
|
)
|
||||||
|
|
||||||
|
type fiodgnameArg struct {
|
||||||
|
Name *byte
|
||||||
|
Len uint32
|
||||||
|
Pad_cgo_0 [4]byte
|
||||||
|
}
|
12
vendor/github.com/kr/pty/ztypes_mipsx.go
generated
vendored
Normal file
12
vendor/github.com/kr/pty/ztypes_mipsx.go
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
|
// cgo -godefs types.go
|
||||||
|
|
||||||
|
// +build linux
|
||||||
|
// +build mips mipsle mips64 mips64le
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_int int32
|
||||||
|
_C_uint uint32
|
||||||
|
)
|
13
vendor/github.com/kr/pty/ztypes_openbsd_386.go
generated
vendored
Normal file
13
vendor/github.com/kr/pty/ztypes_openbsd_386.go
generated
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
|
// cgo -godefs types_openbsd.go
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
type ptmget struct {
|
||||||
|
Cfd int32
|
||||||
|
Sfd int32
|
||||||
|
Cn [16]int8
|
||||||
|
Sn [16]int8
|
||||||
|
}
|
||||||
|
|
||||||
|
var ioctl_PTMGET = 0x40287401
|
13
vendor/github.com/kr/pty/ztypes_openbsd_amd64.go
generated
vendored
Normal file
13
vendor/github.com/kr/pty/ztypes_openbsd_amd64.go
generated
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
|
// cgo -godefs types_openbsd.go
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
type ptmget struct {
|
||||||
|
Cfd int32
|
||||||
|
Sfd int32
|
||||||
|
Cn [16]int8
|
||||||
|
Sn [16]int8
|
||||||
|
}
|
||||||
|
|
||||||
|
var ioctl_PTMGET = 0x40287401
|
Loading…
Add table
Add a link
Reference in a new issue