88 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			88 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Factor
		
	
	
| 
								 | 
							
								! Copyright (C) 2006, 2007 Slava Pestov
							 | 
						||
| 
								 | 
							
								! See http://factorcode.org/license.txt for BSD license.
							 | 
						||
| 
								 | 
							
								USING: alien.syntax ;
							 | 
						||
| 
								 | 
							
								IN: cocoa.runtime
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								TYPEDEF: void* SEL
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								TYPEDEF: void* id
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: char* sel_getName ( SEL aSelector ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: bool sel_isMapped ( SEL aSelector ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: SEL sel_registerName ( char* str ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								C-STRUCT: objc-super
							 | 
						||
| 
								 | 
							
								    { "id" "receiver" }
							 | 
						||
| 
								 | 
							
								    { "void*" "class" } ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								: CLS_CLASS        HEX: 1   ;
							 | 
						||
| 
								 | 
							
								: CLS_META         HEX: 2   ;
							 | 
						||
| 
								 | 
							
								: CLS_INITIALIZED  HEX: 4   ;
							 | 
						||
| 
								 | 
							
								: CLS_POSING       HEX: 8   ;
							 | 
						||
| 
								 | 
							
								: CLS_MAPPED       HEX: 10  ;
							 | 
						||
| 
								 | 
							
								: CLS_FLUSH_CACHE  HEX: 20  ;
							 | 
						||
| 
								 | 
							
								: CLS_GROW_CACHE   HEX: 40  ;
							 | 
						||
| 
								 | 
							
								: CLS_NEED_BIND    HEX: 80  ;
							 | 
						||
| 
								 | 
							
								: CLS_METHOD_ARRAY HEX: 100 ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								C-STRUCT: objc-class
							 | 
						||
| 
								 | 
							
								    { "void*" "isa" }
							 | 
						||
| 
								 | 
							
								    { "void*" "super-class" }
							 | 
						||
| 
								 | 
							
								    { "char*" "name" }
							 | 
						||
| 
								 | 
							
								    { "long" "version" }
							 | 
						||
| 
								 | 
							
								    { "long" "info" }
							 | 
						||
| 
								 | 
							
								    { "long" "instance-size" }
							 | 
						||
| 
								 | 
							
								    { "void*" "ivars" }
							 | 
						||
| 
								 | 
							
								    { "void*" "methodLists" }
							 | 
						||
| 
								 | 
							
								    { "void*" "cache" }
							 | 
						||
| 
								 | 
							
								    { "void*" "protocols" } ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								C-STRUCT: objc-object
							 | 
						||
| 
								 | 
							
								    { "objc-class*" "isa" } ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: int objc_getClassList ( void* buffer, int bufferLen ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: objc-class* objc_getClass ( char* class ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: objc-class* objc_getMetaClass ( char* class ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: objc-class* objc_getProtocol ( char* class ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: void objc_addClass ( objc-class* class ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: id class_createInstance ( objc-class* class, uint additionalByteCount ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: id class_createInstanceFromZone ( objc-class* class, uint additionalByteCount, void* zone ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								C-STRUCT: objc-method
							 | 
						||
| 
								 | 
							
								    { "SEL" "name" }
							 | 
						||
| 
								 | 
							
								    { "char*" "types" }
							 | 
						||
| 
								 | 
							
								    { "void*" "imp" } ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: objc-method* class_getInstanceMethod ( objc-class* class, SEL selector ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: objc-method* class_getClassMethod ( objc-class* class, SEL selector ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								C-STRUCT: objc-method-list
							 | 
						||
| 
								 | 
							
								    { "void*" "obsolete" }
							 | 
						||
| 
								 | 
							
								    { "int" "count" } ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: objc-method-list* class_nextMethodList ( objc-class* class, void** iterator ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: void class_addMethods ( objc-class* class, objc-method-list* methodList ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: void class_removeMethods ( objc-class* class, objc-method-list* methodList ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: uint method_getNumberOfArguments ( objc-method* method ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: uint method_getSizeOfArguments ( objc-method* method ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								FUNCTION: uint method_getArgumentInfo ( objc-method* method, int argIndex, char** type, int* offset ) ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								C-STRUCT: objc-protocol-list
							 | 
						||
| 
								 | 
							
								    { "void*" "next" }
							 | 
						||
| 
								 | 
							
								    { "int" "count" }
							 | 
						||
| 
								 | 
							
								    { "objc-class*" "class" } ;
							 |