aboutsummaryrefslogtreecommitdiff
path: root/core/sys/posix
diff options
context:
space:
mode:
authorLaytan Laats <laytanlaats@hotmail.com>2024-11-17 13:52:08 +0100
committerLaytan Laats <laytanlaats@hotmail.com>2024-11-17 13:52:08 +0100
commit20f4f378b202d38bc93917d89ade31b35f9e4970 (patch)
treec1786b32ba758fac5028f6ade29e583cdde35d24 /core/sys/posix
parent8f2766c4dccc16277683288fc0d8a8281afa983d (diff)
sys/posix: add MAP_ANONYMOUS
Diffstat (limited to 'core/sys/posix')
-rw-r--r--core/sys/posix/sys_mman.odin22
1 files changed, 13 insertions, 9 deletions
diff --git a/core/sys/posix/sys_mman.odin b/core/sys/posix/sys_mman.odin
index 9e2939a05..0594672ae 100644
--- a/core/sys/posix/sys_mman.odin
+++ b/core/sys/posix/sys_mman.odin
@@ -116,12 +116,14 @@ Prot_Flag_Bits :: enum c.int {
Prot_Flags :: bit_set[Prot_Flag_Bits; c.int]
Map_Flag_Bits :: enum c.int {
+ // Map anonymous memory.
+ ANONYMOUS = log2(MAP_ANONYMOUS),
// Interpret addr exactly.
- FIXED = log2(MAP_FIXED),
+ FIXED = log2(MAP_FIXED),
// Changes are private.
- PRIVATE = log2(MAP_PRIVATE),
+ PRIVATE = log2(MAP_PRIVATE),
// Changes are shared.
- SHARED = log2(MAP_SHARED),
+ SHARED = log2(MAP_SHARED),
}
Map_Flags :: bit_set[Map_Flag_Bits; c.int]
@@ -171,9 +173,10 @@ when ODIN_OS == .Darwin || ODIN_OS == .NetBSD || ODIN_OS == .OpenBSD || ODIN_OS
PROT_READ :: 0x01
PROT_WRITE :: 0x02
- MAP_FIXED :: 0x0010
- MAP_PRIVATE :: 0x0002
- MAP_SHARED :: 0x0001
+ MAP_FIXED :: 0x0010
+ MAP_PRIVATE :: 0x0002
+ MAP_SHARED :: 0x0001
+ MAP_ANONYMOUS :: 0x0020 when ODIN_OS == .Linux else 0x1000
when ODIN_OS == .Darwin || ODIN_OS == .Linux {
MS_INVALIDATE :: 0x0002
@@ -207,9 +210,10 @@ when ODIN_OS == .Darwin || ODIN_OS == .NetBSD || ODIN_OS == .OpenBSD || ODIN_OS
PROT_READ :: 0x01
PROT_WRITE :: 0x02
- MAP_FIXED :: 0x0010
- MAP_PRIVATE :: 0x0002
- MAP_SHARED :: 0x0001
+ MAP_FIXED :: 0x0010
+ MAP_PRIVATE :: 0x0002
+ MAP_SHARED :: 0x0001
+ MAP_ANONYMOUS :: 0x1000
MS_ASYNC :: 0x0001
MS_INVALIDATE :: 0x0002