48 lines
1.1 KiB
C
48 lines
1.1 KiB
C
/* Copyright (c) 1984 AT&T */
|
|
/* All Rights Reserved */
|
|
|
|
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
|
|
/* The copyright notice above does not evidence any */
|
|
/* actual or intended publication of such source code. */
|
|
|
|
#ifndef lint
|
|
static char sccsid[] = "@(#)halfdelay.c 1.1 94/10/31 SMI"; /* from S5R3 1.2.1.1 */
|
|
#endif
|
|
|
|
/*
|
|
* Routines to deal with setting and resetting modes in the tty driver.
|
|
* See also setupterm.c in the termlib part.
|
|
*/
|
|
#include "curses.ext"
|
|
|
|
halfdelay(tenths)
|
|
int tenths;
|
|
{
|
|
if (tenths > 255)
|
|
tenths = 255;
|
|
else if (tenths <= 0)
|
|
tenths = 1;
|
|
_noraw();
|
|
#ifdef SYSV
|
|
PROGTTY.c_iflag &= ~ICRNL;
|
|
PROGTTY.c_lflag &= ~ICANON;
|
|
PROGTTY.c_cc[VMIN] = 0;
|
|
PROGTTY.c_cc[VTIME] = tenths;
|
|
# ifdef DEBUG
|
|
if(outf) fprintf(outf, "halfdelay(%d), file %x, SP %x, flags %x\n", tenths, SP->term_file, SP, PROGTTY.c_lflag);
|
|
# endif
|
|
#else
|
|
# ifdef FIONREAD
|
|
cur_term->timeout = tenths;
|
|
# else
|
|
/* not possible to get right. use cbreak() until we can. */
|
|
_cbreak();
|
|
# endif /* !FIONREAD */
|
|
# ifdef DEBUG
|
|
if(outf) fprintf(outf, "halfdelay(%d)\n", tenths);
|
|
# endif
|
|
#endif
|
|
SP->fl_rawmode = TRUE;
|
|
reset_prog_mode();
|
|
}
|