31 lines
		
	
	
		
			950 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			950 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | // Copyright 2018 The Go Authors. All rights reserved. | ||
|  | // Use of this source code is governed by a BSD-style | ||
|  | // license that can be found in the LICENSE file. | ||
|  | 
 | ||
|  | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris | ||
|  | 
 | ||
|  | package unix | ||
|  | 
 | ||
|  | import "runtime" | ||
|  | 
 | ||
|  | // IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. | ||
|  | // | ||
|  | // To change fd's window size, the req argument should be TIOCSWINSZ. | ||
|  | func IoctlSetWinsize(fd int, req uint, value *Winsize) error { | ||
|  | 	// TODO: if we get the chance, remove the req parameter and | ||
|  | 	// hardcode TIOCSWINSZ. | ||
|  | 	err := ioctlSetWinsize(fd, req, value) | ||
|  | 	runtime.KeepAlive(value) | ||
|  | 	return err | ||
|  | } | ||
|  | 
 | ||
|  | // IoctlSetTermios performs an ioctl on fd with a *Termios. | ||
|  | // | ||
|  | // The req value will usually be TCSETA or TIOCSETA. | ||
|  | func IoctlSetTermios(fd int, req uint, value *Termios) error { | ||
|  | 	// TODO: if we get the chance, remove the req parameter. | ||
|  | 	err := ioctlSetTermios(fd, req, value) | ||
|  | 	runtime.KeepAlive(value) | ||
|  | 	return err | ||
|  | } |