151c0b2f7Stbbdev /*
2*b15aabb3Stbbdev     Copyright (c) 2005-2021 Intel Corporation
351c0b2f7Stbbdev 
451c0b2f7Stbbdev     Licensed under the Apache License, Version 2.0 (the "License");
551c0b2f7Stbbdev     you may not use this file except in compliance with the License.
651c0b2f7Stbbdev     You may obtain a copy of the License at
751c0b2f7Stbbdev 
851c0b2f7Stbbdev         http://www.apache.org/licenses/LICENSE-2.0
951c0b2f7Stbbdev 
1051c0b2f7Stbbdev     Unless required by applicable law or agreed to in writing, software
1151c0b2f7Stbbdev     distributed under the License is distributed on an "AS IS" BASIS,
1251c0b2f7Stbbdev     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1351c0b2f7Stbbdev     See the License for the specific language governing permissions and
1451c0b2f7Stbbdev     limitations under the License.
1551c0b2f7Stbbdev */
1651c0b2f7Stbbdev 
1751c0b2f7Stbbdev #ifndef __TBB_tbbmalloc_internal_api_H
1851c0b2f7Stbbdev #define __TBB_tbbmalloc_internal_api_H
1951c0b2f7Stbbdev 
2051c0b2f7Stbbdev #ifdef __cplusplus
2151c0b2f7Stbbdev extern "C" {
2251c0b2f7Stbbdev #endif /* __cplusplus */
2351c0b2f7Stbbdev 
2451c0b2f7Stbbdev typedef enum {
2551c0b2f7Stbbdev     /* Tune usage of source included allocator. Selected value is large enough
2651c0b2f7Stbbdev        to not intercept with constants from AllocationModeParam. */
2751c0b2f7Stbbdev     TBBMALLOC_INTERNAL_SOURCE_INCLUDED = 65536
2851c0b2f7Stbbdev } AllocationModeInternalParam;
2951c0b2f7Stbbdev 
3051c0b2f7Stbbdev void MallocInitializeITT();
3151c0b2f7Stbbdev void __TBB_mallocProcessShutdownNotification(bool);
3251c0b2f7Stbbdev #if _WIN32||_WIN64
3351c0b2f7Stbbdev void __TBB_mallocThreadShutdownNotification();
3451c0b2f7Stbbdev #endif
3551c0b2f7Stbbdev 
3651c0b2f7Stbbdev #ifdef __cplusplus
3751c0b2f7Stbbdev } /* extern "C" */
3851c0b2f7Stbbdev #endif /* __cplusplus */
3951c0b2f7Stbbdev 
4051c0b2f7Stbbdev #endif /* __TBB_tbbmalloc_internal_api_H */
41