31 lines
917 B
Plaintext
Raw Normal View History

2025-02-17 14:31:47 +01:00
read(fd int64, buffer *any, length int64) -> int64 {
fd = kernel32.GetStdHandle(-10 - fd)
kernel32.ReadConsole(fd, buffer, length, 0)
return length
}
2025-02-17 14:31:47 +01:00
write(fd int64, buffer *any, length int64) -> int64 {
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)
return length
2025-02-17 17:49:42 +01:00
}
mmap(address int, length int, protection int, flags int) -> *any {
return kernel32.VirtualAlloc(address, length, flags, protection)
}
munmap(address *any, length int) -> int {
return kernel32.VirtualFree(address, length, mem.decommit)
}
const mem {
decommit 0x4000
}
extern kernel32 {
GetStdHandle(handle int64) -> int64
ReadConsole(fd int64, buffer *any, length uint32, written *uint32) -> bool
VirtualAlloc(address int, length int, flags int, protection int)
VirtualFree(address *any, length int, type int) -> bool
WriteConsoleA(fd int64, buffer *any, length uint32, written *uint32) -> bool
2025-02-06 13:46:37 +01:00
}