]> git.saurik.com Git - cycript.git/blobdiff - cycript.hpp
Finished implementing array ffi.
[cycript.git] / cycript.hpp
index 20c6b8e8baf5fc826455ce7409bc2d6d46784681..05fc892edcdea24688c00834aa389f01614e21f2 100644 (file)
 #ifndef CYCRIPT_HPP
 #define CYCRIPT_HPP
 
+#ifdef __APPLE__
+#include <JavaScriptCore/JavaScriptCore.h>
+#else
 #include <JavaScriptCore/JavaScript.h>
+#endif
 
 #include <apr_pools.h>
 #include <ffi.h>
@@ -51,6 +55,8 @@
 
 #include <sqlite3.h>
 
+void CYInitialize();
+
 bool CYRecvAll_(int socket, uint8_t *data, size_t size);
 bool CYSendAll_(int socket, const uint8_t *data, size_t size);
 
@@ -126,6 +132,7 @@ struct CYHooks {
 
     JSValueRef (*RuntimeProperty)(JSContextRef, CYUTF8String);
     void (*CallFunction)(JSContextRef, ffi_cif *, void (*)(), uint8_t *, void **);
+    void (*SetupContext)(JSContextRef);
 
     bool (*PoolFFI)(apr_pool_t *, JSContextRef, sig::Type *, ffi_type *, void *, JSValueRef);
     JSValueRef (*FromFFI)(JSContextRef, sig::Type *, ffi_type *, void *, bool, JSObjectRef);
@@ -135,7 +142,7 @@ extern struct CYHooks *hooks_;
 
 char *sqlite3_column_pooled(apr_pool_t *pool, sqlite3_stmt *stmt, int n);
 
-JSObjectRef CYMakePointer(JSContextRef context, void *pointer, sig::Type *type, ffi_type *ffi, JSObjectRef owner);
+JSObjectRef CYMakePointer(JSContextRef context, void *pointer, size_t length, sig::Type *type, ffi_type *ffi, JSObjectRef owner);
 
 void CYFinalize(JSObjectRef object);