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.5 by gbeauche, 2003-05-14T06:50:05Z vs.
Revision 1.6 by gbeauche, 2003-09-29T07:02:58Z

# Line 34 | Line 34 | enum sigsegv_transfer_type_t {
34          SIGSEGV_TRANSFER_STORE          = 2,
35   };
36  
37 + // SIGSEGV handler return state
38 + enum sigsegv_return_t {
39 +  SIGSEGV_RETURN_SUCCESS,
40 +  SIGSEGV_RETURN_FAILURE,
41 +  SIGSEGV_RETURN_SKIP_INSTRUCTION,
42 + };
43 +
44   // Type of a SIGSEGV handler. Returns boolean expressing successful operation
45 < typedef bool (*sigsegv_fault_handler_t)(sigsegv_address_t fault_address, sigsegv_address_t instruction_address);
45 > typedef sigsegv_return_t (*sigsegv_fault_handler_t)(sigsegv_address_t fault_address, sigsegv_address_t instruction_address);
46  
47   // Type of a SIGSEGV state dump function
48   typedef void (*sigsegv_state_dumper_t)(sigsegv_address_t fault_address, sigsegv_address_t instruction_address);
# Line 46 | Line 53 | extern bool sigsegv_install_handler(sigs
53   // Remove the user SIGSEGV handler, revert to default behavior
54   extern void sigsegv_uninstall_handler(void);
55  
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
56   // Set callback function when we cannot handle the fault
57   extern void sigsegv_set_dump_state(sigsegv_state_dumper_t handler);
58  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines