1// Code generated by 'go generate' with gen.go. DO NOT EDIT.
2
3// SPDX-License-Identifier: Apache-2.0
4// SPDX-FileCopyrightText: 2022 The Ebitengine Authors
5
6//go:build !cgo && (darwin || freebsd || linux || netbsd)
7
8package fakecgo
9
10import (
11 "syscall"
12 "unsafe"
13)
14
15// setg_trampoline calls setg with the G provided
16func setg_trampoline(setg uintptr, G uintptr)
17
18// call5 takes fn the C function and 5 arguments and calls the function with those arguments
19func call5(fn, a1, a2, a3, a4, a5 uintptr) uintptr
20
21//go:nosplit
22//go:norace
23func malloc(size uintptr) unsafe.Pointer {
24 ret := call5(mallocABI0, uintptr(size), 0, 0, 0, 0)
25 // this indirection is to avoid go vet complaining about possible misuse of unsafe.Pointer
26 return *(*unsafe.Pointer)(unsafe.Pointer(&ret))
27}
28
29//go:nosplit
30//go:norace
31func free(ptr unsafe.Pointer) {
32 call5(freeABI0, uintptr(ptr), 0, 0, 0, 0)
33}
34
35//go:nosplit
36//go:norace
37func setenv(name *byte, value *byte, overwrite int32) int32 {
38 return int32(call5(setenvABI0, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), uintptr(overwrite), 0, 0))
39}
40
41//go:nosplit
42//go:norace
43func unsetenv(name *byte) int32 {
44 return int32(call5(unsetenvABI0, uintptr(unsafe.Pointer(name)), 0, 0, 0, 0))
45}
46
47//go:nosplit
48//go:norace
49func sigfillset(set *sigset_t) int32 {
50 return int32(call5(sigfillsetABI0, uintptr(unsafe.Pointer(set)), 0, 0, 0, 0))
51}
52
53//go:nosplit
54//go:norace
55func nanosleep(ts *syscall.Timespec, rem *syscall.Timespec) int32 {
56 return int32(call5(nanosleepABI0, uintptr(unsafe.Pointer(ts)), uintptr(unsafe.Pointer(rem)), 0, 0, 0))
57}
58
59//go:nosplit
60//go:norace
61func abort() {
62 call5(abortABI0, 0, 0, 0, 0, 0)
63}
64
65//go:nosplit
66//go:norace
67func sigaltstack(ss *stack_t, old_ss *stack_t) int32 {
68 return int32(call5(sigaltstackABI0, uintptr(unsafe.Pointer(ss)), uintptr(unsafe.Pointer(old_ss)), 0, 0, 0))
69}
70
71//go:nosplit
72//go:norace
73func pthread_attr_init(attr *pthread_attr_t) int32 {
74 return int32(call5(pthread_attr_initABI0, uintptr(unsafe.Pointer(attr)), 0, 0, 0, 0))
75}
76
77//go:nosplit
78//go:norace
79func pthread_create(thread *pthread_t, attr *pthread_attr_t, start unsafe.Pointer, arg unsafe.Pointer) int32 {
80 return int32(call5(pthread_createABI0, uintptr(unsafe.Pointer(thread)), uintptr(unsafe.Pointer(attr)), uintptr(start), uintptr(arg), 0))
81}
82
83//go:nosplit
84//go:norace
85func pthread_detach(thread pthread_t) int32 {
86 return int32(call5(pthread_detachABI0, uintptr(thread), 0, 0, 0, 0))
87}
88
89//go:nosplit
90//go:norace
91func pthread_sigmask(how sighow, ign *sigset_t, oset *sigset_t) int32 {
92 return int32(call5(pthread_sigmaskABI0, uintptr(how), uintptr(unsafe.Pointer(ign)), uintptr(unsafe.Pointer(oset)), 0, 0))
93}
94
95//go:nosplit
96//go:norace
97func pthread_self() pthread_t {
98 return pthread_t(call5(pthread_selfABI0, 0, 0, 0, 0, 0))
99}
100
101//go:nosplit
102//go:norace
103func pthread_get_stacksize_np(thread pthread_t) size_t {
104 return size_t(call5(pthread_get_stacksize_npABI0, uintptr(thread), 0, 0, 0, 0))
105}
106
107//go:nosplit
108//go:norace
109func pthread_attr_getstacksize(attr *pthread_attr_t, stacksize *size_t) int32 {
110 return int32(call5(pthread_attr_getstacksizeABI0, uintptr(unsafe.Pointer(attr)), uintptr(unsafe.Pointer(stacksize)), 0, 0, 0))
111}
112
113//go:nosplit
114//go:norace
115func pthread_attr_setstacksize(attr *pthread_attr_t, size size_t) int32 {
116 return int32(call5(pthread_attr_setstacksizeABI0, uintptr(unsafe.Pointer(attr)), uintptr(size), 0, 0, 0))
117}
118
119//go:nosplit
120//go:norace
121func pthread_attr_destroy(attr *pthread_attr_t) int32 {
122 return int32(call5(pthread_attr_destroyABI0, uintptr(unsafe.Pointer(attr)), 0, 0, 0, 0))
123}
124
125//go:nosplit
126//go:norace
127func pthread_mutex_lock(mutex *pthread_mutex_t) int32 {
128 return int32(call5(pthread_mutex_lockABI0, uintptr(unsafe.Pointer(mutex)), 0, 0, 0, 0))
129}
130
131//go:nosplit
132//go:norace
133func pthread_mutex_unlock(mutex *pthread_mutex_t) int32 {
134 return int32(call5(pthread_mutex_unlockABI0, uintptr(unsafe.Pointer(mutex)), 0, 0, 0, 0))
135}
136
137//go:nosplit
138//go:norace
139func pthread_cond_broadcast(cond *pthread_cond_t) int32 {
140 return int32(call5(pthread_cond_broadcastABI0, uintptr(unsafe.Pointer(cond)), 0, 0, 0, 0))
141}
142
143//go:nosplit
144//go:norace
145func pthread_setspecific(key pthread_key_t, value unsafe.Pointer) int32 {
146 return int32(call5(pthread_setspecificABI0, uintptr(key), uintptr(value), 0, 0, 0))
147}
148
149//go:linkname _malloc _malloc
150var _malloc uint8
151var mallocABI0 = uintptr(unsafe.Pointer(&_malloc))
152
153//go:linkname _free _free
154var _free uint8
155var freeABI0 = uintptr(unsafe.Pointer(&_free))
156
157//go:linkname _setenv _setenv
158var _setenv uint8
159var setenvABI0 = uintptr(unsafe.Pointer(&_setenv))
160
161//go:linkname _unsetenv _unsetenv
162var _unsetenv uint8
163var unsetenvABI0 = uintptr(unsafe.Pointer(&_unsetenv))
164
165//go:linkname _sigfillset _sigfillset
166var _sigfillset uint8
167var sigfillsetABI0 = uintptr(unsafe.Pointer(&_sigfillset))
168
169//go:linkname _nanosleep _nanosleep
170var _nanosleep uint8
171var nanosleepABI0 = uintptr(unsafe.Pointer(&_nanosleep))
172
173//go:linkname _abort _abort
174var _abort uint8
175var abortABI0 = uintptr(unsafe.Pointer(&_abort))
176
177//go:linkname _sigaltstack _sigaltstack
178var _sigaltstack uint8
179var sigaltstackABI0 = uintptr(unsafe.Pointer(&_sigaltstack))
180
181//go:linkname _pthread_attr_init _pthread_attr_init
182var _pthread_attr_init uint8
183var pthread_attr_initABI0 = uintptr(unsafe.Pointer(&_pthread_attr_init))
184
185//go:linkname _pthread_create _pthread_create
186var _pthread_create uint8
187var pthread_createABI0 = uintptr(unsafe.Pointer(&_pthread_create))
188
189//go:linkname _pthread_detach _pthread_detach
190var _pthread_detach uint8
191var pthread_detachABI0 = uintptr(unsafe.Pointer(&_pthread_detach))
192
193//go:linkname _pthread_sigmask _pthread_sigmask
194var _pthread_sigmask uint8
195var pthread_sigmaskABI0 = uintptr(unsafe.Pointer(&_pthread_sigmask))
196
197//go:linkname _pthread_self _pthread_self
198var _pthread_self uint8
199var pthread_selfABI0 = uintptr(unsafe.Pointer(&_pthread_self))
200
201//go:linkname _pthread_get_stacksize_np _pthread_get_stacksize_np
202var _pthread_get_stacksize_np uint8
203var pthread_get_stacksize_npABI0 = uintptr(unsafe.Pointer(&_pthread_get_stacksize_np))
204
205//go:linkname _pthread_attr_getstacksize _pthread_attr_getstacksize
206var _pthread_attr_getstacksize uint8
207var pthread_attr_getstacksizeABI0 = uintptr(unsafe.Pointer(&_pthread_attr_getstacksize))
208
209//go:linkname _pthread_attr_setstacksize _pthread_attr_setstacksize
210var _pthread_attr_setstacksize uint8
211var pthread_attr_setstacksizeABI0 = uintptr(unsafe.Pointer(&_pthread_attr_setstacksize))
212
213//go:linkname _pthread_attr_destroy _pthread_attr_destroy
214var _pthread_attr_destroy uint8
215var pthread_attr_destroyABI0 = uintptr(unsafe.Pointer(&_pthread_attr_destroy))
216
217//go:linkname _pthread_mutex_lock _pthread_mutex_lock
218var _pthread_mutex_lock uint8
219var pthread_mutex_lockABI0 = uintptr(unsafe.Pointer(&_pthread_mutex_lock))
220
221//go:linkname _pthread_mutex_unlock _pthread_mutex_unlock
222var _pthread_mutex_unlock uint8
223var pthread_mutex_unlockABI0 = uintptr(unsafe.Pointer(&_pthread_mutex_unlock))
224
225//go:linkname _pthread_cond_broadcast _pthread_cond_broadcast
226var _pthread_cond_broadcast uint8
227var pthread_cond_broadcastABI0 = uintptr(unsafe.Pointer(&_pthread_cond_broadcast))
228
229//go:linkname _pthread_setspecific _pthread_setspecific
230var _pthread_setspecific uint8
231var pthread_setspecificABI0 = uintptr(unsafe.Pointer(&_pthread_setspecific))