PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /usr/src/file_protector-1.1-1584/
Server: Linux ituca148.hostpapavps.net 4.18.0-553.141.2.el8_10.x86_64 #1 SMP Wed Jul 8 10:28:18 EDT 2026 x86_64
IP: 216.7.89.187
Choose File :

Url:
Dir : //usr/src/file_protector-1.1-1584/interval_tree.h

/**
@file     interval_tree.h
@brief    Interval sets based on rbtree
@details  Copyright (c) 2024 Acronis International GmbH
@author   Bruce Wang (bruce.wang@acronis.com)
@since    $Id: $
*/

#include <linux/rbtree.h>
#include <linux/types.h>
#ifdef KERNEL_MOCK
#include <mock/mock_types.h>
#endif

typedef struct
{
    struct rb_root root;
    // The interval_count should be less then the size of file
    uint64_t interval_count;
#ifdef INTERVAL_SET_DEBUG
    uint64_t total_interval_size;
#endif
} interval_set_t;

#ifdef __cplusplus
extern "C"
{
#endif

void clean_interval_tree(interval_set_t *set);
bool insert_interval(uint64_t low, uint64_t high, interval_set_t *set);
bool check_interval(uint64_t low, uint64_t high, interval_set_t *set);

#ifdef __cplusplus
}
#endif