00001 /* File: sig_xsb.h 00002 ** Author(s): Jiyang Xu 00003 ** Contact: xsb-contact@cs.sunysb.edu 00004 ** 00005 ** Copyright (C) The Research Foundation of SUNY, 1986, 1993-1998 00006 ** 00007 ** XSB is free software; you can redistribute it and/or modify it under the 00008 ** terms of the GNU Library General Public License as published by the Free 00009 ** Software Foundation; either version 2 of the License, or (at your option) 00010 ** any later version. 00011 ** 00012 ** XSB is distributed in the hope that it will be useful, but WITHOUT ANY 00013 ** WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00014 ** FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for 00015 ** more details. 00016 ** 00017 ** You should have received a copy of the GNU Library General Public License 00018 ** along with XSB; if not, write to the Free Software Foundation, 00019 ** Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00020 ** 00021 ** $Id: sig_xsb.h,v 1.5 2006/02/06 20:20:04 tswift Exp $ 00022 ** 00023 */ 00024 00025 00026 /* signals 1 and 8-15 are asynchronous. They are flaged by the variable */ 00027 /* asynint_val, which can be 8-15 and maybe OR'ed with KEYINT_MARK. */ 00028 /* At some interval (currently at the entry of "call", etc), a check is */ 00029 /* made to see if there is an asynchronous interrupt occurred. If yes, */ 00030 /* the procedure "interrupt_proc" is invoked. The rest of signals (0 and */ 00031 /* 2-4) are synchronous. The procedure "interrupt_proc" is invoked */ 00032 /* directly. */ 00033 00034 #define MYSIG_UNDEF 0 /* undefined predicate */ 00035 #define MYSIG_KEYB 1 /* keyboard interrupt (^C) */ 00036 #define MYSIG_SPY 3 /* spy point */ 00037 #define MYSIG_TRACE 4 /* trace point */ 00038 #define MYSIG_ATTV 8 /* attributed var interrupt */ 00039 #define MYSIG_PSC 14 /* new PSC creation interrupt */ 00040 #define THREADSIG_CANCEL 0xf 00041 #define MYSIG_CLAUSE 16 /* clause interrupt */ 00042 00043 #define KEYINT_MARK 0x80 /* keyboard interrupt ^C */ 00044 #define ATTVINT_MARK 0x40 /* attributed var interrupt */ 00045 00046 #define MSGINT_MARK 0x20 /* software message interrupt */ 00047 #define PROFINT_MARK 0x10 /* XSB Profiling interrupt */ 00048 00049 #define THREADINT_MARK 0x1000 00050