summaryrefslogtreecommitdiff
path: root/openbsd-compat/bsd-misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsd-compat/bsd-misc.c')
-rw-r--r--openbsd-compat/bsd-misc.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/openbsd-compat/bsd-misc.c b/openbsd-compat/bsd-misc.c
index da8f77046..d4c793724 100644
--- a/openbsd-compat/bsd-misc.c
+++ b/openbsd-compat/bsd-misc.c
@@ -25,7 +25,7 @@
25#include "includes.h" 25#include "includes.h"
26#include "xmalloc.h" 26#include "xmalloc.h"
27 27
28RCSID("$Id: bsd-misc.c,v 1.16 2003/08/02 14:36:16 dtucker Exp $"); 28RCSID("$Id: bsd-misc.c,v 1.17 2003/08/13 10:48:07 dtucker Exp $");
29 29
30/* 30/*
31 * NB. duplicate __progname in case it is an alias for argv[0] 31 * NB. duplicate __progname in case it is an alias for argv[0]
@@ -180,3 +180,23 @@ tcgetpgrp(int fd)
180} 180}
181#endif /* HAVE_TCGETPGRP */ 181#endif /* HAVE_TCGETPGRP */
182 182
183#ifndef HAVE_TCSENDBREAK
184int
185tcsendbreak(int fd, int duration)
186{
187# if defined(TIOCSBRK) && defined(TIOCCBRK)
188 struct timeval sleepytime;
189
190 sleepytime.tv_sec = 0;
191 sleepytime.tv_usec = 400000;
192 if (ioctl(fd, TIOCSBRK, 0) == -1)
193 return (-1);
194 (void)select(0, 0, 0, 0, &sleepytime);
195 if (ioctl(fd, TIOCCBRK, 0) == -1)
196 return (-1);
197 return (0);
198# else
199 return -1;
200# endif
201}
202#endif /* HAVE_TCSENDBREAK */