make do_call_back() to take seg/off instead of strange ptr