ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/sigsegv.h
(Generate patch)

Comparing BasiliskII/src/Unix/sigsegv.h (file contents):
Revision 1.4 by gbeauche, 2002-05-16T15:48:06Z vs.
Revision 1.5 by gbeauche, 2003-05-14T06:50:05Z

# Line 27 | Line 27
27   // Address type
28   typedef char * sigsegv_address_t;
29  
30 + // Transfer type (intended to be used a mask for sigsegv_*_ignore_range())
31 + enum sigsegv_transfer_type_t {
32 +        SIGSEGV_TRANSFER_UNKNOWN        = 0,
33 +        SIGSEGV_TRANSFER_LOAD           = 1,
34 +        SIGSEGV_TRANSFER_STORE          = 2,
35 + };
36 +
37   // Type of a SIGSEGV handler. Returns boolean expressing successful operation
38   typedef bool (*sigsegv_fault_handler_t)(sigsegv_address_t fault_address, sigsegv_address_t instruction_address);
39  
# Line 39 | Line 46 | extern bool sigsegv_install_handler(sigs
46   // Remove the user SIGSEGV handler, revert to default behavior
47   extern void sigsegv_uninstall_handler(void);
48  
49 < // Set SIGSEGV ignore state
50 < extern void sigsegv_set_ignore_state(bool ignore_fault);
49 > // Add SIGSEGV ignore range
50 > extern void sigsegv_add_ignore_range(sigsegv_address_t address, unsigned long length, int transfer_type);
51 >
52 > // Remove SIGSEGV ignore range. Range must match installed one, otherwise FALSE is returned.
53 > extern bool sigsegv_remove_ignore_range(sigsegv_address_t address, unsigned long length, int transfer_type);
54  
55   // Set callback function when we cannot handle the fault
56   extern void sigsegv_set_dump_state(sigsegv_state_dumper_t handler);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines