would it make sense to write it like this?
Flow * const pflow = p->flow;
This makes the pointer itself a const, while the data pointed to can still change.