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); DEFINE_UNTAG(F_DLL,DLL_TYPE,dll) DECLARE_PRIMITIVE(dlopen); DECLARE_PRIMITIVE(dlsym); DECLARE_PRIMITIVE(dlclose);