Subject: [ruby-ffi] cannot define function pointers that take function pointer arguments in jruby struct layout |
From: Aman Gupta |
Date: 9/14/09 4:28 AM |
To: ruby-ffi |
I'm using ffi-swig-generator on: typedef void (*MyCallback) (void *data); typedef struct { void (*member) (MyCallback cb); } MyStruct; which generates: callback(:MyCallback, [ :pointer ], :void) class MyStruct < FFI::Struct layout( :member, callback([ :MyCallback ], :void) ) end This works fine on with ruby-ffi, but on jruby I get: /custom/jruby/lib/ruby/1.8/ffi/types.rb:17:in `find_type': Unable to resolve type 'MyCallback' (FFI::TypeError) from /custom/jruby/lib/ruby/1.8/ffi/library.rb:213:in `find_type' from /custom/jruby/lib/ruby/1.8/ffi/struct.rb:149:in `find_type' from /custom/jruby/lib/ruby/1.8/ffi/library.rb:148:in `callback' from /custom/jruby/lib/ruby/1.8/ffi/library.rb:148:in `each' from /custom/jruby/lib/ruby/1.8/ffi/library.rb:148:in `map' from /custom/jruby/lib/ruby/1.8/ffi/library.rb:148:in `callback'