q/lib/sys/io_windows.q

17 lines
No EOL
521 B
Text

extern kernel32 {
GetStdHandle(handle int64) -> int64
WriteConsoleA(fd int64, buffer *any, length uint32, written *uint32) -> bool
ReadConsole(fd int64, buffer *any, length uint32, written *uint32) -> bool
}
read(fd int64, buffer *any, length int64) -> int64 {
fd = kernel32.GetStdHandle(-10 - fd)
kernel32.ReadConsole(fd, buffer, length, 0)
return length
}
write(fd int64, buffer *any, length int64) -> int64 {
fd = kernel32.GetStdHandle(-10 - fd)
kernel32.WriteConsoleA(fd, buffer, length, 0)
return length
}