mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
Clean up organization of package runtime
This commit is contained in:
@@ -1,18 +1,22 @@
|
||||
package runtime
|
||||
|
||||
import "core:sys/es"
|
||||
|
||||
@(link_name="memset")
|
||||
memset :: proc "c" (ptr: rawptr, val: i32, len: int) -> rawptr {
|
||||
return es.CRTmemset(ptr, val, len);
|
||||
addr := 0x1000 + 196 * size_of(int);
|
||||
fp := (rawptr(((^uintptr)(uintptr(addr)))^));
|
||||
return ((proc "c" (rawptr, i32, int) -> rawptr)(fp))(ptr, val, len);
|
||||
}
|
||||
|
||||
@(link_name="memmove")
|
||||
memmove :: proc "c" (dst, src: rawptr, len: int) -> rawptr {
|
||||
return es.CRTmemmove(dst, src, len);
|
||||
addr := 0x1000 + 195 * size_of(int);
|
||||
fp := (rawptr(((^uintptr)(uintptr(addr)))^));
|
||||
return ((proc "c" (rawptr, rawptr, int) -> rawptr)(fp))(dst, src, len);
|
||||
}
|
||||
|
||||
@(link_name="memcpy")
|
||||
memcpy :: proc "c" (dst, src: rawptr, len: int) -> rawptr {
|
||||
return es.CRTmemcpy(dst, src, len);
|
||||
addr := 0x1000 + 194 * size_of(int);
|
||||
fp := (rawptr(((^uintptr)(uintptr(addr)))^));
|
||||
return ((proc "c" (rawptr, rawptr, int) -> rawptr)(fp))(dst, src, len);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user