blob: 40e0f4c546deffd6b0dedafcccfd2dea70220896 [file] [log] [blame]
bartbedfd232009-03-26 19:07:15 +00001/* -*- mode: C; c-basic-offset: 3; -*- */
sewardjaf44c822007-11-25 14:01:38 +00002#ifndef __PUB_CORE_DRD_H
3#define __PUB_CORE_DRD_H
4
5
bart1335ecc2009-02-14 16:10:53 +00006#include "drd_basics.h"
sewardjaf44c822007-11-25 14:01:38 +00007#include "pub_tool_basics.h"
8
bart005dc972008-03-29 14:42:59 +00009
bart1335ecc2009-02-14 16:10:53 +000010extern Bool DRD_(g_any_address_traced);
bart005dc972008-03-29 14:42:59 +000011
12
bart1335ecc2009-02-14 16:10:53 +000013void DRD_(suppression_set_trace)(const Bool trace_suppression);
14void DRD_(suppression_init)(void);
15void DRD_(start_suppression)(const Addr a1, const Addr a2,
bartbedfd232009-03-26 19:07:15 +000016 const char* const reason);
bart1335ecc2009-02-14 16:10:53 +000017void DRD_(finish_suppression)(const Addr a1, const Addr a2);
18Bool DRD_(is_suppressed)(const Addr a1, const Addr a2);
19Bool DRD_(is_any_suppressed)(const Addr a1, const Addr a2);
bartb00ac4c2010-03-07 20:05:23 +000020void DRD_(mark_hbvar)(const Addr a1);
21Bool DRD_(range_contains_suppression_or_hbvar)(const Addr a1, const Addr a2);
bart1335ecc2009-02-14 16:10:53 +000022void DRD_(start_tracing_address_range)(const Addr a1, const Addr a2);
23void 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