Header Files should be "headers", meaning they should not contain functionality. An exception may be made for #define macros.

Usually you place there extern declarations (not used in Lite-c) for making interfaces to other c-Files known, prototypes, enums, value defines and similar.

It also depends on what you want to do with your header file. Some people even have "external" headers which may be included by foreign c Files and "internal" headers which are included by the belonging c file only.

Content you would normally put into functions however should not be found in a header, variables normally neither (despite their extern declaration) - but since Lite-C does not support externals many users declare their variables in the header as compromise.