Function interfaces should only be placed within header modules, except for templates. Headers with prototype functions should have an associated source module that contains the definitions of the function prototypes. A simple header module would look like this: