+ prf(fmt, &x1, TOTTY, u.u_ttyp);
+}
+
+/*VARARGS2*/
+tprintf(ttyp, fmt, x1)
+ struct tty *ttyp;
+ char *fmt;
+ unsigned x1;
+{
+
+ prf(fmt, &x1, TOTTY, ttyp);
+}
+
+/*
+ * Log writes to the log buffer,
+ * guarantees not to sleep (so can be called by interrupt routines)
+ * and does no watermark checking - (so no verbose messages).
+ */
+/*VARARGS2*/
+log(level, fmt, x1)
+ char *fmt;
+ unsigned x1;
+{
+ register s = splhigh();
+
+ putchar('<', TOLOG, (struct tty *)0);
+ printn(level, 10, TOLOG, (struct tty *)0);
+ putchar('>', TOLOG, (struct tty *)0);
+ prf(fmt, &x1, TOLOG, (struct tty *)0);
+ splx(s);
+ logwakeup();