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 }