This should not be a typedef.  Just use a named struct.