I'm thinking the best way to translate C headers is to run it through a string processor instead of a compiler. There's some places where I want the compiler - especially figuring out the values of some constants - but usually, when translating C headers, I just copy/paste and find/replace.