aboutsummaryrefslogtreecommitdiff
path: root/core/runtime/procs_darwin.odin
blob: 9c53b5b16ad3632031872ce1c4fb4104e634444d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//+private
package runtime

foreign import "system:Foundation.framework"

import "core:intrinsics"

objc_id :: ^intrinsics.objc_object
objc_Class :: ^intrinsics.objc_class
objc_SEL :: ^intrinsics.objc_selector

foreign Foundation {
	objc_lookUpClass :: proc "c" (name: cstring) -> objc_Class ---
	sel_registerName :: proc "c" (name: cstring) -> objc_SEL ---
	objc_allocateClassPair :: proc "c" (superclass: objc_Class, name: cstring, extraBytes: uint) -> objc_Class ---

	objc_msgSend        :: proc "c" (self: objc_id, op: objc_SEL, #c_vararg args: ..any) ---
	objc_msgSend_fpret  :: proc "c" (self: objc_id, op: objc_SEL, #c_vararg args: ..any) -> f64 ---
	objc_msgSend_fp2ret :: proc "c" (self: objc_id, op: objc_SEL, #c_vararg args: ..any) -> complex128 ---
	objc_msgSend_stret  :: proc "c" (self: objc_id, op: objc_SEL, #c_vararg args: ..any) ---
}