1//===-- sanitizer_allocator_interface.h ------------------------- C++ -----===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// Re-declaration of functions from public sanitizer allocator interface.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef SANITIZER_ALLOCATOR_INTERFACE_H
15#define SANITIZER_ALLOCATOR_INTERFACE_H
16
17#include "sanitizer_internal_defs.h"
18
19using __sanitizer::uptr;
20
21extern "C" {
22SANITIZER_INTERFACE_ATTRIBUTE
23uptr __sanitizer_get_estimated_allocated_size(uptr size);
24SANITIZER_INTERFACE_ATTRIBUTE int __sanitizer_get_ownership(const void *p);
25SANITIZER_INTERFACE_ATTRIBUTE uptr
26__sanitizer_get_allocated_size(const void *p);
27SANITIZER_INTERFACE_ATTRIBUTE uptr __sanitizer_get_current_allocated_bytes();
28SANITIZER_INTERFACE_ATTRIBUTE uptr __sanitizer_get_heap_size();
29SANITIZER_INTERFACE_ATTRIBUTE uptr __sanitizer_get_free_bytes();
30SANITIZER_INTERFACE_ATTRIBUTE uptr __sanitizer_get_unmapped_bytes();
31
32SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
33    /* OPTIONAL */ void __sanitizer_malloc_hook(void *ptr, uptr size);
34SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
35    /* OPTIONAL */ void __sanitizer_free_hook(void *ptr);
36}  // extern "C"
37
38#endif  // SANITIZER_ALLOCATOR_INTERFACE_H
39