typedef void (*callback_t) (void *); static callback_t saved_callback; static void *saved_arg; void give (callback_t callback, void *arg) { saved_callback = callback; saved_arg = arg; } void call () { saved_callback(saved_arg); }