mirror of
				https://github.com/opencontainers/runc.git
				synced 2025-10-31 11:06:21 +08:00 
			
		
		
		
	 9ba16b6d5a
			
		
	
	9ba16b6d5a
	
	
	
		
			
			This bumps the console and golang/sys deps for runc. The major change is that the console package does not clear ONLCR within the package and leaves it up to the client to handle this if they please. Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
		
			
				
	
	
		
			38 lines
		
	
	
		
			845 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			845 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package console
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"os"
 | |
| 	"unsafe"
 | |
| 
 | |
| 	"golang.org/x/sys/unix"
 | |
| )
 | |
| 
 | |
| const (
 | |
| 	cmdTcGet = unix.TCGETS
 | |
| 	cmdTcSet = unix.TCSETS
 | |
| )
 | |
| 
 | |
| func ioctl(fd, flag, data uintptr) error {
 | |
| 	if _, _, err := unix.Syscall(unix.SYS_IOCTL, fd, flag, data); err != 0 {
 | |
| 		return err
 | |
| 	}
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| // unlockpt unlocks the slave pseudoterminal device corresponding to the master pseudoterminal referred to by f.
 | |
| // unlockpt should be called before opening the slave side of a pty.
 | |
| func unlockpt(f *os.File) error {
 | |
| 	var u int32
 | |
| 	return ioctl(f.Fd(), unix.TIOCSPTLCK, uintptr(unsafe.Pointer(&u)))
 | |
| }
 | |
| 
 | |
| // ptsname retrieves the name of the first available pts for the given master.
 | |
| func ptsname(f *os.File) (string, error) {
 | |
| 	n, err := unix.IoctlGetInt(int(f.Fd()), unix.TIOCGPTN)
 | |
| 	if err != nil {
 | |
| 		return "", err
 | |
| 	}
 | |
| 	return fmt.Sprintf("/dev/pts/%d", n), nil
 | |
| }
 |