blob: 908877a319d783c656b4d6ebd5c87ede1a376fc9 [file] [log] [blame]
sewardjaf44c822007-11-25 14:01:38 +00001#ifndef __PUB_CORE_DRD_H
2#define __PUB_CORE_DRD_H
3
4
bart1335ecc2009-02-14 16:10:53 +00005#include "drd_basics.h"
sewardjaf44c822007-11-25 14:01:38 +00006#include "pub_tool_basics.h"
7
bart005dc972008-03-29 14:42:59 +00008
bart1335ecc2009-02-14 16:10:53 +00009extern Bool DRD_(g_any_address_traced);
bart005dc972008-03-29 14:42:59 +000010
11
bart1335ecc2009-02-14 16:10:53 +000012void DRD_(suppression_set_trace)(const Bool trace_suppression);
13void DRD_(suppression_init)(void);
14void DRD_(start_suppression)(const Addr a1, const Addr a2,
florian19f91bb2012-11-10 22:29:54 +000015 const HChar* const reason);
bart1335ecc2009-02-14 16:10:53 +000016void DRD_(finish_suppression)(const Addr a1, const Addr a2);
17Bool DRD_(is_suppressed)(const Addr a1, const Addr a2);
18Bool DRD_(is_any_suppressed)(const Addr a1, const Addr a2);
bartb00ac4c2010-03-07 20:05:23 +000019void DRD_(mark_hbvar)(const Addr a1);
20Bool DRD_(range_contains_suppression_or_hbvar)(const Addr a1, const Addr a2);
bart41a378a2012-01-24 18:39:29 +000021void DRD_(start_tracing_address_range)(const Addr a1, const Addr a2,
22 const Bool persistent);
bart1335ecc2009-02-14 16:10:53 +000023void DRD_(stop_tracing_address_range)(const Addr a1, const Addr a2);
24Bool DRD_(is_any_traced)(const Addr a1, const Addr a2);
25void DRD_(suppression_stop_using_mem)(const Addr a1, const Addr a2);
sewardjaf44c822007-11-25 14:01:38 +000026
27
bart1335ecc2009-02-14 16:10:53 +000028static __inline__ Bool DRD_(any_address_is_traced)(void)
bart005dc972008-03-29 14:42:59 +000029{
bartbedfd232009-03-26 19:07:15 +000030 return DRD_(g_any_address_traced);
bart005dc972008-03-29 14:42:59 +000031}
32
33
sewardjaf44c822007-11-25 14:01:38 +000034#endif // __PUB_CORE_DRD_H