/* Copyright (C) Magna Carta Software, Inc. 1990, 1991. All Rights Reserved. C COMMUNICATIONS TOOLKIT v1.0 CCTUTIL.C -- Utility Functions for CCT. */ #define CCT_DEVELOPMENT #include #include #if defined(MSC) #include #endif #include #include #if !defined(TYPES_DEFINED) typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; #define TYPES_DEFINED #endif #define LOW_TIME 0X46C #if 0 void (INTERRUPT_ *old_isr_1B)() = (void (INTERRUPT_ *)()) NULL; /* saved CTRL-BREAK vector */ void (INTERRUPT_ *old_isr_23)() = (void (INTERRUPT_ *)()) NULL; /* saved CTRL-C vector */ #endif void (FAR_ *old_isr_1B)() = (void (FAR_ *)()) NULL; /* saved CTRL-BREAK vector */ void (FAR_ *old_isr_23)() = (void (FAR_ *)()) NULL; /* saved CTRL-C vector */ #if (!defined(DOSX286) && !defined(DOSX386) && !defined(CCTW)) /* INSTALL_CTRL_BRK_ -- Install CTRL-BREAK and CTRL-C handlers. Return code: n (0-2) -- number of handlers installed; */ short install_ctrl_brk_(void (FAR_ *fn)()) { short ret = 0; /* INSTALL CTRL-BREAK AND CTRL-C HANDLERS */ if (old_isr_1B == NULL) { old_isr_1B = (void (FAR_ *)()) get_vector(0X1B); set_vector(0X1B, fn); ret++; } if (old_isr_23 == NULL) { old_isr_23 = (void (FAR_ *)()) get_vector(0X23); set_vector(0X23, fn); ret++; } return (ret); } /* DEINSTALL_CTRL_BRK_ -- Deinstall CTRL-BREAK and CTRL-C handlers. Return code: n (0-2) -- number of handlers installed; */ short deinstall_ctrl_brk_(void (FAR_ *fn)()) { short ret = 0; if ((void (FAR_ *)()) get_vector(0X1B) == fn) set_vector(0X1B, old_isr_1B); if ((void (FAR_ *)()) get_vector(0X23) == fn) set_vector(0X23, old_isr_23); return (ret); } #if !defined(_INTELC32_) /* CCT_CTRL_BRK_ -- Interrupt handler for CTRL-BRK and CONTROL-C. Just iret. */ void INTERRUPT_ cct_ctrl_brk_(void) { ; } #endif #endif