~burner/xsb/debianized-xsb

« back to all changes in this revision

Viewing changes to emu/sig_xsb.h

  • Committer: Michael R. Head
  • Date: 2006-09-06 22:11:55 UTC
  • Revision ID: burner@n23-20060906221155-7e398d23438a7ee4
Add the files from the 3.0.1 release package

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* File:      sig_xsb.h
 
2
** Author(s): Jiyang Xu
 
3
** Contact:   xsb-contact@cs.sunysb.edu
 
4
** 
 
5
** Copyright (C) The Research Foundation of SUNY, 1986, 1993-1998
 
6
** 
 
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)
 
10
** any later version.
 
11
** 
 
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
 
15
** more details.
 
16
** 
 
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.
 
20
**
 
21
** $Id: sig_xsb.h,v 1.5 2006/02/06 20:20:04 tswift Exp $
 
22
** 
 
23
*/
 
24
 
 
25
 
 
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       */
 
32
/* directly.                                                             */
 
33
 
 
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 */
 
42
 
 
43
#define KEYINT_MARK 0x80                /* keyboard interrupt ^C */
 
44
#define ATTVINT_MARK 0x40               /* attributed var interrupt */
 
45
 
 
46
#define MSGINT_MARK 0x20                /* software message interrupt */
 
47
#define PROFINT_MARK 0x10               /* XSB Profiling interrupt */
 
48
 
 
49
#define THREADINT_MARK 0x1000
 
50