Imports #
_ "unsafe"
"C"
"internal/runtime/sys"
"sync"
"sync/atomic"
"unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
"unsafe"
_ "unsafe"
"C"
"internal/runtime/sys"
"sync"
"sync/atomic"
"unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
_ "unsafe"
"unsafe"
var ___ps_strings uintptrvar _cgo_bindm = *ast.UnaryExprvar _cgo_callers = *ast.UnaryExprvar _cgo_getstackbound = *ast.UnaryExprvar _cgo_init = *ast.UnaryExprgo:cgo_import_static _cgo_libc_setegid go:linkname _cgo_libc_setegid _cgo_libc_setegid go:linkname cgo_libc_setegid syscall.cgo_libc_setegid
var _cgo_libc_setegid bytego:cgo_import_static _cgo_libc_seteuid go:linkname _cgo_libc_seteuid _cgo_libc_seteuid go:linkname cgo_libc_seteuid syscall.cgo_libc_seteuid
var _cgo_libc_seteuid bytego:cgo_import_static _cgo_libc_setgid go:linkname _cgo_libc_setgid _cgo_libc_setgid go:linkname cgo_libc_setgid syscall.cgo_libc_setgid
var _cgo_libc_setgid bytego:cgo_import_static _cgo_libc_setgroups go:linkname _cgo_libc_setgroups _cgo_libc_setgroups go:linkname cgo_libc_setgroups syscall.cgo_libc_setgroups
var _cgo_libc_setgroups bytego:cgo_import_static _cgo_libc_setregid go:linkname _cgo_libc_setregid _cgo_libc_setregid go:linkname cgo_libc_setregid syscall.cgo_libc_setregid
var _cgo_libc_setregid bytego:cgo_import_static _cgo_libc_setresgid go:linkname _cgo_libc_setresgid _cgo_libc_setresgid go:linkname cgo_libc_setresgid syscall.cgo_libc_setresgid
var _cgo_libc_setresgid bytego:cgo_import_static _cgo_libc_setresuid go:linkname _cgo_libc_setresuid _cgo_libc_setresuid go:linkname cgo_libc_setresuid syscall.cgo_libc_setresuid
var _cgo_libc_setresuid bytego:cgo_import_static _cgo_libc_setreuid go:linkname _cgo_libc_setreuid _cgo_libc_setreuid go:linkname cgo_libc_setreuid syscall.cgo_libc_setreuid
var _cgo_libc_setreuid bytego:cgo_import_static _cgo_libc_setuid go:linkname _cgo_libc_setuid _cgo_libc_setuid go:linkname cgo_libc_setuid syscall.cgo_libc_setuid
var _cgo_libc_setuid bytevar _cgo_mmap = *ast.UnaryExprvar _cgo_munmap = *ast.UnaryExprvar _cgo_notify_runtime_init_done = *ast.UnaryExprvar _cgo_pthread_key_created = *ast.UnaryExprvar _cgo_set_context_function = *ast.UnaryExprvar _cgo_setenv = *ast.UnaryExprvar _cgo_sigaction = *ast.UnaryExprvar _cgo_sys_thread_create = *ast.UnaryExprvar _cgo_thread_start = *ast.UnaryExprvar _cgo_unsetenv = *ast.UnaryExprgo:cgo_import_static _cgo_yield go:linkname _cgo_yield _cgo_yield
var _cgo_yield unsafe.Pointervar _crosscall2_ptr = *ast.UnaryExprvar _environ uintptrvar _environ uintptrvar _environ uintptrvar _guard_local uintptrgo:linkname _iscgo runtime.iscgo
var _iscgo bool = truevar _progname uintptrvar _progname uintptrvar _progname uintptrgo:linkname _set_crosscall2 runtime.set_crosscall2
var _set_crosscall2 = set_crosscall2var cgo_libc_setegid = *ast.CallExprvar cgo_libc_seteuid = *ast.CallExprvar cgo_libc_setgid = *ast.CallExprvar cgo_libc_setgroups = *ast.CallExprvar cgo_libc_setregid = *ast.CallExprvar cgo_libc_setresgid = *ast.CallExprvar cgo_libc_setresuid = *ast.CallExprvar cgo_libc_setreuid = *ast.CallExprvar cgo_libc_setuid = *ast.CallExprvar handleIdx atomic.Uintptrvar handles = sync.Map{...}go:cgo_import_static x_cgo_bindm go:linkname x_cgo_bindm x_cgo_bindm go:linkname _cgo_bindm _cgo_bindm
var x_cgo_bindm bytego:cgo_import_static x_cgo_callers go:linkname x_cgo_callers x_cgo_callers go:linkname _cgo_callers _cgo_callers
var x_cgo_callers bytego:cgo_import_static x_cgo_getstackbound go:linkname x_cgo_getstackbound x_cgo_getstackbound go:linkname _cgo_getstackbound _cgo_getstackbound
var x_cgo_getstackbound bytego:cgo_import_static x_cgo_init go:linkname x_cgo_init x_cgo_init go:linkname _cgo_init _cgo_init
var x_cgo_init bytego:cgo_import_static x_cgo_mmap go:linkname x_cgo_mmap x_cgo_mmap go:linkname _cgo_mmap _cgo_mmap
var x_cgo_mmap bytego:cgo_import_static x_cgo_munmap go:linkname x_cgo_munmap x_cgo_munmap go:linkname _cgo_munmap _cgo_munmap
var x_cgo_munmap bytego:cgo_import_static x_cgo_notify_runtime_init_done go:linkname x_cgo_notify_runtime_init_done x_cgo_notify_runtime_init_done go:linkname _cgo_notify_runtime_init_done _cgo_notify_runtime_init_done
var x_cgo_notify_runtime_init_done bytego:cgo_import_static x_cgo_pthread_key_created go:linkname x_cgo_pthread_key_created x_cgo_pthread_key_created go:linkname _cgo_pthread_key_created _cgo_pthread_key_created
var x_cgo_pthread_key_created bytego:cgo_import_static x_cgo_set_context_function go:linkname x_cgo_set_context_function x_cgo_set_context_function go:linkname _cgo_set_context_function _cgo_set_context_function
var x_cgo_set_context_function bytego:cgo_import_static x_cgo_setenv go:linkname x_cgo_setenv x_cgo_setenv go:linkname _cgo_setenv runtime._cgo_setenv
var x_cgo_setenv bytego:cgo_import_static x_cgo_sigaction go:linkname x_cgo_sigaction x_cgo_sigaction go:linkname _cgo_sigaction _cgo_sigaction
var x_cgo_sigaction bytego:cgo_import_static x_cgo_sys_thread_create go:linkname x_cgo_sys_thread_create x_cgo_sys_thread_create go:linkname _cgo_sys_thread_create _cgo_sys_thread_create
var x_cgo_sys_thread_create bytego:cgo_import_static x_cgo_thread_start go:linkname x_cgo_thread_start x_cgo_thread_start go:linkname _cgo_thread_start _cgo_thread_start
var x_cgo_thread_start bytego:cgo_import_static x_cgo_unsetenv go:linkname x_cgo_unsetenv x_cgo_unsetenv go:linkname _cgo_unsetenv runtime._cgo_unsetenv
var x_cgo_unsetenv bytego:cgo_import_static x_crosscall2_ptr go:linkname x_crosscall2_ptr x_crosscall2_ptr go:linkname _crosscall2_ptr _crosscall2_ptr
var x_crosscall2_ptr byteHandle provides a way to pass values that contain Go pointers
(pointers to memory allocated by Go) between Go and C without
breaking the cgo pointer passing rules. A Handle is an integer
value that can represent any Go value. A Handle can be passed
through C and back to Go, and Go code can use the Handle to
retrieve the original Go value.
The underlying type of Handle is guaranteed to fit in an integer type
that is large enough to hold the bit pattern of any pointer. The zero
value of a Handle is not valid, and thus is safe to use as a sentinel
in C APIs.
For instance, on the Go side:
package main
/*
#include 
type Handle uintptrIncomplete is used specifically for the semantics of incomplete C types.
type Incomplete struct {
_ sys.NotInHeap
}Delete invalidates a handle. This method should only be called once the program no longer needs to pass the handle to C and the C code no longer has a copy of the handle value. The method panics if the handle is invalid.
func (h Handle) Delete()NewHandle returns a handle for a given value. The handle is valid until the program calls Delete on it. The handle uses resources, and this package assumes that C code may hold on to the handle, so a program must explicitly call Delete when the handle is no longer needed. The intended use is to pass the returned handle to C code, which passes it back to Go, which calls Value.
func NewHandle(v any) HandleValue returns the associated Go value for a valid handle. The method panics if the handle is invalid.
func (h Handle) Value() anygo:linkname _cgo_panic _cgo_panic go:cgo_export_static _cgo_panic go:cgo_export_dynamic _cgo_panic
func _cgo_panic(a *struct{...})go:linkname _runtime_cgo_panic_internal runtime._cgo_panic_internal
func _runtime_cgo_panic_internal(p *byte)Set the x_crosscall2_ptr C function pointer variable point to crosscall2. It's for the runtime package to call at init time.
func set_crosscall2()go:cgo_export_static xx_cgo_panicmem xx_cgo_panicmem
func xx_cgo_panicmem()Generated with Arrow