Index: src/pkg/syscall/zsyscall_windows_386.go |
=================================================================== |
--- a/src/pkg/syscall/zsyscall_windows_386.go |
+++ b/src/pkg/syscall/zsyscall_windows_386.go |
@@ -106,6 +106,7 @@ |
procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") |
procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId") |
procGetConsoleMode = modkernel32.NewProc("GetConsoleMode") |
+ procSetConsoleMode = modkernel32.NewProc("SetConsoleMode") |
procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") |
procReadConsoleW = modkernel32.NewProc("ReadConsoleW") |
procWSAStartup = modws2_32.NewProc("WSAStartup") |
@@ -246,7 +247,7 @@ |
return |
} |
-func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error) { |
+func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) { |
r0, _, e1 := Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0) |
handle = Handle(r0) |
if handle == InvalidHandle { |
@@ -316,7 +317,7 @@ |
return |
} |
-func GetStdHandle(stdhandle int) (handle Handle, err error) { |
+func GetStdHandle(stdhandle int32) (handle Handle, err error) { |
r0, _, e1 := Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0) |
handle = Handle(r0) |
if handle == InvalidHandle { |
@@ -1230,6 +1231,18 @@ |
return |
} |
+func SetConsoleMode(console Handle, mode uint32) (err error) { |
+ r1, _, e1 := Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) |
+ if r1 == 0 { |
+ if e1 != 0 { |
+ err = error(e1) |
+ } else { |
+ err = EINVAL |
+ } |
+ } |
+ return |
+} |
+ |
func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { |
r1, _, e1 := Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) |
if r1 == 0 { |
@@ -1242,7 +1255,7 @@ |
return |
} |
-func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { |
+func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *ConsoleReadconsoleControl) (err error) { |
r1, _, e1 := Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0) |
if r1 == 0 { |
if e1 != 0 { |