// C++
typedef (void)(*MyCallbackFPtr)(int special, void *ctx);
void MyClass::SetCallback(MyCallbackFPtr fptr, void *ctx) { ... }
// to call it
callback(42, mCtx);
// ObjC
void MsgSendCallback(int special, void *ctx) {
[(id)ctx someMethodWithInt:special];
}
// ...
cppMyClassInstance->setCallback(MsgSendCallback, self);