you have the same name for the typedef and the struct, thats name must be different.
example


typedef struct strdata {...} data;