struct Param { int type; // how the token was processed char *s; // the string value of the token char *sp; // the remaining part of the command starting with the current token union // for easy values { unsigned long ul; long l; float f; }; };