2025-02-27 00:18:34 +01:00
|
|
|
read(fd int, buffer *byte, length int) -> int {
|
2025-02-17 14:31:47 +01:00
|
|
|
fd = kernel32.GetStdHandle(-10 - fd)
|
2025-02-27 00:18:34 +01:00
|
|
|
kernel32.ReadConsole(fd, buffer, uint32(length), 0)
|
2025-02-09 14:14:41 +01:00
|
|
|
return length
|
|
|
|
}
|
|
|
|
|
2025-02-27 00:18:34 +01:00
|
|
|
write(fd int, buffer *byte, length int) -> int {
|
2025-02-09 16:24:36 +01:00
|
|
|
fd = kernel32.GetStdHandle(-10 - fd)
|
2025-02-27 00:18:34 +01:00
|
|
|
kernel32.WriteConsoleA(fd, buffer, uint32(length), 0)
|
2025-02-09 14:14:41 +01:00
|
|
|
return length
|
2025-02-17 17:49:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
extern kernel32 {
|
|
|
|
GetStdHandle(handle int64) -> int64
|
2025-02-21 13:47:56 +01:00
|
|
|
ReadConsole(fd int64, buffer *byte, length uint32, written *uint32) -> bool
|
|
|
|
WriteConsoleA(fd int64, buffer *byte, length uint32, written *uint32) -> bool
|
2025-02-06 13:46:37 +01:00
|
|
|
}
|