JSObjectRef CYGetGlobalObject(JSContextRef context);
extern "C" void CYSetupContext(JSGlobalContextRef context);
-const char *CYExecute(CYPool &pool, CYUTF8String code);
+const char *CYExecute(JSContextRef context, CYPool &pool, CYUTF8String code);
void CYSetArgs(int argc, const char *argv[]);
JSObjectRef CYMakePointer(JSContextRef context, void *pointer, size_t length, sig::Type *type, ffi_type *ffi, JSObjectRef owner);
+JSObjectRef CYMakeType(JSContextRef context, const char *encoding);
+JSObjectRef CYMakeType(JSContextRef context, sig::Type *type);
+JSObjectRef CYMakeType(JSContextRef context, sig::Signature *signature);
+
void CYFinalize(JSObjectRef object);
size_t CYArrayLength(JSContextRef context, JSObjectRef array);