One approach to programming…

struct FIRST_STRUCT
{
  ... {lots of stuff} ...
  // Keep these fields together because we reference in to here to mimick XFER_T
  OTHER_STRUCTURE dispatch;
  int info;
  void* att;
  ... {lots more stuff} ...
}

...
// Cast to (&OTHER_STRUCTURE) when passing around struct XFER_T { OTHER_STRUCTURE dispatch; int size; SOME_DATA_TYPE info; }

BAD MONKEY

My head hurts =( [Added italics to indicate things I changed, and incase you’re wondering, yes, SOME_DATA_TYPE is actually typedef’d as a pointer]