I have two types of function pointers defined in my C++ that look like this:
typedef void(*CallbackFn)(bool, std::str
You can expose a function to C by declaring it extern "C".
extern "C"
However, the function must only accept argument types that are valid in C.
From the look of the code above, you're going to have to express your callback in more C-like terms.