typedef struct FILE { int implementation_details; } FILE; /* see what a typedef return generates */ FILE *typedef3(char *filename,char *mode, FILE *ptr, FILE param) { ptr->implementation_details = 1; return 0; }