mirror of https://github.com/docker/buildx.git
				
				
				
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
| //go:build solaris
 | |
| // +build solaris
 | |
| 
 | |
| package pty
 | |
| 
 | |
| import (
 | |
| 	"syscall"
 | |
| 	"unsafe"
 | |
| )
 | |
| 
 | |
| //go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
 | |
| //go:linkname procioctl libc_ioctl
 | |
| var procioctl uintptr
 | |
| 
 | |
| const (
 | |
| 	// see /usr/include/sys/stropts.h
 | |
| 	I_PUSH = uintptr((int32('S')<<8 | 002))
 | |
| 	I_STR  = uintptr((int32('S')<<8 | 010))
 | |
| 	I_FIND = uintptr((int32('S')<<8 | 013))
 | |
| 
 | |
| 	// see /usr/include/sys/ptms.h
 | |
| 	ISPTM   = (int32('P') << 8) | 1
 | |
| 	UNLKPT  = (int32('P') << 8) | 2
 | |
| 	PTSSTTY = (int32('P') << 8) | 3
 | |
| 	ZONEPT  = (int32('P') << 8) | 4
 | |
| 	OWNERPT = (int32('P') << 8) | 5
 | |
| 
 | |
| 	// see /usr/include/sys/termios.h
 | |
| 	TIOCSWINSZ = (uint32('T') << 8) | 103
 | |
| 	TIOCGWINSZ = (uint32('T') << 8) | 104
 | |
| )
 | |
| 
 | |
| type strioctl struct {
 | |
| 	icCmd     int32
 | |
| 	icTimeout int32
 | |
| 	icLen     int32
 | |
| 	icDP      unsafe.Pointer
 | |
| }
 | |
| 
 | |
| // Defined in asm_solaris_amd64.s.
 | |
| func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
 | |
| 
 | |
| func ioctlInner(fd, cmd, ptr uintptr) error {
 | |
| 	if _, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, fd, cmd, ptr, 0, 0, 0); errno != 0 {
 | |
| 		return errno
 | |
| 	}
 | |
| 	return nil
 | |
| }
 |