aboutsummaryrefslogtreecommitdiff
path: root/core/runtime/procs_essence.odin
blob: 6e6020b8306629c630a3d27bb289dd0262bea1c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package runtime

@(link_name="memset")
memset :: proc "c" (ptr: rawptr, val: i32, len: int) -> rawptr {
	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 {
	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 {
	addr := 0x1000 + 194 * size_of(int);
	fp := (rawptr(((^uintptr)(uintptr(addr)))^));
	return ((proc "c" (rawptr, rawptr, int) -> rawptr)(fp))(dst, src, len);
}