do_setup
setup_func_t do_setup;
transfer_func_t do_transfer, setup_func_t do_setup, void *priv);
transfer_func_t do_transfer, setup_func_t do_setup, void *priv)
assert(do_setup);
actx->do_setup = do_setup;
err = (* actx->do_setup)(actx->priv);