Seems a bit pointless ... either one of those flags is >= 32 bits, in which case we need u64, or it's not, in which case there is no reason to burden the output with bits we don't need.
Yes, it's a not a functional patch -- only a type-consistency one. Right now we're mixing ints (signed ones even) and unsigned longs and while in this case that's not a functional problem it's messy and inconsistent.
I agree (as Andrew said earlier as well) that the struct resource flags member should probably just be a u32 but it's not. Changing that would be a bigger change than just a simple conistency thing.
You're going in the wrong direction for consistency. long is different on 32 and 64 bits, and really should be avoided unless that is intended.