Use `typedef struct SimEFRec_ SimEFRec, *SimEF;` as forward declaration. Then you don't have to move all typedefs ahead.