blob: 593fe08d9db9fc58a03d631f37db00461a6ca9c2 [file] [log] [blame]
sewardjaf44c822007-11-25 14:01:38 +00001#ifndef __PUB_CORE_DRD_H
2#define __PUB_CORE_DRD_H
3
4
5#include "pub_tool_basics.h"
6
bart005dc972008-03-29 14:42:59 +00007
8extern Bool g_any_address_traced;
9
10
sewardjaf44c822007-11-25 14:01:38 +000011void suppression_set_trace(const Bool trace_suppression);
12void drd_suppression_init(void);
13void drd_start_suppression(const Addr a1, const Addr a2,
14 const char* const reason);
15void drd_finish_suppression(const Addr a1, const Addr a2);
16Bool drd_is_suppressed(const Addr a1, const Addr a2);
17Bool drd_is_any_suppressed(const Addr a1, const Addr a2);
bart005dc972008-03-29 14:42:59 +000018void drd_start_tracing_address_range(const Addr a1, const Addr a2);
19void drd_stop_tracing_address_range(const Addr a1, const Addr a2);
20Bool drd_is_any_traced(const Addr a1, const Addr a2);
sewardjaf44c822007-11-25 14:01:38 +000021void drd_suppression_stop_using_mem(const Addr a1, const Addr a2);
22
23
bart005dc972008-03-29 14:42:59 +000024static __inline__
25int range_any_is_traced(const Addr addr, const SizeT size)
26{
27 return (g_any_address_traced && drd_is_any_traced(addr, addr + size));
28}
29
30
sewardjaf44c822007-11-25 14:01:38 +000031#endif // __PUB_CORE_DRD_H