![]() |
GNU PROLOG with UTF8 support
|
#include <stdio.h>#include <stdlib.h>#include <signal.h>#include <errno.h>#include <fcntl.h>#include <ctype.h>#include <string.h>#include <time.h>#include <sys/types.h>#include <sys/stat.h>#include "gp_config.h"#include "engine_pl.h"
Macros | |
| #define | M_MAGIC1 0x12345678 |
| #define | M_MAGIC2 0xdeadbeef |
| #define | MAX_SIGSEGV_HANDLER 10 |
| #define | ERR_STACKS_ALLOCATION "Memory allocation fault" |
| #define | ERR_CANNOT_OPEN_DEV0 "Cannot open /dev/zero : %s" |
| #define | ERR_CANNOT_UNMAP "unmap failed : %s" |
| #define | ERR_CANNOT_FREE "VirtualFree failed : %" PL_FMT_u |
| #define | ERR_CANNOT_PROTECT "VirtualProtect failed : %" PL_FMT_u |
| #define | ERR_STACK_OVERFLOW_ENV "%s stack overflow (size: %d Kb, reached: %d Kb, environment variable used: %s)" |
| #define | ERR_STACK_OVERFLOW_NO_ENV "%s stack overflow (size: %d Kb, reached: %d Kb - fixed size)" |
| #define | Round_Up(x, y) (((x) + (y) - 1) / (y) * (y)) |
| #define | Round_Down(x, y) ((x) / (y) * (y)) |
Functions | |
| static void | Install_SIGSEGV_Handler (void) |
| static void | SIGSEGV_Handler () |
| static void | Handle_Bad_Address (void *bad_addr) |
| static int | Default_SIGSEGV_Handler (void *bad_addr) |
| static char * | Stack_Overflow_Err_Msg (int stk_nb) |
| static void * | Virtual_Mem_Alloc (void *addr, int length) |
| static void | Virtual_Mem_Protect (void *addr, int length) |
| void | Pl_Allocate_Stacks (void) |
| static LONG WINAPI | Win32_Exception_Handler (LPEXCEPTION_POINTERS ei) |
| void | Pl_Push_SIGSEGV_Handler (SegvHdlr handler) |
| void | Pl_Pop_SIGSEGV_Handler (void) |
Variables | |
| static int | page_size |
| static SegvHdlr | tbl_handler [MAX_SIGSEGV_HANDLER] |
| static int | nb_handler = 0 |
| #define ERR_CANNOT_FREE "VirtualFree failed : %" PL_FMT_u |
| #define ERR_CANNOT_OPEN_DEV0 "Cannot open /dev/zero : %s" |
| #define ERR_CANNOT_PROTECT "VirtualProtect failed : %" PL_FMT_u |
| #define ERR_CANNOT_UNMAP "unmap failed : %s" |
| #define ERR_STACK_OVERFLOW_ENV "%s stack overflow (size: %d Kb, reached: %d Kb, environment variable used: %s)" |
| #define ERR_STACKS_ALLOCATION "Memory allocation fault" |
| #define M_MAGIC1 0x12345678 |
| #define M_MAGIC2 0xdeadbeef |
| #define MAX_SIGSEGV_HANDLER 10 |
|
static |


|
static |


|
static |


| void Pl_Allocate_Stacks | ( | void | ) |

| void Pl_Pop_SIGSEGV_Handler | ( | void | ) |

| void Pl_Push_SIGSEGV_Handler | ( | SegvHdlr | handler | ) |


|
static |

|
static |

|
static |


|
static |


|
static |


|
static |
|
static |
|
static |
1.8.11