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