> "The mark routine will be called by the garbage collector during its > ``mark'' phase...", "...mark function needs to identify these objects > using rb_gc_mark(value)." > > But "my structure" is not my and it does not "know" anything about Ruby. > The structure references other C-structures wrapped by Ruby objects. How > can I determine the value of the referenced C-structures while I have > only a pointer to the containing C-structure? I need at least VALUE of > the latter. You're going to have to maintain some mapping from those C struct pointers to the corresponding Ruby objects; I don't think there's any way around that. In FXRuby I use an STL map to store these pairs but any kind of dictionary ADT would do the trick.