| // Copyright 2016 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | // Thin allocation wrappers for the windows heap. This file should be deleted | 
 | // once the win-specific allocation shim has been removed, and the generic shim | 
 | // has becaome the default. | 
 |  | 
 | #ifndef BASE_ALLOCATOR_WINHEAP_STUBS_H_ | 
 | #define BASE_ALLOCATOR_WINHEAP_STUBS_H_ | 
 |  | 
 | #include <stdint.h> | 
 |  | 
 | namespace base { | 
 | namespace allocator { | 
 |  | 
 | // Set to true if the link-time magic has successfully hooked into the CRT's | 
 | // heap initialization. | 
 | extern bool g_is_win_shim_layer_initialized; | 
 |  | 
 | // Thin wrappers to implement the standard C allocation semantics on the | 
 | // CRT's Windows heap. | 
 | void* WinHeapMalloc(size_t size); | 
 | void WinHeapFree(void* ptr); | 
 | void* WinHeapRealloc(void* ptr, size_t size); | 
 |  | 
 | // Returns a lower-bound estimate for the full amount of memory consumed by the | 
 | // the allocation |ptr|. | 
 | size_t WinHeapGetSizeEstimate(void* ptr); | 
 |  | 
 | // Call the new handler, if one has been set. | 
 | // Returns true on successfully calling the handler, false otherwise. | 
 | bool WinCallNewHandler(size_t size); | 
 |  | 
 | }  // namespace allocator | 
 | }  // namespace base | 
 |  | 
 | #endif  // BASE_ALLOCATOR_WINHEAP_STUBS_H_ |