Generic data structure templates for C language