If you are expecting to access the internals of the structure outside of input_lib.c
, then the structure definition needs to be in input_lib.h
. If you are expecting code outside of input_lib.c
to use access functions to get at the information, then you can leave the structure opaque (incomplete) but you need to call the functions to get the information.
Either way works; choose one and stick with it.