-typedef void (*action_fun)(const char* const* args);
-XBT_PUBLIC void xbt_replay_action_register(const char* action_name, action_fun function);
+typedef std::function<void(simgrid::xbt::ReplayAction&)> action_fun;
+XBT_PUBLIC void xbt_replay_action_register(const char* action_name, const action_fun& function);