GNU PROLOG with UTF8 support
stacks_sigsegv.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------*
2  * GNU Prolog *
3  * *
4  * Part : Prolog engine *
5  * File : stacks_sigsegv.c *
6  * Descr.: stack hardware overflow detection (SIGSEGV) - header file *
7  * Author: Daniel Diaz *
8  * *
9  * Copyright (C) 1999-2015 Daniel Diaz *
10  * *
11  * This file is part of GNU Prolog *
12  * *
13  * GNU Prolog is free software: you can redistribute it and/or *
14  * modify it under the terms of either: *
15  * *
16  * - the GNU Lesser General Public License as published by the Free *
17  * Software Foundation; either version 3 of the License, or (at your *
18  * option) any later version. *
19  * *
20  * or *
21  * *
22  * - the GNU General Public License as published by the Free *
23  * Software Foundation; either version 2 of the License, or (at your *
24  * option) any later version. *
25  * *
26  * or both in parallel, as here. *
27  * *
28  * GNU Prolog is distributed in the hope that it will be useful, *
29  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
30  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
31  * General Public License for more details. *
32  * *
33  * You should have received copies of the GNU General Public License and *
34  * the GNU Lesser General Public License along with this program. If *
35  * not, see http://www.gnu.org/licenses/. *
36  *-------------------------------------------------------------------------*/
37 
38 
39 #ifndef _STACKS_SIGSEGV
40 #define _STACKS_SIGSEGV
41 
42 /*---------------------------------*
43  * Constants *
44  *---------------------------------*/
45 
46 /*---------------------------------*
47  * Type Definitions *
48  *---------------------------------*/
49 
50 typedef int (*SegvHdlr)(void *bad_addr);
51 
52 /*---------------------------------*
53  * Global Variables *
54  *---------------------------------*/
55 
56 /*---------------------------------*
57  * Function Prototypes *
58  *---------------------------------*/
59 
60 void Pl_Allocate_Stacks(void);
61 
62 void Pl_Push_SIGSEGV_Handler(SegvHdlr handler);
63 
64 void Pl_Pop_SIGSEGV_Handler(void);
65 
66 
67 
68 #endif /* !_STACKS_SIGSEGV */
int(* SegvHdlr)(void *bad_addr)
Definition: stacks_sigsegv.h:50
void Pl_Allocate_Stacks(void)
Definition: stacks_sigsegv.c:289
void Pl_Pop_SIGSEGV_Handler(void)
Definition: stacks_sigsegv.c:604
void Pl_Push_SIGSEGV_Handler(SegvHdlr handler)
Definition: stacks_sigsegv.c:588