If we add a new stats module to C source files including only stats.h we get these errors: include/haproxy/stats.h:39:31: error: array type has incomplete element type ‘struct name_desc’ 39 | extern const struct name_desc stat_fields[]; include/haproxy/stats.h:55:50: warning: ‘struct listener’ declared inside parameter list will not be visible outside of this definition or declaration 55 | int stats_fill_li_stats(struct proxy *px, struct listener *l, int flags, name_desc struct is defined in tools-t.h and listener struct in listner-t.h.