Shadow Stack  0.2
 All Classes Namespaces Files Functions Variables Typedefs Macros
dr_shadow_stack_client.hpp
Go to the documentation of this file.
1 
2 #ifndef __DR_SHADOW_STACK_CLIENT_HPP__
3 #define __DR_SHADOW_STACK_CLIENT_HPP__
4 
5 
6 #include "dr_api.h"
7 
8 
11 class SSHandlers final {
12  private:
14  typedef void ( *const on_call_signature )( const app_pc ret_to_addr );
15 
17  typedef void ( *const on_ret_signature )( const app_pc instr_addr,
18  const app_pc target_addr );
19 
21  typedef void ( *const on_signal_signature )();
22 
23  public:
25  SSHandlers() = delete;
26 
29  const on_signal_signature s );
30 
33 
36 
39 
41  bool is_valid() const;
42 };
43 
44 
45 #endif
const on_ret_signature on_ret
The 'on ret' handler.
Definition: dr_shadow_stack_client.hpp:35
const on_signal_signature on_signal
The function called whenever a signal is caught.
Definition: dr_shadow_stack_client.hpp:38
void(*const on_call_signature)(const app_pc ret_to_addr)
The type 'on call' funciton signature.
Definition: dr_shadow_stack_client.hpp:14
const on_call_signature on_call
The 'on call' handler.
Definition: dr_shadow_stack_client.hpp:32
bool is_valid() const
Returns true if all function pointers are non-null.
Definition: dr_shadow_stack_client.cpp:29
void(*const on_signal_signature)()
The type 'on signal' funciton signature.
Definition: dr_shadow_stack_client.hpp:21
SSHandlers()=delete
Delete default constructor.
void(*const on_ret_signature)(const app_pc instr_addr, const app_pc target_addr)
The type 'on ret' funciton signature.
Definition: dr_shadow_stack_client.hpp:17
A class used to contain mode specific function definitions Specifically, the event handlers this clie...
Definition: dr_shadow_stack_client.hpp:11