...
Source file
src/runtime/cgo_mmap.go
Documentation: runtime
1
2
3
4
5
6
7
8
9 package runtime
10
11 import "unsafe"
12
13
14
15
16 var _cgo_mmap unsafe.Pointer
17
18
19
20
21 var _cgo_munmap unsafe.Pointer
22
23 func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uint32) (unsafe.Pointer, int) {
24 if _cgo_mmap != nil {
25
26
27
28
29
30 var ret uintptr
31 systemstack(func() {
32 ret = callCgoMmap(addr, n, prot, flags, fd, off)
33 })
34 if ret < 4096 {
35 return nil, int(ret)
36 }
37 return unsafe.Pointer(ret), 0
38 }
39 return sysMmap(addr, n, prot, flags, fd, off)
40 }
41
42 func munmap(addr unsafe.Pointer, n uintptr) {
43 if _cgo_munmap != nil {
44 systemstack(func() { callCgoMunmap(addr, n) })
45 return
46 }
47 sysMunmap(addr, n)
48 }
49
50
51 func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uint32) (p unsafe.Pointer, err int)
52
53
54
55 func callCgoMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uint32) uintptr
56
57
58 func sysMunmap(addr unsafe.Pointer, n uintptr)
59
60
61
62 func callCgoMunmap(addr unsafe.Pointer, n uintptr)
63
View as plain text