Guys, Thanks for all the good responses. A few items: * We are aware of the struct option. Our original approach was to require all parameters to be ruby data types or well-known structs, which could be wrapped and passed to Ruby. However, there is still the pointer issue--since the struct might be arbitrary, it might contain something like an int** (or even a void*) which cannot be wrapped and serialized appropriately (as Tim pointed out, we want to make no assumptions regarding the memory state of other connected nodes). * How are you suggesting we use mmap to solve this problem? If there is a way that we could just take all the data in one big binary chunk, represent it with a string, and send it over the wire, that would be excellent. However, again it seems to me that pointers provide a problem. Thanks for the suggestions. But I'm still not sure how this solves our problem in the general sense (obviously if we were just trying to support a single piece of C code then this problem could be solved more specifically). Code examples for the C side would be especially appreciated, since we're less familiar with that aspect. Much appreciated, Nathan