aboutsummaryrefslogtreecommitdiff
path: root/sys/tty/ttydelay.x
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /sys/tty/ttydelay.x
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'sys/tty/ttydelay.x')
-rw-r--r--sys/tty/ttydelay.x31
1 files changed, 31 insertions, 0 deletions
diff --git a/sys/tty/ttydelay.x b/sys/tty/ttydelay.x
new file mode 100644
index 00000000..7fc6b3d4
--- /dev/null
+++ b/sys/tty/ttydelay.x
@@ -0,0 +1,31 @@
+# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.
+
+include "tty.h"
+
+# TTYDELAY -- Output a sequence of pad characters to create a delay, giving
+# the terminal time to complete some operation before being passed the next
+# request.
+
+procedure ttydelay (fd, tty, delay)
+
+int fd # output file
+pointer tty # tty descriptor
+int delay # desired milliseconds of delay
+
+int padchar, npadchars
+real msec_per_char
+int and()
+
+begin
+ # Add padding if needed to generate delay. (8 = nbits per char,
+ # baud is in units of bits per second).
+
+ if (delay > 0 && T_BAUD(tty) > 0) {
+ padchar = and (T_PADCHAR(tty), 177B)
+ msec_per_char = real(8 * 1000) / real(T_BAUD(tty))
+ npadchars = int (delay / msec_per_char + 0.5)
+
+ for (; npadchars > 0; npadchars = npadchars - 1)
+ call putci (fd, padchar)
+ }
+end