15d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines//===-- sanitizer_allocator_interface.h ------------------------- C++ -----===//
25d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines//
35d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines//                     The LLVM Compiler Infrastructure
45d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines//
55d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines// This file is distributed under the University of Illinois Open Source
65d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines// License. See LICENSE.TXT for details.
75d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines//
85d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines//===----------------------------------------------------------------------===//
95d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines//
105d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines// Re-declaration of functions from public sanitizer allocator interface.
115d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines//
125d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines//===----------------------------------------------------------------------===//
135d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines
145d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines#ifndef SANITIZER_ALLOCATOR_INTERFACE_H
155d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines#define SANITIZER_ALLOCATOR_INTERFACE_H
165d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines
175d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines#include "sanitizer_internal_defs.h"
185d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines
195d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hinesusing __sanitizer::uptr;
205d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines
215d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hinesextern "C" {
225d71de26cedae3dafc17449fe0182045c0bd20e8Stephen HinesSANITIZER_INTERFACE_ATTRIBUTE
235d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hinesuptr __sanitizer_get_estimated_allocated_size(uptr size);
245d71de26cedae3dafc17449fe0182045c0bd20e8Stephen HinesSANITIZER_INTERFACE_ATTRIBUTE int __sanitizer_get_ownership(const void *p);
255d71de26cedae3dafc17449fe0182045c0bd20e8Stephen HinesSANITIZER_INTERFACE_ATTRIBUTE uptr
265d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines__sanitizer_get_allocated_size(const void *p);
275d71de26cedae3dafc17449fe0182045c0bd20e8Stephen HinesSANITIZER_INTERFACE_ATTRIBUTE uptr __sanitizer_get_current_allocated_bytes();
285d71de26cedae3dafc17449fe0182045c0bd20e8Stephen HinesSANITIZER_INTERFACE_ATTRIBUTE uptr __sanitizer_get_heap_size();
295d71de26cedae3dafc17449fe0182045c0bd20e8Stephen HinesSANITIZER_INTERFACE_ATTRIBUTE uptr __sanitizer_get_free_bytes();
305d71de26cedae3dafc17449fe0182045c0bd20e8Stephen HinesSANITIZER_INTERFACE_ATTRIBUTE uptr __sanitizer_get_unmapped_bytes();
315d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines
325d71de26cedae3dafc17449fe0182045c0bd20e8Stephen HinesSANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
335d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines    /* OPTIONAL */ void __sanitizer_malloc_hook(void *ptr, uptr size);
345d71de26cedae3dafc17449fe0182045c0bd20e8Stephen HinesSANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
355d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines    /* OPTIONAL */ void __sanitizer_free_hook(void *ptr);
365d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines}  // extern "C"
375d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines
385d71de26cedae3dafc17449fe0182045c0bd20e8Stephen Hines#endif  // SANITIZER_ALLOCATOR_INTERFACE_H
39