This (untested) SHOULD work fine.
function create_my_bmap (BMAP* this)
{
BMAP* fb = bmap_createblack(256,256,24);
BMAP* this;
wait(1);
// do something with fb
...
//
wait(1);
this = fb;
BMAP* that = fb;
//is now done! both "this" and "that" and "fb" are ALL pointing at SAME bmap.
}
But I would try to avoid this type of programming, its going to be very easy to end up with "invalid pointer" errors.