|
@@ -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
|