53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
|  | CELL allot_alien(CELL delegate, CELL displacement); | ||
|  | 
 | ||
|  | DECLARE_PRIMITIVE(displaced_alien); | ||
|  | DECLARE_PRIMITIVE(alien_address); | ||
|  | 
 | ||
|  | DLLEXPORT void *alien_offset(CELL object); | ||
|  | 
 | ||
|  | void fixup_alien(F_ALIEN* d); | ||
|  | 
 | ||
|  | DLLEXPORT void *unbox_alien(void); | ||
|  | DLLEXPORT void box_alien(void *ptr); | ||
|  | 
 | ||
|  | DECLARE_PRIMITIVE(alien_signed_cell); | ||
|  | DECLARE_PRIMITIVE(set_alien_signed_cell); | ||
|  | DECLARE_PRIMITIVE(alien_unsigned_cell); | ||
|  | DECLARE_PRIMITIVE(set_alien_unsigned_cell); | ||
|  | DECLARE_PRIMITIVE(alien_signed_8); | ||
|  | DECLARE_PRIMITIVE(set_alien_signed_8); | ||
|  | DECLARE_PRIMITIVE(alien_unsigned_8); | ||
|  | DECLARE_PRIMITIVE(set_alien_unsigned_8); | ||
|  | DECLARE_PRIMITIVE(alien_signed_4); | ||
|  | DECLARE_PRIMITIVE(set_alien_signed_4); | ||
|  | DECLARE_PRIMITIVE(alien_unsigned_4); | ||
|  | DECLARE_PRIMITIVE(set_alien_unsigned_4); | ||
|  | DECLARE_PRIMITIVE(alien_signed_2); | ||
|  | DECLARE_PRIMITIVE(set_alien_signed_2); | ||
|  | DECLARE_PRIMITIVE(alien_unsigned_2); | ||
|  | DECLARE_PRIMITIVE(set_alien_unsigned_2); | ||
|  | DECLARE_PRIMITIVE(alien_signed_1); | ||
|  | DECLARE_PRIMITIVE(set_alien_signed_1); | ||
|  | DECLARE_PRIMITIVE(alien_unsigned_1); | ||
|  | DECLARE_PRIMITIVE(set_alien_unsigned_1); | ||
|  | DECLARE_PRIMITIVE(alien_float); | ||
|  | DECLARE_PRIMITIVE(set_alien_float); | ||
|  | DECLARE_PRIMITIVE(alien_double); | ||
|  | DECLARE_PRIMITIVE(set_alien_double); | ||
|  | DECLARE_PRIMITIVE(alien_cell); | ||
|  | DECLARE_PRIMITIVE(set_alien_cell); | ||
|  | 
 | ||
|  | DLLEXPORT void to_value_struct(CELL src, void *dest, CELL size); | ||
|  | DLLEXPORT void box_value_struct(void *src, CELL size); | ||
|  | DLLEXPORT void box_small_struct(CELL x, CELL y, CELL size); | ||
|  | 
 | ||
|  | INLINE F_DLL *untag_dll(CELL tagged) | ||
|  | { | ||
|  | 	type_check(DLL_TYPE,tagged); | ||
|  | 	return (F_DLL*)UNTAG(tagged); | ||
|  | } | ||
|  | 
 | ||
|  | DECLARE_PRIMITIVE(dlopen); | ||
|  | DECLARE_PRIMITIVE(dlsym); | ||
|  | DECLARE_PRIMITIVE(dlclose); |