OSTR
{ "CWD", CWD, OSTR, 1, "[ <sp> directory-name ]", 0, },
{ "LIST", LIST, OSTR, 1, "[ <sp> path-name ]", 0, },
{ "NLST", NLST, OSTR, 1, "[ <sp> path-name ]", 0, },
{ "STAT", STAT, OSTR, 4, "[ <sp> path-name ]", 0, },
{ "HELP", HELP, OSTR, 1, "[ <sp> <string> ]", 0, },
{ "MDTM", MDTM, OSTR, 1, "<sp> path-name", 0, },
{ "SIZE", SIZE, OSTR, 1, "<sp> path-name", 0, },
{ "MLST", MLST, OSTR, 2, "[ <sp> path-name ]", 0, },
{ "MLSD", MLSD, OSTR, 1, "[ <sp> directory-name ]", 0, },
{ "MAIL", MAIL, OSTR, 0, "(mail to user)", 0, },
{ "MLFL", MLFL, OSTR, 0, "(mail file)", 0, },
{ "MRSQ", MRSQ, OSTR, 0, "(mail recipient scheme question)", 0, },
{ "MSAM", MSAM, OSTR, 0, "(mail send to terminal and mailbox)", 0, },
{ "MSND", MSND, OSTR, 0, "(mail send to terminal)", 0, },
{ "MSOM", MSOM, OSTR, 0, "(mail send to terminal or mailbox)", 0, },
{ "XCWD", CWD, OSTR, 1, "[ <sp> directory-name ]", 0, },
{ "HELP", HELP, OSTR, 1, "[ <sp> <string> ]", 0, },
{ "RATEGET", RATEGET,OSTR, 1, "[ <sp> get-throttle-rate ]", 0, },
{ "RATEPUT", RATEPUT,OSTR, 1, "[ <sp> put-throttle-rate ]", 0, },
case OSTR:
state = state == OSTR ? STR2 : state+1;