(*dispatch[type])(type, plen);
(*dispatch[type])(type, plen, ctxt);
dispatch_run(int mode, int *done){	for (;;) {		int plen;		int type;		if (mode == DISPATCH_BLOCK) {			type = packet_read(&plen);		} else {			type = packet_read_poll(&plen);			if (type == SSH_MSG_NONE)				return;		}		if (type > 0 && type < DISPATCH_MAX && dispatch[type] != NULL)			(*dispatch[type])(type, plen);		else			packet_disconnect("protocol error: rcvd type %d", type);			if (done != NULL && *done)			return;	}}