ANSI C templates