2025-02-12 00:04:30 +01:00
|
|
|
extern kernel32 {
|
|
|
|
GetStdHandle(handle Int) -> Int
|
|
|
|
WriteConsoleA(fd Int, buffer *Any, length Int, written *Int) -> Bool
|
|
|
|
ReadFile(fd Int, buffer *Any, length Int) -> Bool
|
|
|
|
}
|
|
|
|
|
|
|
|
read(fd Int, buffer *Any, length Int) -> Int {
|
|
|
|
kernel32.ReadFile(fd, buffer, length)
|
2025-02-09 14:14:41 +01:00
|
|
|
return length
|
|
|
|
}
|
|
|
|
|
2025-02-12 00:04:30 +01:00
|
|
|
write(fd Int, buffer *Any, length Int) -> Int {
|
2025-02-09 16:24:36 +01:00
|
|
|
fd = kernel32.GetStdHandle(-10 - fd)
|
2025-02-12 00:04:30 +01:00
|
|
|
kernel32.WriteConsoleA(fd, buffer, length, 0)
|
2025-02-09 14:14:41 +01:00
|
|
|
return length
|
2025-02-06 13:46:37 +01:00
|
|
|
}
|