Third, I like your rcc.h, using the union for structs. In my opinion this makes things a lot cleaner. This is also has been a bit of a contention for the project between several of us. :-) Two things on this.
1) rename val to raw, it keeps it consistent with other locations where this has been in use.
I think he got that from scs.h, which uses 'val' and 'bit'. Maybe we should rename 'val' to 'raw' there as well.
Yes, I tried to be consistent with scs.h. I agree with Daniel, 'raw' is more meaningful.