Sorry I don't have a complete answer for you ... looks like this may take a bit of work. http://www.swig.org/Doc1.3/Typemaps.html#Typemaps_nn40 .... shows an example using Python. To call your function the way you want, looks like you'll need to write a typemap and/or helper functions to extract the Ruby array values and populate a C array with the correct type values. ruby.h has a bunch of conversion macros and prototypes that will help. Good luck!