removed fasls
[objcffi.git] / objc-include-types.lisp
blob71cae5fd6cee98a44aa9e31ad81cd91aab5e7838
1 (in-package :objcffi)
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
12 (isa Class))
14 (cffi:defcstruct objc_class
15 (isa Class)
16 (super_class Class)
17 (name :string)
18 (version :long)
19 (info :long)
20 (instance_size :long)
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)
28 (class_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
34 (ivar_name :string)
35 (ivar_type :string)
36 (ivar_offset :int))
38 (cffi:defcstruct (objc_ivar_list :size 16) ;; check these sizes are required (and correct)
39 (ivar_count :int)
40 (ivar_list :pointer)) ;; "struct objc_ivar[1]"
42 (cffi:defcstruct objc_method
43 (method_name sel)
44 (method_types :string)
45 (method_imp imp))
47 (cffi:defcstruct (objc_method_list :size 20) ;; check these sizes are required (and correct)
48 (obsolete :pointer) ;; objc_method_list *
49 (method_count :int)
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 *
54 (count :int)
55 (list :pointer)) ;; "Protocol *[1]"
57 (cffi:defcstruct (objc_cache :size 12) ;; check these sizes are required (and correct)
58 (mask :unsigned-int)
59 (occupied :unsigned-int)
60 (buckets :pointer)) ;; "Method[1]"