delorie.com/djgpp/doc/libc/libc_142.html | search |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
#include <sys/exceptn.h> int __djgpp_set_ctrl_c(int enable); |
This function sets and resets the bit which controls whether signals
SIGINT
and SIGQUIT
(see section signal) will be raised when
you press the INTR or QUIT keys. By default these generate signals
which, if uncaught by a signal handler, will abort your program.
However, when you call the setmode
library function to switch the
console reads to binary mode, or open the console in binary mode for
reading, this generation of signals is turned off, because some
programs want to get the `^C' and `^\' characters as any other
character and handle them by themselves.
__djgpp_set_ctrl_c
lets you explicitly determine the effect of
INTR and QUIT keys. When called with a non-zero, positive value of
enable, it arranges for SIGINT
and SIGQUIT
signals
to be generated when the appropriate key is pressed; if you call it with
a zero in enable, these keys are treated as normal characters. If
enable is negative, __djgpp_set_ctrl_c
returns the current
state of the signal generation, but doesn't change it.
For getting similar effects via the POSIX termios
functions, see
tcsetattr.
Note that the effect of Ctrl-BREAK key is unaffected by this
function; use the _go32_want_ctrl_break
library function to
control it.
Also note that in DJGPP, the effect of the interrupt signal will only be
seen when the program is in protected mode (See section Signal Mechanism,
for more details). Thus, if you press Ctrl-C while your
program calls DOS (e.g., when reading from the console), the
SIGINT
signal handler will only be called after that call
returns.
The state of SIGINT
and SIGQUIT
generation before the
call: 0 if it was disabled, 1 if it was enabled. If the argument
enable is negative, the state is not altered.
ANSI/ISO C | No |
POSIX | No |
setmode(fileno(stdin), O_BINARY); if (isatty(fileno(stdin))); __djgpp_set_ctrl_c(1); |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
webmaster | delorie software privacy |
Copyright © 2004 | Updated Apr 2004 |