]> git.saurik.com Git - cycript.git/blob - sig/ffi_type.hpp
This is getting seriously hot.
[cycript.git] / sig / ffi_type.hpp
1 #ifndef SIG_FFI_TYPE_H
2 #define SIG_FFI_TYPE_H
3
4 #include <apr-1/apr_pools.h>
5 #include <ffi.h>
6
7 #include "sig/types.hpp"
8
9 namespace sig {
10
11 ffi_type *sig_objc_ffi_type(apr_pool_t *pool, struct Type *type);
12 ffi_type *sig_java_ffi_type(apr_pool_t *pool, struct Type *type);
13
14 void sig_ffi_types(
15 apr_pool_t *pool,
16 ffi_type *(*sig_ffi_type)(apr_pool_t *, struct Type *),
17 struct Signature *signature,
18 ffi_type **ffi_types,
19 size_t skip,
20 size_t offset
21 );
22
23 void sig_ffi_cif(
24 apr_pool_t *pool,
25 ffi_type *(*sig_ffi_type)(apr_pool_t *, struct Type *),
26 struct Signature *signature,
27 ffi_cif *ffi_cif,
28 size_t skip = 0,
29 ffi_type **types = NULL,
30 size_t offset = 0
31 );
32
33 }
34
35 #endif/*SIG_FFI_TYPE_H*/