2
** Author(s): Jiyang Xu
3
** Contact: xsb-contact@cs.sunysb.edu
5
** Copyright (C) The Research Foundation of SUNY, 1986, 1993-1998
7
** XSB is free software; you can redistribute it and/or modify it under the
8
** terms of the GNU Library General Public License as published by the Free
9
** Software Foundation; either version 2 of the License, or (at your option)
12
** XSB is distributed in the hope that it will be useful, but WITHOUT ANY
13
** WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14
** FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for
17
** You should have received a copy of the GNU Library General Public License
18
** along with XSB; if not, write to the Free Software Foundation,
19
** Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21
** $Id: sig_xsb.h,v 1.5 2006/02/06 20:20:04 tswift Exp $
26
/* signals 1 and 8-15 are asynchronous. They are flaged by the variable */
27
/* asynint_val, which can be 8-15 and maybe OR'ed with KEYINT_MARK. */
28
/* At some interval (currently at the entry of "call", etc), a check is */
29
/* made to see if there is an asynchronous interrupt occurred. If yes, */
30
/* the procedure "interrupt_proc" is invoked. The rest of signals (0 and */
31
/* 2-4) are synchronous. The procedure "interrupt_proc" is invoked */
34
#define MYSIG_UNDEF 0 /* undefined predicate */
35
#define MYSIG_KEYB 1 /* keyboard interrupt (^C) */
36
#define MYSIG_SPY 3 /* spy point */
37
#define MYSIG_TRACE 4 /* trace point */
38
#define MYSIG_ATTV 8 /* attributed var interrupt */
39
#define MYSIG_PSC 14 /* new PSC creation interrupt */
40
#define THREADSIG_CANCEL 0xf
41
#define MYSIG_CLAUSE 16 /* clause interrupt */
43
#define KEYINT_MARK 0x80 /* keyboard interrupt ^C */
44
#define ATTVINT_MARK 0x40 /* attributed var interrupt */
46
#define MSGINT_MARK 0x20 /* software message interrupt */
47
#define PROFINT_MARK 0x10 /* XSB Profiling interrupt */
49
#define THREADINT_MARK 0x1000