+ ptr += sprintf (ptr, " %db", status.baud);
+
+ ptr = do_line (ptr, status.lines, TIOCM_RTS);
+ ptr = do_line (ptr, status.lines, TIOCM_CTS);
+ ptr = do_line (ptr, status.lines, TIOCM_DTR);
+ ptr = do_line (ptr, status.lines, TIOCM_DSR);
+ ptr = do_line (ptr, status.lines, TIOCM_RI);
+
+ if (status.crtscts) {
+ t=", Flow";
+ while (*t)
+ *(ptr++) = *(t++);
+ }
+
+ if (status.lines & TIOCM_CD)
+ {
+ ptr +=
+ sprintf (ptr, ", On %d.%d", status.cd_edge_sec / 60,
+ status.cd_edge_sec % 60);
+ }
+ else
+ {
+ ptr +=
+ sprintf (ptr, ", Off %d.%d", status.cd_edge_sec / 60,
+ status.cd_edge_sec % 60);
+ }
+
+ ptr += sprintf (ptr, ", %d client%s", status.nclients,(status.nclients==1) ? "":"s");
+
+ *ptr = 0;
+
+ send_status (cs, buf);