mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
45 lines
1.6 KiB
Go
45 lines
1.6 KiB
Go
|
package winapi
|
||
|
|
||
|
import (
|
||
|
"unsafe"
|
||
|
|
||
|
"golang.org/x/sys/windows"
|
||
|
)
|
||
|
|
||
|
const PSEUDOCONSOLE_INHERIT_CURSOR = 0x1
|
||
|
|
||
|
// CreatePseudoConsole creates a windows pseudo console.
|
||
|
func CreatePseudoConsole(size windows.Coord, hInput windows.Handle, hOutput windows.Handle, dwFlags uint32, hpcon *windows.Handle) error {
|
||
|
// We need this wrapper as the function takes a COORD struct and not a pointer to one, so we need to cast to something beforehand.
|
||
|
return createPseudoConsole(*((*uint32)(unsafe.Pointer(&size))), hInput, hOutput, 0, hpcon)
|
||
|
}
|
||
|
|
||
|
// ResizePseudoConsole resizes the internal buffers of the pseudo console to the width and height specified in `size`.
|
||
|
func ResizePseudoConsole(hpcon windows.Handle, size windows.Coord) error {
|
||
|
// We need this wrapper as the function takes a COORD struct and not a pointer to one, so we need to cast to something beforehand.
|
||
|
return resizePseudoConsole(hpcon, *((*uint32)(unsafe.Pointer(&size))))
|
||
|
}
|
||
|
|
||
|
// HRESULT WINAPI CreatePseudoConsole(
|
||
|
// _In_ COORD size,
|
||
|
// _In_ HANDLE hInput,
|
||
|
// _In_ HANDLE hOutput,
|
||
|
// _In_ DWORD dwFlags,
|
||
|
// _Out_ HPCON* phPC
|
||
|
// );
|
||
|
//
|
||
|
//sys createPseudoConsole(size uint32, hInput windows.Handle, hOutput windows.Handle, dwFlags uint32, hpcon *windows.Handle) (hr error) = kernel32.CreatePseudoConsole
|
||
|
|
||
|
// void WINAPI ClosePseudoConsole(
|
||
|
// _In_ HPCON hPC
|
||
|
// );
|
||
|
//
|
||
|
//sys ClosePseudoConsole(hpc windows.Handle) = kernel32.ClosePseudoConsole
|
||
|
|
||
|
// HRESULT WINAPI ResizePseudoConsole(
|
||
|
// _In_ HPCON hPC ,
|
||
|
// _In_ COORD size
|
||
|
// );
|
||
|
//
|
||
|
//sys resizePseudoConsole(hPc windows.Handle, size uint32) (hr error) = kernel32.ResizePseudoConsole
|