зеркало из https://github.com/Azure/c-pal.git
71 строка
2.5 KiB
C++
71 строка
2.5 KiB
C++
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
#ifndef GBALLOC_HL_H
|
|
#define GBALLOC_HL_H
|
|
|
|
#ifdef __cplusplus
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#else
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
#endif
|
|
|
|
#include "umock_c/umock_c_prod.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define GBALLOC_LATENCY_BUCKET_COUNT 24
|
|
|
|
typedef struct GBALLOC_LATENCY_BUCKET_METADATA_TAG
|
|
{
|
|
const char* bucket_name;
|
|
uint32_t size_range_low;
|
|
uint32_t size_range_high;
|
|
} GBALLOC_LATENCY_BUCKET_METADATA;
|
|
|
|
typedef struct GBALLOC_LATENCY_BUCKET_TAG
|
|
{
|
|
double latency_avg;
|
|
uint32_t latency_min;
|
|
uint32_t latency_max;
|
|
uint32_t count;
|
|
} GBALLOC_LATENCY_BUCKET;
|
|
|
|
typedef struct GBALLOC_LATENCY_BUCKETS_TAG
|
|
{
|
|
GBALLOC_LATENCY_BUCKET buckets[GBALLOC_LATENCY_BUCKET_COUNT];
|
|
} GBALLOC_LATENCY_BUCKETS;
|
|
|
|
MOCKABLE_FUNCTION(, int, gballoc_hl_init, void*, hl_params, void*, ll_params);
|
|
MOCKABLE_FUNCTION(, void, gballoc_hl_deinit);
|
|
|
|
MOCKABLE_FUNCTION(, void*, gballoc_hl_malloc, size_t, size);
|
|
MOCKABLE_FUNCTION(, void*, gballoc_hl_malloc_2, size_t, nmemb, size_t, size);
|
|
MOCKABLE_FUNCTION(, void*, gballoc_hl_malloc_flex, size_t, base, size_t, nmemb, size_t, size);
|
|
MOCKABLE_FUNCTION(, void*, gballoc_hl_calloc, size_t, nmemb, size_t, size);
|
|
MOCKABLE_FUNCTION(, void*, gballoc_hl_realloc, void*, ptr, size_t, size);
|
|
MOCKABLE_FUNCTION(, void*, gballoc_hl_realloc_2, void*, ptr, size_t, nmemb, size_t, size);
|
|
MOCKABLE_FUNCTION(, void*, gballoc_hl_realloc_flex, void*, ptr, size_t, base, size_t, nmemb, size_t, size);
|
|
MOCKABLE_FUNCTION(, void, gballoc_hl_free, void*, ptr);
|
|
|
|
MOCKABLE_FUNCTION(, size_t, gballoc_hl_size, void*, ptr);
|
|
|
|
MOCKABLE_FUNCTION(, void, gballoc_hl_reset_counters);
|
|
|
|
MOCKABLE_FUNCTION(, int, gballoc_hl_get_malloc_latency_buckets, GBALLOC_LATENCY_BUCKETS*, latency_buckets_out);
|
|
MOCKABLE_FUNCTION(, int, gballoc_hl_get_realloc_latency_buckets, GBALLOC_LATENCY_BUCKETS*, latency_buckets_out);
|
|
MOCKABLE_FUNCTION(, int, gballoc_hl_get_calloc_latency_buckets, GBALLOC_LATENCY_BUCKETS*, latency_buckets_out);
|
|
MOCKABLE_FUNCTION(, int, gballoc_hl_get_free_latency_buckets, GBALLOC_LATENCY_BUCKETS*, latency_buckets_out);
|
|
|
|
MOCKABLE_FUNCTION(, const GBALLOC_LATENCY_BUCKET_METADATA*, gballoc_hl_get_latency_bucket_metadata);
|
|
|
|
MOCKABLE_FUNCTION(, void, gballoc_hl_print_stats);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // GBALLOC_HL_H
|