]> andersk Git - openssh.git/commitdiff
- (dtucker) [configure.ac openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
authordtucker <dtucker>
Wed, 13 Aug 2003 10:48:07 +0000 (10:48 +0000)
committerdtucker <dtucker>
Wed, 13 Aug 2003 10:48:07 +0000 (10:48 +0000)
   Add a tcsendbreak function for platforms that don't have one, based on the
   one from OpenBSD.

Any more of these and I'll split them out into bsd-termio.[ch].

ChangeLog
configure.ac
openbsd-compat/bsd-misc.c
openbsd-compat/bsd-misc.h

index f79933fed0b1bcbde103722a326136aaa44a5d0b..f5f6172764dab620b01117caaab95e8f5e711558 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,9 @@
    - markus@cvs.openbsd.org 2003/08/13 09:07:10
      [readconf.c ssh.c]
      socks4->socks, since with support both 4 and 5; dtucker@zip.com.au
+ - (dtucker) [configure.ac openbsd-compat/bsd-misc.c openbsd-compat/bsd-misc.h]
+   Add a tcsendbreak function for platforms that don't have one, based on the
+   one from OpenBSD.
 
 20030811
  - (dtucker) OpenBSD CVS Sync
index dd659911b98f6ddfc0645ff0d1ed4ac877789243..b37b5f68a6875355af643daf3c9b8ec8ae6e625a 100644 (file)
@@ -695,8 +695,8 @@ AC_CHECK_FUNCS(\
        setdtablesize setegid setenv seteuid setgroups setlogin setpcred \
        setproctitle setregid setresgid setresuid setreuid setrlimit \
        setsid setvbuf sigaction sigvec snprintf socketpair strerror \
-       strlcat strlcpy strmode strnvis sysconf tcgetpgrp truncate utimes \
-       vhangup vsnprintf waitpid \
+       strlcat strlcpy strmode strnvis sysconf tcgetpgrp tcsendbreak \
+       truncate utimes vhangup vsnprintf waitpid \
 )
 
 AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP))
index af4a32bcedb89aefb445a70fb8f5cd97e43d52ee..db9c47713206fbb0ed976dc2c22e41ae041c72b8 100644 (file)
@@ -180,3 +180,23 @@ tcgetpgrp(int fd)
 }
 #endif /* HAVE_TCGETPGRP */
 
+#ifndef HAVE_TCSENDBREAK
+int
+tcsendbreak(int fd, int duration)
+{
+# if defined(TIOCSBRK) && defined(TIOCCBRK)
+       struct timeval sleepytime;
+
+       sleepytime.tv_sec = 0;
+       sleepytime.tv_usec = 400000;
+       if (ioctl(fd, TIOCSBRK, 0) == -1)
+               return (-1);
+       (void)select(0, 0, 0, 0, &sleepytime);
+       if (ioctl(fd, TIOCCBRK, 0) == -1)
+               return (-1);
+       return (0);
+# else
+       return -1;
+# endif
+}
+#endif /* HAVE_TCSENDBREAK */
index 2f94c615a531e00175ee40819c44ebcaf207df6a..d8a366ace8d39015f53c97d4a083d0d7eafd638c 100644 (file)
@@ -91,6 +91,10 @@ int nanosleep(const struct timespec *, struct timespec *);
 
 #ifndef HAVE_TCGETPGRP
 pid_t tcgetpgrp(int);
-#endif /* HAVE_TCGETPGRP */
+#endif
+
+#ifndef HAVE_TCSENDBREAK
+int tcsendbreak(int, int);
+#endif
 
 #endif /* _BSD_MISC_H */
This page took 0.186926 seconds and 5 git commands to generate.