3 (cffi:defctype BOOL
(:boolean
:char
))
4 (cffi:defctype id
:pointer
)
5 (cffi:defctype Ivar
:pointer
)
6 (cffi:defctype Method
:pointer
)
7 (cffi:defctype Class
:pointer
)
8 (cffi:defctype SEL
:pointer
)
9 (cffi:defctype IMP
:pointer
)
11 (cffi:defcstruct objc_object
14 (cffi:defcstruct objc_class
21 (ivars :pointer
) ;; objc_ivar_list *
22 (methodLists :pointer
) ;; objc_method_list **
23 (cache :pointer
) ;; objc_cache *
24 (protocols :pointer
)) ;; objc_protocol_list *
26 (cffi:defcstruct objc_category
27 (category_name :string
)
29 (instance_methods :pointer
) ;; objc_method_list *
30 (class_methods :pointer
) ;; objc_method_list *
31 (protocols :pointer
)) ;; objc_protocol_list *
33 (cffi:defcstruct objc_ivar
38 (cffi:defcstruct
(objc_ivar_list :size
16) ;; check these sizes are required (and correct)
40 (ivar_list :pointer
)) ;; "struct objc_ivar[1]"
42 (cffi:defcstruct objc_method
44 (method_types :string
)
47 (cffi:defcstruct
(objc_method_list :size
20) ;; check these sizes are required (and correct)
48 (obsolete :pointer
) ;; objc_method_list *
50 (method_list :pointer
)) ;; "struct objc_method[1]"
52 (cffi:defcstruct
(objc_protocol_list :size
12) ;; check these sizes are required (and correct)
53 (next :pointer
) ;; objc_protocol_list *
55 (list :pointer
)) ;; "Protocol *[1]"
57 (cffi:defcstruct
(objc_cache :size
12) ;; check these sizes are required (and correct)
59 (occupied :unsigned-int
)
60 (buckets :pointer
)) ;; "Method[1]"