VAX C accepts this (which seems wrong to me): typedef struct { struct NODE_T * flink_p; struct NODE_T * blink_p; char data[512]; } NODE_T; It would be nice if C typedefs knew about themselves. That is, if this worked: typedef { NODE_T * flink_p; NODE_T * blink_p; char data[512]; } NODE_T; <_Jym_>