Small thing: prefer deriving sizes used in this way by ARRAYSIZE(header) or similar.