Make a wrapper. Use the argument value you for sure can specify to the external API (a void* or alike) to pass back to you on callback, as id to your internal routine.

2011/11/3 Vok Vojwo <ceving@gmail.com>
 
But it is of limited use if it comes to Gtk callbacks. If one
dynamically creates Gtk widgets it is necessary to be able to assign
them callbacks. If the definition of the callback must be done on the
Scheme top level and always requires a C name the whole code becomes
quite static.