"I've talked with our lawyer about one specific issue that you raised: that of using simple material from header files.
Someone recently made the claim that including a header file always makes a derivative work.
That's not the FSF's view. Our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work. It would take a substantial amount of code (coming from inline functions or macros with substantial bodies) to do that.
This should help end the recent FUD about the Android "clean headers"."
Link to Original Source