+static void rlogin_sent(Plug plug, int bufsize)
+{
+ Rlogin rlogin = (Rlogin) plug;
+ rlogin->bufsize = bufsize;
+}
+
+static void rlogin_startup(Rlogin rlogin, const char *ruser)
+{
+ char z = 0;
+ char *p;
+ sk_write(rlogin->s, &z, 1);
+ sk_write(rlogin->s, rlogin->cfg.localusername,
+ strlen(rlogin->cfg.localusername));
+ sk_write(rlogin->s, &z, 1);
+ sk_write(rlogin->s, ruser,
+ strlen(ruser));
+ sk_write(rlogin->s, &z, 1);
+ sk_write(rlogin->s, rlogin->cfg.termtype,
+ strlen(rlogin->cfg.termtype));
+ sk_write(rlogin->s, "/", 1);
+ for (p = rlogin->cfg.termspeed; isdigit((unsigned char)*p); p++) continue;
+ sk_write(rlogin->s, rlogin->cfg.termspeed, p - rlogin->cfg.termspeed);
+ rlogin->bufsize = sk_write(rlogin->s, &z, 1);
+
+ rlogin->prompt = NULL;
+}
+