blob: f121a8d64b8c8dad3982f5233ff6605e6c705441 [file] [log] [blame]
Don Newton98fd8812019-09-23 15:15:02 -04001// Copyright 2018 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
6
7package unix
8
Don Newtone0d34a82019-11-14 10:58:06 -05009import "runtime"
Don Newton98fd8812019-09-23 15:15:02 -040010
11// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
12//
13// To change fd's window size, the req argument should be TIOCSWINSZ.
14func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
15 // TODO: if we get the chance, remove the req parameter and
16 // hardcode TIOCSWINSZ.
Don Newtone0d34a82019-11-14 10:58:06 -050017 err := ioctlSetWinsize(fd, req, value)
Don Newton98fd8812019-09-23 15:15:02 -040018 runtime.KeepAlive(value)
19 return err
20}
21
22// IoctlSetTermios performs an ioctl on fd with a *Termios.
23//
24// The req value will usually be TCSETA or TIOCSETA.
25func IoctlSetTermios(fd int, req uint, value *Termios) error {
26 // TODO: if we get the chance, remove the req parameter.
Don Newtone0d34a82019-11-14 10:58:06 -050027 err := ioctlSetTermios(fd, req, value)
Don Newton98fd8812019-09-23 15:15:02 -040028 runtime.KeepAlive(value)
29 return err
30}